Получить значение вложенного ребенка из XML с помощью jquery - PullRequest
1 голос
/ 08 октября 2010

Я работаю с Google maps v3 и хочу получить краткое название страны, в которой маркер был геокодирован. Но я не могу получить дочернего элемента short_name из xml карт Google. Возвращенный XML, как это: http://code.google.com/intl/hu/apis/maps/documentation/geocoding/#XML

Мне понадобится "US" из этого примера. Это моя функция:

function codeLatLng(latlng) {
  if (geocoder) {
  geocoder.geocode({'latLng': latlng}, function(results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
      var str = '';
      jq.each(results, function(){
        str += this.formatted_address+'|';
      });
      str = str.split('|');
      jq('#address').text(str[0]);
    }
  });
  }
}

Но мне понадобится подшильк "short_name" под седьмым address_component. Спасибо!

Извините за мой английский ...

1 Ответ

0 голосов
/ 28 октября 2010

Вы решили свою проблему?Если нет, попробуйте эту функцию:

function codeLatLng(latlng){
    if (geocoder) {
        geocoder.geocode({
            'location': latlng
        }, function(results, status){
            if (status == google.maps.GeocoderStatus.OK) {
                var str = '';
                var i = 0, len = results.length, loop = true;
                while (i < len && loop) {
                    for (var j = 0, len2 = results[i].address_components.length; j < len2; j++) {
                        if (results[i].address_components[j].types[0] == 'country') {
                            str = results[i].address_components[j].short_name;
                            loop = false;
                            break;
                        }
                    }
                    i++;
                }
                jq('#address').text(str);
            }
        });
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...