谷歌地图地理编码中的地址组件类型

时间:2010-12-23 21:58:44

标签: google-maps geocoding reverse-geocoding

这是我的地理编码代码的一部分。我希望它只显示所选位置的国家,但它显示所有地址组件,我的问题是我无法指定地址组件对象。有一种方法可以写在文档上,但我不明白,你可以为我做。

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

2 个答案:

答案 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