我正在做這個練習來獲得關於這些事情在現實生活中如何工作的一些見解。如何過濾谷歌地圖上的自定義結果?
我對UI的基礎上,其結果被過濾了一些選項,他們需要在谷歌地圖顯示。沿着padmapper.com的路線。
深入到舊金山,一個可以改變UI的預算。隨着預算被修改,搜索結果在谷歌地圖上被修改。
我怎樣才能做到這一點,我有一個簡單的滑塊(例如預算)和移動滑塊的基本結果更新?
我正在做這個練習來獲得關於這些事情在現實生活中如何工作的一些見解。如何過濾谷歌地圖上的自定義結果?
我對UI的基礎上,其結果被過濾了一些選項,他們需要在谷歌地圖顯示。沿着padmapper.com的路線。
深入到舊金山,一個可以改變UI的預算。隨着預算被修改,搜索結果在谷歌地圖上被修改。
我怎樣才能做到這一點,我有一個簡單的滑塊(例如預算)和移動滑塊的基本結果更新?
沒有代碼,就很難給你代碼的例子,所以我會盡力的英文:
基本上你使用任何滑塊具有某種多數民衆贊成開除改變事件的更改滑塊值之後。在此事件中,捕獲值,在地圖上循環顯示標記,並且如果標記的某些屬性落在滑塊的值內,則顯示它,否則將其隱藏。
這假設當你創建標記時,你做了兩件事:1)給它一些自定義屬性來存儲你想要過濾的值,2)你將一個對每個標記的引用存儲在一個數組中。
很想幫助你更多,但你需要發佈一些代碼。
更新,解決了評論:
處理「數據太多問題」,你可以調用服務器加載正好落在地圖的視圖內的點(稱爲邊框)爲標記上客戶端。在你的過濾器的change
事件,您遍歷這些標記那些已經在客戶端上顯示或隱藏,基於過濾器,服務器需要沒有呼叫,除非用戶再次導航地圖,然後在idle
您可以撥打另一個電話到服務器並再次在邊界框中檢索點,但這也符合您的篩選條件。 因此,它只是從服務器中檢索所需數據並在客戶端上對其進行過濾。您還可以限制從服務器返回的點數,因此縮小時不會失去性能。
有關處理大量數據的更多信息,請參閱this article from Google和this specific implementation。
但是,爲了這個工作,我需要預先填充所有的結果,這可能是巨大的。當'change'事件被觸發時,我需要點擊服務器來檢索結果集,然後在地圖上渲染它。 – brainydexter
@brainydexter我更新了我的答案以解決您的評論。 – Gady
謝謝@Gady P.! – brainydexter