2013-04-17 125 views
0

我想用谷歌的地方textSearch發現某些品牌的所有商店(可以說Levi's),所以我會通過使用next_page_token遍歷結果,但我似乎遇到了最大60個結果的問題返回的。 這個結果可以以某種方式解除,或者是否有人知道可以提供這種結果的另一項服務?谷歌地圖全球搜索

回答

1

除了在textsearch上進行智能輪詢之外,很遺憾沒有辦法解決60條目限制,並且結果無法排序。您的最佳解決方案將在nearbySearch。 API參數幾乎相同的文本搜索,有三點不同:

  • 你的半徑將自動設置50公里
  • rankby=distance允許您通過距離的計算結果,從排序的location(你會發現爲什麼這很重要)
  • query變得keywords,並不再是真正的谷歌地圖搜索參數 - 只是一個關鍵字

也說回來類似於結果列表返回 - 並且它們帶有一個唯一的ID,它也會派上用場。

如何掃描所有內容

掃描區域非常簡單。每個查詢限制爲60個結果 - 所以我們要做的是按距離排序,以便我們確定我們知道該集合的最後結果也是最遠的。這可以讓你爲你的請求建立一個最大可能的半徑,並在你的下一個搜索的基礎上。

這是一個關於photoshop的模擬結果。我跑了一個隨機的請求,基於在法國一個點,用綠色圓圈映射搜索半徑:

The first query

綠色圓圈表示的結果。這讓我制訂了三個新的查詢,所有這三個在當前區域的邊緣(但裏面):

Second round of queries

你會發現,第一個查詢完全由第二覆蓋。這可以讓你在一個儘可能少重疊的區域得到整個結果,並通過ID有效地對它們進行排序(所以你知道你沒有重複)。

警告:50公里半徑(最大)將需要1個查詢。一個95公里的半徑需要四個。一個140公里的半徑需要13個。它會迅速增加 - 所以如果我是你,我會在某處緩存結果。

id返回字段保證唯一 - reference綁定到您的API密鑰。區別? reference允許您觸發地點詳細信息請求以獲取某個地點的更新信息(some info here)。

希望這有助於清除一些東西。

+0

我打算爲此創建一個小提琴,但Google Places不提供任何JSONP/CORS替代品......所以您必須自己嘗試。 :-( –

+0

真的很失望,沒有辦法(或另一種服務),但優秀的答案。 – tix3