2012-12-25 18 views
24

我試圖找到所有「餐館」或「保險機構」,例如,在一個城市或國家。好吧,也許一個國家太寬泛,但主要是大城市。如何使用Google Places API在一個城市或國家/地區獲取所有地點(或餐館等特定類型的地點)?

我使用的是Google Places API和python,但是我看到您只能使用「radius」參數或「rankby = distance」。問題是,根據文檔,我相信每個查詢只能在3頁或60個結果中返回20個結果(如果我錯了,請糾正我)。因此,如果我想在紐約找到所有的餐館,我將不得不從中心開始,或者設置「rankby = distance」,以便在給定的範圍內給出我最接近的60個結果。但後來我不知道我的下一個查詢會是什麼...

任何想法如何去做到這一點?

回答

28

不幸的是,您無法從Google Places API獲得超過60個結果;至少在沒有破的服務條款:

除非你事先收到書面 授權,谷歌(或(如適用)從 特定內容的提供者),你不得:(d)使用該產品在給你或任何其他人獲得大量下載或批量 飼料的任何內容,包括但不限於數字緯度 或經度座標,圖像的方式 ,可見地圖數據

而且,因爲你可以閱讀here

這在很大程度上是授權問題。但是,這也是因爲Places API的目標 不是爲了方便您按照您描述的方式抓取或彙總Google地方信息數據。 的任何應用程序幾乎肯定不符合Google Maps或Google Maps API服務條款,並且很可能會在任何時候被阻止使用 API或其他Google服務。 Places API的目標是 允許應用程序向用戶提供一種發現附近的地點 的方法。對用戶將要掃描並考慮的搜索結果的數量有一個實際的限制。我不相信 有必要向用戶提供200個結果,我懷疑這樣做 只會增加應用程序的開發,這些應用程序會削減Google地方信息數據,而不會爲API的應用程序類型添加顯着優勢或實用程序是爲了服務,而且我們希望 鼓勵。

作爲進一步的參考,也請看this answer

0

從我的理解。我們會推薦使用交叉引用API在我的方案中會使用異步調用WCF嵌套到區域由谷歌

4

使用雷達搜索放下電話有限分。檢查文檔here

一次可以獲得200個結果,但它會從您的配額中獲得5個請求。與附近的搜索相比,結果的詳細信息較少,但您始終可以通過使用地點詳細信息搜索來獲得該信息。

希望這會有所幫助。

說明:雷達搜索已於2018年6月30日棄用。在此之後 此功能將不再可用。

4

前段時間我做了一個這樣的工具https://github.com/Pithikos/Geoexplorer。你可以看到它看起來像here

我甚至還有一個Google Places的工作示例,如果您有API密鑰,您可以使用它。

  1. git clone https://github.com/Pithikos/Geoexplorer.git
  2. 添加您的API密鑰文件的例子/ google_radar_search.py​​
  3. python3 examples/google_radar_search.py
  4. 打開GUI/index.html的在瀏覽器中

這將尋找名爲雜貨「ICA」在瑞典的一個大區域。您可以配置正在掃描的區域config.py和您的搜索查詢google_radar_search.py​​

這應該在13.10之後的任何Ubuntu上運行良好。如果您使用Windows或更早版本,請閱讀here安裝依賴項部分)。

您還可以使用API​​添加您喜歡的任何其他服務。請記住,在使用它時不要違反Google或任何其他公司的政策。我僅僅是爲了測試哪個服務在決定使用哪個服務之前會給我最好的結果。

2

不幸的是Google不希望人們能夠做到這一點,所以他們設計他們的API來防止人們做這樣的事情。但是也有其他選擇。如果你想通過API訪問來做到這一點Factual是領導者;他們在50個國家有1.02億個參賽作品。

相關問題