我正在使用Google (https://maps.googleapis.com/maps/api/geocode/xml)对地点和地址进行地理编码。然而,结果似乎不一致。administrative_area_level_2和locality或locality与sublocality_level_1似乎重叠。但是,根据地址的不同,重叠是不同的。我需要做的一件事就是决定这个城市。文件指出,该地点相当于一个城市取决于国家。
如果我的地理代码是“Noord-荷兰,Nederland”,这是我得到的一个省:
我能理解。一切看起来都很好..。
如果我的地理代码是“阿姆斯特丹,荷兰”,我得到以下结果:
在这里,我开始不理解结果。为什么阿姆斯特丹既被列为administrative_area_level_2,也被列为地方?也许有一个更高级的政府机构,同名?但是好吧,阿姆斯特丹是地方,所以是城市。这是正确的。
如果我的地理代码是"Anton de Komplein 150,1102 CW阿姆斯特丹,Noord-荷兰,Nederland“,我得到以下结果:
现在我真的不明白了。
有人能解释一下我该怎么解释结果吗?
发布于 2017-12-18 09:59:39
我看过你的例子,我相信这些数据问题应该向谷歌报告。
让我们来解释一下我的发现:
关于“阿姆斯特丹、荷兰、荷兰”的请求
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"
]
}
]
请注意,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"
]
}
所以在这一点上,荷兰版本似乎没有正确的翻译,我们有‘阿姆斯特丹政府’的英语和阿姆斯特丹的荷兰语。这是一个数据问题。顺便说一句,您可以在这里看到行政区划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级--这与我们在第一个例子中所面临的数据问题完全相同--应该翻译成Google侧的“Regering van阿姆斯特丹”。
引用本地组件。很奇怪,阿姆斯特丹-Zuidoost被定义为Google数据库中的位置。我可以在屏幕截图中看到它,它看起来像一个分区:
但是,如果在Geo编码器工具中检查这个特性,它就会清楚地声明这是一个本地特性:
id%3 3DChIJeYirmgYMxkcRRBetjCFkmyQ
注意,速度ID是ChIJeYirmgYMxkcRRBetjCFkmyQ。我相信这也可能是谷歌方面的一个数据问题。
我建议在Google帮助中心向Google数据小组发送反馈:
我希望我的回答能澄清你的疑虑!
https://stackoverflow.com/questions/47376079
复制相似问题