谷歌地图地理编码 - 没有街道号码?

时间:2011-11-26 09:43:50

标签: google-maps google-maps-api-3

这会产生一个包含street_number - http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=false

的JSON字符串
"long_name" : "1600",
"short_name" : "1600",
"types" : [ "street_number" ]

但是,这不会导致包含street_number - http://maps.googleapis.com/maps/api/geocode/json?address=26th+St+2nd+Ave+New+York,+NY+10019&sensor=false的JSON字符串。 26th St部分似乎消失了。知道为什么吗?

3 个答案:

答案 0 :(得分:1)

地理编码通常是非确定性的。虽然不常见,但同一查询可能会返回不同精度的结果,具体取决于地理编码过程内部实施的变化。

另一个问题是某些地方可能没有街道地址,或者算法无法接近一个地址。

您应该了解这些因素并处理所有这些不同的情况。我想您无法从您这边做任何事情来确保谷歌服务器的一致回复。

答案 1 :(得分:0)

显然因为26th St部分不是street_number。 26th St2nd Ave都是街道名称,因此它只会丢弃26th St部分查询。虽然在第一个查询中1600实际上是一个street_number。

答案 2 :(得分:0)

街道号有时被丢弃的另一种情况是它有一个方向性前缀,如315 West 44th Street。在这种情况下,如果前缀缩写,结果可以更准确,如315 W 44th Street。虽然我没有看到这个记录,但我看到的每个谷歌地图都以这种方式缩写了方向,所以也许地址以内部方式存储,并且通过在地理编码之前缩写来提高结果的可能性。