使用jquery从xml获取子级值

时间:2010-10-08 07:30:43

标签: jquery xml google-maps

我使用谷歌地图v3,我希望得到一个标记被地理编码的国家的简称。但我无法从谷歌地图的xml中获得short_name子孙。 返回的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]);
    }
  });
  }
}

但我需要第7个short_name下的“address_component”子孙。 谢谢!

抱歉我的英文......

1 个答案:

答案 0 :(得分:0)

你解决了问题了吗?如果没有尝试此功能:

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);
            }
        });
    }
}