Google Places API Web Service 的结果与 Geocode API 不同



使用以下地址时:

"107-25大陆大道森林山NY 11375">

我得到两个不同的门牌号。

这是为什么呢?

谷歌地图地理编码接口

获取 https://maps.googleapis.com/maps/api/geocode/json?address=

返回

"address_components" : [
{
"long_name" : "107-12",
"short_name" : "107-12",
"types" : [ "street_number" ]
},
{
"long_name" : "Continental Avenue",
"short_name" : "Continental Ave",
"types" : [ "route" ]
},
{
"long_name" : "Forest Hills",
"short_name" : "Forest Hills",
"types" : [ "neighborhood", "political" ]
},
{
"long_name" : "Queens",
"short_name" : "Queens",
"types" : [ "political", "sublocality", "sublocality_level_1" ]
},
{
"long_name" : "Queens County",
"short_name" : "Queens County",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "New York",
"short_name" : "NY",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "United States",
"short_name" : "US",
"types" : [ "country", "political" ]
},
{
"long_name" : "11375",
"short_name" : "11375",
"types" : [ "postal_code" ]
}
],
"formatted_address" : "107-12 Continental Ave, Forest Hills, NY 11375, USA",

在 上使用相同的地址时

Google Places API Web Service

得到 https://maps.googleapis.com/maps/api/place/js/PlaceService.GetPlaceDetails?

返回:

"address_components" : [
{
"long_name" : "107",
"short_name" : "107",
"types" : [ "street_number" ]
},
{
"long_name" : "Continental Avenue",
"short_name" : "Continental Ave",
"types" : [ "route" ]
},
{
"long_name" : "Forest Hills",
"short_name" : "Forest Hills",
"types" : [ "neighborhood", "political" ]
},
{
"long_name" : "Queens",
"short_name" : "Queens",
"types" : [ "sublocality_level_1", "sublocality", "political" ]
},
{
"long_name" : "Queens County",
"short_name" : "Queens County",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "New York",
"short_name" : "NY",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "United States",
"short_name" : "US",
"types" : [ "country", "political" ]
},
{
"long_name" : "11375",
"short_name" : "11375",
"types" : [ "postal_code" ]
}
]

除了简要提到的内容之外,两个不同的输出 - 我们实际上是在谈论一个可以忽略不计的数值,无论如何都不会影响结果 - 表明这两个 API 旨在解决不同的目的。

地理编码是关于将人类可读的地址转换为数字坐标,它应该用于完整/明确的地址。请注意 ROOFTOPS 返回结果的精度。我们在这里看到的误差为 ~0.11 米。

这就像问谷歌:">嘿谷歌,给我这个字符串最相关的地址">

将 API 置于对比中...(对于许多人来说,这可能不是那么明显)

允许您查询各种类别的地点信息, 如:场所、突出兴趣点、地理 位置等等

这就像问:">嘿谷歌,这里有一个字符串,返回这些类别中的所有内容等等"。换句话说,这就像接收了一锅混合了所有东西......

与直觉相反,我们可以推断出传递给 Places API 的字符串中一定有一些东西,使服务器将连字符后面的第二个数字变成"略微"不同的数字,然后返回它。

最新更新