Google 个地点 API 个未返回结果

Google Places API Not Returning Results

我正在使用 Places API 并且很难收到回复。

这是一个使用名称 Google

的示例查询

https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=Google&inputtype=textquery&fields=photos,formatted_address,name,rating,opening_hours,geometry&key=key

returns :

{
    candidates: [ ],
    status: "ZERO_RESULTS"
}

但是如果我这样做:

https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=Museum%20of%20Contemporary%20Art%20Australia&inputtype=textquery&fields=photos,formatted_address,name,rating,opening_hours,geometry&key=key

我得到结果

也许我做错了什么?我刚刚启用了我的账单,因为它说我的帐户由于没有账单而超出了限制。

不确定如何进行。

我不确定你是否会喜欢我的回答,但我还是要提出来。

第一个 link 只是搜索 Google 并且很明显(并且不知道具体细节)搜索范围太广以便引擎提出适当的位置列表。

如果您搜索“Google澳大利亚”、“Google亚洲”或“Google America" 然后你会得到一个答案,很明显它正在寻找一个更具体的搜索文本来使用。

您自己可以看到,当您指定 Museum of Contemporary Art, Australia 时,您会得到答案,但仅搜索 Museum 不会产生任何结果结果又是因为它太宽泛了。但是,搜索 Museum Melbourne 会得到 2 个结果。

现在,说了这么多,您可以只搜索 Google,但如果您想要 return 结果,则需要提供一些位置信息。请参阅 doco 中的 locationbias 参数以了解如何执行此操作。

下面的例子使用了我的 IP 地址...

https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=Google&inputtype=textquery&fields=photos,formatted_address,name,rating,opening_hours,geometry&locationbias=ipbias&key=YOUR_KEY

我注意到使用圆半径 selects 最近的地方(我用 Hospital 测试)到半径的边缘,而不是半径内的所有地方.

这是直接来自 doco ...

另一种搜索方式是通过 NearBySearch 方法,而不是文本搜索,尤其是当您正在寻找特定类型的业务并且也在特定半径范围内时,不仅仅是最接近半径的边缘。

这个例子...

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-37.814,144.96332&radius=1500&type=hospital&key=YOUR_KEY

... return 全部 "hospitals"(松散术语)在经纬度(在本例中为墨尔本)1500 米半径范围内。如果需要,您还可以将关键字添加到搜索中。对于您想要的,这实际上可能是更好的方法,但您可以自己做出决定。

这个例子...

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-37.814,144.96332&radius=50000&keyword=google&key=YOUR_KEY

... returns 墨尔本半径 50 公里内所有引用 Google 一词的地方。要缩小结果范围,请将 type 过滤器添加到仅 select 您想要的机构类型,就像医院示例一样。

查看此 link 了解所有受支持的类型...

https://developers.google.com/places/web-service/supported_types

不确定这是否是您想要的,但希望对您有所帮助。