Google Places API不一致

问题描述:

添加预期类型参数会以意外的方式更改响应结果。Google Places API不一致

请求1:https://maps.googleapis.com/maps/api/place/search/json?location=38.4551,-122.672045&radius=100&sensor=false&key=

请求2:https://maps.googleapis.com/maps/api/place/search/json?location=38.4551,-122.672045&radius=100&sensor=false&types=park&key=

两个请求应名返回的地方: “豪沃思公园”,因为它是一类园。而有趣的是,增加radius = 500将带来预期的结果。但是,它是如何在没有类型参数和相同半径的情况下首先将其返回?

这是由于Google Places API处理搜索请求的方式。

Places API将在指定半径范围内返回多达20个建立结果。此外,区域识别结果可能会返回以帮助识别该机构所在的区域。

如果没有类型已经在Places API的搜索请求中指定,这些区域标识导致严格限制在请求中指定半径,然而,当已经指定了类型,额外面积身份导致严格限于请求中指定的半径。