我们正在使用Google Maps API搜索以对地址进行地理编码。 问题是没有办法将API请求地址字段分解为其组件。
{
address: string,
location: LatLng,
placeId: string,
bounds: LatLngBounds,
componentRestrictions: GeocoderComponentRestrictions,
region: string
}
因为我们无法将其分解为
{
city: city
street: street
...
}
我们得到的结果很奇怪,例如" XX MyStreet st。,MyCity"
返回结果,其中MyCity是县,城市是完全不同的城市。
有没有办法将Google地图标记为" MyCity"是一个城市,而不是一个县。
答案 0 :(得分:2)
我已经看过你的样本地址' Lilach 27,Beer Sheva,Israel'。我们在Geocoder工具中查看它:
正如您所看到的,这个地址显然位于Omer所在地。因此,地址组件locality = Omer
似乎在这里是正确的。
http://maps.google.com/maps?cid=0x1502676f35a89239:0xd3092fa77576ecf6
请参阅administrative_area_level_2 = Be'er Sheva
,请注意Google的管理区域中包含此名称,您可以在此处查看
http://maps.google.com/maps?cid=0x1501934b23af369b:0x31b08b946bdd4342
所以,此时看起来响应是正确的。
如果您认为行政区域应该有其他名称或地址应位于不同的地方,请{GS} send feedback。另请注意,地理编码器中的结果类型为RANGE_INTERPOLATED
,地点ID为EiHXnNeZ15zXmiAyNywg16LXldee16gsINeZ16nXqNeQ15w
。通常这些以E开头的地点ID意味着该地址不存在于数据库中并被插值。您可以在帮助中心后向Google报告丢失的地点:
https://support.google.com/maps/answer/6320846
我希望我的回答能澄清你的怀疑!