Pet*_*ijn 5 google-maps google-maps-api-3
我使用Google Maps API(https://maps.googleapis.com/maps/api/geocode/xml)对地点和地址进行地理编码.但是,结果似乎不一致.administrative_area_level_2和locality或locality和sublocality_level_1似乎重叠.但是,根据地址,重叠是不同的.我需要做的一件事就是确定城市.文件说明该地区相当于一个城市,具体取决于国家.
如果我对"Noord-Holland,Nederland"进行地理编码,这是我得到的一个省:
我能够了解.一切似乎都很好......
如果我对"Amsterdam,Noord-Holland,Nederland"进行地理编码,我会得到以下结果:
在这里,我开始不理解结果.为什么阿姆斯特丹被列为administrative_area_level_2以及一个地方?也许有更高的政府机构同名?但是好的,阿姆斯特丹是当地,因此是城市.哪个是对的.
如果我对"Anton de Komplein 150,1102 CW Amsterdam,Noord-Holland,Nederland"进行地理编码,我会得到以下结果:
现在我真的不明白.
有人可以解释我应该如何解释结果吗?
我已经查看了您的示例,我认为这些是应该向Google报告的数据问题.
让我们解释一下我的发现:
要求'阿姆斯特丹,北荷兰,荷兰'
https://maps.googleapis.com/maps/api/geocode/json?address=Amsterdam%2C%20Noord-Holland%2C%20Nederland&key=MY_API_KEY
为我返回以下地址组件
"address_components":[
{
"long_name":"Amsterdam",
"short_name":"Amsterdam",
"types":[
"locality","political"
]
},
{
"long_name":"Government of Amsterdam",
"short_name":"Government of Amsterdam",
"types":[
"administrative_area_level_2","political"
]
},
{
"long_name":"North Holland",
"short_name":"NH",
"types":[
"administrative_area_level_1","political"
]
},
{
"long_name":"Netherlands",
"short_name":"NL",
"types":[
"country","political"
]
}
]
Run Code Online (Sandbox Code Playgroud)
请注意,administrative_area_level_2的名称为"阿姆斯特丹政府".我知道您可能正在使用荷兰语来获得结果
https://maps.googleapis.com/maps/api/geocode/json?address=Amsterdam%2C%20Noord-Holland%2C%20Nederland&language=nl&key=MY_API_KEY
在这种情况下,我有:
{
"long_name":"Amsterdam",
"short_name":"Amsterdam",
"types":[
"locality","political"
]
},
{
"long_name":"Amsterdam",
"short_name":"Amsterdam",
"types":[
"administrative_area_level_2","political"
]
}
Run Code Online (Sandbox Code Playgroud)
所以在这一点上看起来荷兰语版本没有正确翻译,我们有英语的"阿姆斯特丹政府"和荷兰语的"阿姆斯特丹".这是一个数据问题.顺便说一句,您可以在此处查看管理区域级别2:
第二个例子有点复杂.
https://maps.googleapis.com/maps/api/geocode/json?address=Anton%20de%20Komplein%20150%2C%201102%20CW%20Amsterdam%2C%20Noord-Holland%2C%20Nederland&key=MY_API_KEY
首先,您应该知道,对于街道地址级搜索,您将获得本地语言的地址组件和格式化地址,如街道地址本地化文章中所述.因此,无论我们指定英语或荷兰语是什么语言,我们都会将阿姆斯特丹视为行政区域2级,这与我们在第一个示例中遇到的数据问题完全相同,它应该被翻译为"Regering van Amsterdam"谷歌方面.
参考地点组件.阿姆斯特丹 - 祖伊多斯特被定义为谷歌数据库中的地方非常奇怪.我可以看到它如屏幕截图所示,它看起来像一个sublocality:
但是,如果您在地理编码器工具中检查此功能,则会明确指出这是一个位置功能:
请注意,步速ID为ChIJeYirmgYMxkcRRBetjCFkmyQ.我相信这也可能是Google方面的数据问题.
我建议您在Google地图帮助中心之后向Google数据小组发送反馈:
https://support.google.com/maps/answer/3094045?hl=en&ref_topic=3093612
我希望我的回答能澄清你的疑惑!