这是我的地理编码代码的一部分。我希望它只显示所选位置的国家,但它显示所有地址组件,我的问题是我无法指定地址组件对象。有一种方法可以写在文档上,但我不明白,你可以为我做。
if (geocoder) {
geocoder.geocode({'latLng': latlng}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var str = "";
$.each(results, function(){
str += "address components: <ul>"
$.each(this.address_components, function(){
str +="<li>"+this.types.join(", ")+": "+this.long_name+"</li>";
});
str +="</ul>";
});
$("#geocode_info").html(str);
答案 0 :(得分:3)
我猜你只需要来自回应的国家。
需要一些工作。需要解析json的国家名称。
请尝试以下地理编码响应。
for(var addComponent in json.results[0].address_components){
var component = json.results[0].address_components[addComponent];
for(typeIndex in component.types ){
if(component.types[typeIndex]=='country') {
console.log(component.long_name);
}
}
}
答案 1 :(得分:0)
您可能需要仔细检查您的代码,现在某些地址组件上似乎缺少该类型。
http://maps.google.com/maps/api/geocode/xml?address=3000+Australia&sensor=false