2017-03-29 83 views
2

你好,我使用簡單的谷歌地圖的地方API靠近atms爲用戶。我的客戶住在紐約附近,出於某種奇怪的原因,api顯示該地點的結果爲零,但在我附近(巴基斯坦)工作良好。我搜索了一下,發現這是谷歌的問題,其他一些地方也遇到了同樣的問題。但我從來沒有找到任何解決方案。 這是我撥打的電話谷歌地方api不顯示結果的一些地方

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=40.7128,74.1059&radius=10000000&keyword=atm&key=MY_KEY 

我真的很感謝你的幫助。謝謝:)

回答

1

谷歌地點附近搜索最大50000米(31英里)。如果您嘗試輸入超過5萬個,則無法正常工作。

還有一種方法可以查找城市中的所有ATM。谷歌提供文本搜索使用經緯度

http://maps.googleapis.com/maps/api/geocode/json?latlng=39.52963,-119.81380&sensor=true 

欲瞭解更多信息,如何讓城市名的請求

https://maps.googleapis.com/maps/api/place/textsearch/json?query=atm+in+Reno,NV,89501,USA&key={API_KEY} 

查詢=關鍵字+在+城市名稱

爲獲取城市名使用緯度經度

https://developers.google.com/maps/documentation/geocoding/start?csw=1#ReverseGeocoding

有關如何使用文本搜索的更多信息請

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

OR(第二種方法)

還有另一種方式找到一個城市的所有ATM。

  • 打開Goog​​le地圖。
  • 創建10-12個點或更多點的緯度,經度值來觸發 請求。
  • 然後使用循環找到這些點內的所有地方。
  • 如果您想要更合適的結果,請爲您的請求增加第一個觸發點 。

- 這只是我在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 

    }