Поиск местоположения с помощью geocoder, но только с использованием city, а не с использованием street

#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; } это должно выполнить проверку, нет?