Google Places API未返回结果

问题描述 投票:2回答:1

我正在使用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

回报:

{
    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

我得到了结果

也许我做错了什么?我刚启用了结算功能,因为它说我的帐户因没有结算而超出限额。

不知道如何继续。

google-api google-places-api
1个回答
4
投票

我不确定你是否会喜欢我的答案,但无论如何我都会提出来。

第一个链接只是搜索谷歌并且清楚地(并且也不知道具体细节),搜索范围太广,引擎无法提供适当的地点列表。

如果您搜索“Google Australia”,“Google Asia”或“Google America”,那么您将得到一个答案,因此它正在寻找更具体的搜索文本。

您可以看到自己,当您指定澳大利亚当代艺术博物馆时,您会得到一个答案,但只搜索博物馆产生的结果没有结果,因为它太宽泛了。但是,搜索墨尔本博物馆会得到2个结果。

现在,说了所有这些,你可以只搜索谷歌,但如果你想要它返回结果,你需要提供一些位置信息。请参阅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

Test Results

我注意到使用圆弧半径选择最接近半径边缘的位置(我用医院测试过),而不是半径内的所有位置。

这是直接从doco ...

Documentation

搜索事物的另一种方法是通过NearBySearch方法而不是文本搜索,特别是如果您正在寻找特定类型的业务并且也在特定半径内,而不仅仅是最接近半径边缘。

这个例子......

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

...返回纬度为1500米半径范围内的所有“医院”(宽松术语)(在本例中为墨尔本)。如果需要,您还可以在搜索中添加关键字。这实际上可能是您想要的更好的方法,但您可以自己做出决定。

这个例子......

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

...返回所有在墨尔本半径50公里范围内引用Google一词的地方。要缩小结果范围,添加一个type过滤器,只选择您想要的那些类型的机构,就像医院的例子。

有关所有支持的类型,请参阅此链接...

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

不确定这是不是你想要的,但我希望它有所帮助。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.