将用户限制在 google 地点 api 的 5 公里区域内,给定位置纬度

Restrict user in google place api in 5 Km area given location lat lng

我想设置 google 地方自动完成文本框,但我希望用户只看到列出的那些地方,这些地方在设置位置 5 公里以内。我不谈论附近的搜索。我试过 google 地图 API,但显示不正确。 I used this API.

这样请求

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=5000&type=restaurant&keyword=cruise&key=AIzaSyB4sfadiVrHjkVPONVpLTLTwWnCaaWq6ok

有关详细信息,请参阅此 link

您的问题可能是因为您的半径是 500。请尝试将其更改为 5000。

places autocomplete webservice documentation 表示半径应以米为单位。

tl;dr

尝试this link

您可以使用 LatLng 边界 来限制地点的使用

有一个变通方法可以做到这一点,但需要一点点计算

当前位置 + 北向距离 = new LatLngBounds;

currentLocation + south Direction(可能你必须将公里转换为弧度)= new SouthBounds;

并向小部件添加边界

myPlaceAutoComplete.setBounds(northBounds,southBounds)