我建立的Android使用谷歌地圖的應用程序。它就像一個導航應用程序,在運動中更新屏幕上的位置。我在地圖上放置了多個標記,每個標記的半徑爲125.噹噹前位置與標記半徑相交時,我會收到一條警告消息。這是通過所有標記循環和檢查,如果當前位置與任何標記在OnLocationChangedMethod()半徑交叉進行。如果你有幾個標記,但是我有超過30個標記,它效果很好。在遍歷所有標記並報告是否存在交集時,當前位置將通過標記。所以需要更長的時間並且效率不高。警報時,當前位置接近標記的Android地圖
我希望有人能幫助瞭解如何做一個更好的辦法。我已經閱讀了幾個解決方案,建議採取地圖邊界並找到可見的標記。但是這也遍歷所有的標記,它將需要與我的解決方案相同的時間。
如果有人能幫忙,我將不勝感激。
感謝,
阿卜杜拉
爲什麼不保存在數據庫中標記位置,並通過服務於每學時45秒,用戶位置比較東西.. – Ranjit
的標誌實際上是存儲在服務器數據庫。在首次初始化應用程序時,標記將被下載並保存在本地SQLite數據庫中。 45秒太長。標記半徑是250米。平均需要25秒才能通過標記。時代不是問題。根據存儲在數據庫中的標記的數量,檢查是否存在相交的過程實際上需要時間。我不知道是否有解決方案可以讓標記充當雷達而不是當前的位置標記。 –