从地理编码器服务中读取响应结果,我得到的国家/地区代码不在同一个地方。如何使用简单的JavaScript代码从DOM获取国家/地区代码而不使用外部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);
}
});
}
答案 0 :(得分:3)
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);
}
}
});
答案 1 :(得分:2)
address_components
数组的每个元素本身都是一个包含types
元素的数组,该元素也是一个数组。您希望找到address_components
的元素,其中types
数组包含值“country”作为其元素之一。如果不清楚我写的是什么,请参阅http://code.google.com/apis/maps/documentation/geocoding/处的示例JSON响应。