您好我正在使用简单的谷歌地图将api靠近用户的自动取款机。我的客户住在纽约附近,由于一些奇怪的原因,api对那个地方显示零结果,但在我附近工作得很好(巴基斯坦)。我搜索了一下,发现这是谷歌的问题,其他一些地方也遇到了同样的问题。但我从来没有找到任何解决方案。 这是我使用的来电
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=40.7128,74.1059&radius=10000000&keyword=atm&key=MY_KEY
我真的很感激帮助。谢谢:)
答案 0 :(得分:1)
谷歌附近搜索最大距离为50,000米(31英里)。如果您尝试输入超过50,000,则无法正常工作。
还有另一种方法可以查找城市中的所有ATM。谷歌提供文本搜索请求
https://maps.googleapis.com/maps/api/place/textsearch/json?query=atm+in+Reno,NV,89501,USA&key={API_KEY}
query = keyword + in + city Name
使用纬度经度获取城市名称
http://maps.googleapis.com/maps/api/geocode/json?latlng=39.52963,-119.81380&sensor=true
有关如何使用纬度经度获取城市名称的更多信息
https://developers.google.com/maps/documentation/geocoding/start?csw=1#ReverseGeocoding
有关如何使用文本搜索请求的详细信息
https://developers.google.com/places/web-service/search
或(第二种方式)
还有另一种查找城市中所有ATM的方法。
- 这只是我在php中创建的逻辑。
$triggerPoints = array("lat1,long1", "lat2,long2", "lat3,long3",....);
foreeach(triggerPoints as $tP){
$requestUrl = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=$tP&radius=[YOUR_RADIUS_VALUE]&type=[YOUR_TYPE]&name=panera&key=[YOUR_KEY_HERE";
$results = file_get_contents($requestUrl);
//Do what you want with response JSON data
}