Типы компонентов адреса gmaps получают название страны - PullRequest
3 голосов
/ 06 июня 2010

Я пытаюсь получить название страны, используя типы компонентов адреса, доступные в gmaps V3.

Я не знаю, как я могу получить это правильно ... http://code.google.com/apis/maps/documentation/javascript/services.html#GeocodingAddressTypes

Я пытаюсь предупредить название страны здесь:

оповещения (результаты [1] .address_component [страна]);

и вот код .. любая помощь очень ценится .. спасибо

  function codeLatLng() {
    var input = document.getElementById("latlng").value;
    var latlngStr = input.split(",",2);
    var lat = parseFloat(latlngStr[0]);
    var lng = parseFloat(latlngStr[1]);
    var latlng = new google.maps.LatLng(lat, lng);
    if (geocoder) {
      geocoder.geocode({'latLng': latlng}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
          if (results[1]) {
          alert(results[1].address_component[country]);
          } else {
            alert("No results found");
          }
        } else {
          alert("Geocoder failed due to: " + status);
        }
      });
    }
  }

1 Ответ

5 голосов
/ 08 июня 2010

Вам нужно перебрать массив address_component , чтобы найти запись с типом "страна". Так что-то вроде:

// this is just looking at the first result - > results[0]
for (var i = 0; i < results[0].address_components.length; i++)
{
    var addr = results[0].address_components[i];
    // check if this entry in address_components has a type of country
    if (addr.types[0] == "country") 
        alert (addr.long_name);
}
...