#javascript #maps #geocode
#javascript #Карты #геокодирование
Вопрос:
например:
var city, country;
geocoder.geocode(
{'address': city ', ' country}, function(results, status) {}
);
проблема в том, что var city
неверен и является случайным названием улицы (в случайном городе)
он помещает это местоположение в результаты, но мне нужны только города…
Есть ли способ использовать geocode()
только для поиска по городу?
Комментарии:
1. откуда вы берете var city?
2. похоже, вам следует устранить проблему неправильного ввода. Пример кода не показывает нам, где определено значение.
Ответ №1:
//get address info such as city and state from lat and long
geocoder.geocode({'latLng': latlng}, function(results, status)
{
if (status == google.maps.GeocoderStatus.OK)
{
//break down the three dimensional array into simpler arrays
for (i = 0 ; i < results.length ; i)
{
var super_var1 = results[i].address_components;
for (j = 0 ; j < super_var1.length ; j)
{
var super_var2 = super_var1[j].types;
for (k = 0 ; k < super_var2.length ; k)
{
//find city
if (super_var2[k] == "locality")
{
//put the city name in the form
main_form.city.value = super_var1[j].long_name;
}
//find county
if (super_var2[k] == "administrative_area_level_2")
{
//put the county name in the form
main_form.county.value = super_var1[j].long_name;
}
//find State
if (super_var2[k] == "administrative_area_level_1")
{
//put the state abbreviation in the form
main_form.state.value = super_var1[j].short_name;
}
}
}
}
}
Комментарии:
1. У меня есть строка ввода (= var city), и я должен найти этот город. но если кто-то вводит улицу в поле ввода, это не должно дать никаких результатов, но я не могу проверить, является ли строка улицей или городом… но если я проверю это: if(city == super_var1[j].long_name) { do stuff; } это должно выполнить проверку, нет?