Google Places API未返回结果

时间:2019-04-28 04:11:44

标签: google-api google-places-api

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

我得到结果

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

不确定如何进行。

1 个答案:

答案 0 :(得分:4)

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

第一个链接只不过是搜索 Google 而已,显然(而且也不知道具体细节),搜索范围太广,引擎无法提供合适的地点列表。

如果您搜索“ Google澳大利亚”,“ Google亚洲”或“ Google America ”,那么您会得到如此清晰的答案它正在寻找更适合的搜索文字。

您会发现,当您指定澳大利亚当代艺术博物馆时,您会得到答案,但仅搜索博物馆不会产生任何结果,因为它又太宽泛了。但是,搜索墨尔本博物馆会得到2条结果。

现在,说了这么多,您可以只搜索 Google ,但如果要返回结果,则需要提供一些位置信息。有关如何操作,请参见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

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

这个例子...

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

不确定是不是您要的东西,但希望对您有所帮助。