谷歌地理编码器缺少地址组件类型

4

我目前在使用Google Geocoder时遇到了困难。如果我根据地址查询“纽约市,纽约州”,我会得到结果,其中结果的类型为“types”:[“locality”,“political”],但是在address_components中没有城市。如果我查询“Tempe, AZ”,同样的情况。如果我搜索一个州,types是administrative_area_level_1,但是在address_compenents中只给出了国家。您有什么想法吗?

var geocoder = new google.maps.Geocoder();
geocoder.geocode({'address': "New York City, NY"}, function(results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
         //do stuff
    } else {
        console.log("Geocode was not successful for the following reason: " + status);
    }

我搜索"纽约市,纽约州"的结果

[{"address_components":[{"long_name":"New York","short_name":"NY","types":["administrative_area_level_1","political"]},{"long_name":"United States","short_name":"US","types":["country","political"]}],"formatted_address":"New York, USA","geometry":{"bounds":{"south":40.4773991,"west":-74.25908989999999,"north":40.9175771,"east":-73.7002721},"location":{"lat":40.7127837,"lng":-74.00594130000002},"location_type":"APPROXIMATE","viewport":{"south":40.4960439,"west":-74.2557349,"north":40.9152555,"east":-73.7002721}},"place_id":"ChIJOwg_06VPwokRYv534QaPC8g","types":["locality","political"]}]

我很困惑为什么它告诉我这是城市类型(locality),但缺少locality属性。我期望locality会和"New York"的值一起出现,而且格式化后的地址中也包括locality。谢谢!

1
你在问什么?你对“地点”有什么期望?类型为 ["locality","political"] 的结果是“纽约”,该州的长名称为“纽约”或简称为“NY”。 - geocodezip
2
我想知道为什么在搜索纽约市时,地区属性会丢失? - Robert Garcia
1
我编辑了原始内容以展示我的结果。 - Robert Garcia
1
我得到的第一个address_component是{"long_name": "New York","short_name": "New York","types": ["locality","political"]}(在此页面上),与您发布的内容不同,可能是回复您请求的服务器出了问题(或者正在推出或回滚损坏的版本)。 - geocodezip
1
不是我的问题。第一个条目是:{"long_name" : "拉斯维加斯","short_name" : "拉斯维加斯","types" : [ "locality", "political" ]},这意味着它是服务器特定的;你从获取数据的服务器正在做一些与我获取数据的服务器不同的事情。有时会发生这种情况,通常是因为 Google 在进行更改。 - geocodezip
显示剩余12条评论
1个回答

5

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接