我正在使用angular-maps处理Google地理编码API。
我发现对于地图上的某些地方,我们没有获得实际的城市名称,而是在地址组件的locality
部分中获取了子地区名称。
请查看下面这种情况的示例。我得到Kesklinna
部分的值locality
,其中城市名称应为Tallinn
。
[
{
"long_name":"1",
"short_name":"1",
"types":[
"street_number"
]
},
{
"long_name":"Suur Rannavärav",
"short_name":"Suur Rannavärav",
"types":[
"route"
]
},
{
"long_name":"Kesklinn",
"short_name":"Kesklinn",
"types":[
"political",
"sublocality",
"sublocality_level_1"
]
},
{
"long_name":"Kesklinna",
"short_name":"Kesklinna",
"types":[
"locality",
"political"
]
},
{
"long_name":"Harju maakond",
"short_name":"Harju maakond",
"types":[
"administrative_area_level_1",
"political"
]
},
{
"long_name":"Estonia",
"short_name":"EE",
"types":[
"country",
"political"
]
},
{
"long_name":"10414",
"short_name":"10414",
"types":[
"postal_code"
]
}
]
如果我们将标记放在离这个地方大约100米的地方,我会得到正确的城市Tallinn
。
[
{
"long_name":"10",
"short_name":"10",
"types":[
"street_number"
]
},
{
"long_name":"Rannamäe tee",
"short_name":"Rannamäe tee",
"types":[
"route"
]
},
{
"long_name":"Kesklinn",
"short_name":"Kesklinn",
"types":[
"political",
"sublocality",
"sublocality_level_1"
]
},
{
"long_name":"Tallinn",
"short_name":"Tallinn",
"types":[
"locality",
"political"
]
},
{
"long_name":"Harju maakond",
"short_name":"Harju maakond",
"types":[
"administrative_area_level_1",
"political"
]
},
{
"long_name":"Estonia",
"short_name":"EE",
"types":[
"country",
"political"
]
},
{
"long_name":"10133",
"short_name":"10133",
"types":[
"postal_code"
]
}
]
这是谷歌地图地理编码器上的某种错误吗?或者这是预期的吗? 如何从标记位置确定正确的城市名称?
答案 0 :(得分:0)
这听起来像是一个数据问题。在Google地图中查看塔林的边界
第一个地址显然位于塔林的多边形
内我试图找到一个名为Kesklinna的地方,但它不存在
只有具有名称Kesklinn的sublocality构成塔林市的一部分
这表明地址'SuurRannavärav1,Kesklinna,Estonia'已被打破。
您可以使用地图右下角的发送反馈链接向Google报告错误数据。
作为一种解决方法,您可以使用反向地理编码以及地址和结果类型位置的坐标
NDK r10
这将按预期返回'爱沙尼亚塔林'。
我希望这有帮助!