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

发布于 2024-10-08 20:40:00 字数 786 浏览 9 评论 0原文

这是我的地理编码代码的一部分。我希望它仅显示所选地点的国家/地区,但它显示所有地址组件,我的问题是我无法指定地址组件对象。有一种方法写在文档上,但我不明白,你能为我做一下吗?

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

this is a part of my geocoding code. I want it to show only country of the selected place, but it shows all address components, My problem is I cant specify the address components object. There is a way of doing it that is written on documentation but I didnt understand, can you do it for me.

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

仅冇旳回忆 2024-10-15 20:40:00

我猜你只需要来自回复的国家。
需要一些工作。需要解析国家/地区名称的 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);
        }
    }   
}

I guess you need only country from the response that comes.
Need some work.Need to parse the json for country name.
Try following for geocoding response.

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);
        }
    }   
}
烟雨凡馨 2024-10-15 20:40:00

您可能需要仔细检查您的代码,现在某些地址组件上似乎缺少该类型。

http://maps.google.com/maps /api/geocode/xml?address=3000+澳大利亚&sensor=false

You may want to double check your code, the type now appears to be missing on some address components.

http://maps.google.com/maps/api/geocode/xml?address=3000+Australia&sensor=false

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文