Получение кода страны из ответа в геокодере - PullRequest
0 голосов
/ 16 июля 2011

Читая результаты ответа от службы геокодера, я получаю код страны не в том же месте. Как получить код страны из DOM, используя простой код JavaScript и не используя внешнюю библиотеку JSON?

var latlng = new google.maps.LatLng(iplat, iplong);
    if (geocoder) {
        geocoder.geocode({'latLng': latlng},function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            if (results[1]) {
                country_code=results[1].address_components[0].short_name;
            }
        } 
        else 
        {
          alert("Geocoder failed due to: " + status);
        }
    });
}

Ответы [ 2 ]

3 голосов
/ 24 ноября 2012
        geocoder.geocode({'latLng': latlng}, function(results, status){
            if (status == google.maps.GeocoderStatus.OK){
                if (results[1]) {
                    for (var i=0; i<results[0].address_components.length; i++) {
                    for (var b=0;b<results[0].address_components[i].types.length;b++) {

                    if (results[0].address_components[i].types[b] == "country") {
                        //this is the object you are looking for
                        country= results[0].address_components[i];  
                        break;
                    }
                    }
                    }
                     //alert(country.short_name);
                }
            }
        });
2 голосов
/ 18 июля 2011

Каждый элемент массива address_components сам по себе является массивом, который содержит элемент types, который также является массивом.Вы хотите найти элемент address_components, который имеет массив types, который содержит значение "страна" в качестве одного из его элементов.Посмотрите пример ответа JSON по адресу http://code.google.com/apis/maps/documentation/geocoding/, если неясно из того, что я написал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...