Google地图详细信息端点未返回street_number

时间:2018-01-24 01:23:42

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

我目前正在调用google地图自动完成API,并且正在回复美国华盛顿州Mercer Island 396芒果街的描述以及一个E_IzOTYgbWFuZ28gU3RyZWV0LCBNZXJjZXIgSXNsYW5kLCBXQSwgVW5pdGVkIFN0YXRlcw

的place_id

但是当我把那个place_id传递给详细信息端点时,即使自动完成端点显示街道号码,我回来的JSON也没有显示street_number。

有谁知道为什么详细信息端点会返回比自动完成端点更少的详细信息?

自动完成请求 https://maps.googleapis.com/maps/api/place/autocomplete/json?key=YOUR_GOOGLE_API_KEY_HERE&input=396%20Mango%20Street,%20Mercer%20Island&types=address

详情请求 https://maps.googleapis.com/maps/api/place/details/json?key=YOUR_GOOGLE_API_KEY_HERE&placeid=EjIzOTYgbWFuZ28gU3RyZWV0LCBNZXJjZXIgSXNsYW5kLCBXQSwgVW5pdGVkIFN0YXRlcw

2 个答案:

答案 0 :(得分:1)

谷歌可能缺少数据,事实上我重新创建了你的问题,我发现芒果街是一条非常小的街道(可能不是很知名的街道),并且发现实际上他们有相同的id或位置整条街,(我的意思是,我尝试过很多查询,例如04芒果街,200芒果街,400芒果街,他们都指出了完全相同的位置)。

另一个红色标志是long place_id,有时表示插值所以不太可靠(因为你可以看到place_id可以采用这两种方式https://developers.google.com/places/place-id#id-overview

解决方案: 如果这对您非常重要,您可以在问题跟踪器中与Google联系并解释您的案例,以便他们更正数据。 https://issuetracker.google.com

您可以在此处阅读有关您的问题:https://issuetracker.google.com/issues/35823492

答案 1 :(得分:1)

我在谷歌上开了一张票,他们把它标记为下面的副本。以下是重复票证的文字。

720 Johnsville Boulevard的自动填充请求返回地址ID Ejc3MjAgSm9obnN2aWxsZSBCb3VsZXZhcmQsIFdhcm1pbnN0ZXIsIFBBLCBVbml0ZWQgU3RhdGVz。

当我使用地理编码服务检查此地点ID时 https://maps.googleapis.com/maps/api/geocode/json?place_id=Ejc3MjAgSm9obnN2aWxsZSBCb3VsZXZhcmQsIFdhcm1pbnN0ZXIsIFBBLCBVbml0ZWQgU3RhdGVz&key=

我可以看到结果的类型为GEOMETRIC_CENTER。这意味着在我们的数据库中没有700 Johnsville Boulevard的ROOFTOP地址。

自动填充服务通常会允许用户输入已知的数字。我们接受您在我们做之前可能知道720,并且我们不会因为它与我们的数据不匹配而停止接受该输入。但是,我们的输出将基于我们所知道的地址,因此我们只返回" Johnsville Boulevard"因为那是我们所知道的地址。

您可以使用地图制作工具创建缺少的地址。 Google MapMaker(http://mapmaker.google.com)是一种工具,允许公众用户在Google上添加,修改和删除Geo存储库中的数据。地图制作工具旨在帮助我们从当地知识的人那里收集有关地点和地理特征的信息。

您可以阅读有关地图制作工具的信息 https://support.google.com/mapmaker#topic=3180752

自动填充服务目前正在按预期工作,通过地图制作工具添加街道地址将在未来解决您的问题。