簡體   English   中英

從服務器加載谷歌地圖標記的最有效方法是什么

[英]What is the most effective way to load google maps markers from server

我有一個存儲十萬個谷歌地圖標記詳細信息的服務器遍布全球,現在我試圖在我的Android應用程序中顯示它們。 很明顯,我不需要一次顯示整個標記,而只需要用戶正在查看和縮放的位置。 即時通訊使用服務器的json文件發送標記,但我還沒有意識到,最有效的方法是加載它們作為用戶需要。 謝謝!

您可以獲取谷歌地圖中心位置的LatLng。 然后,您可以將位置發送到您的服務器並計算距離特定距離更近的點,並僅返回那些點。

使用這樣的東西:

 mGoogleMap.setOnCameraChangeListener(new GoogleMap.OnCameraChangeListener() {
            @Override
            public void onCameraChange(CameraPosition cameraPosition) {
                LatLng latLng = cameraPosition.target;

                mRepository.requestPointsNearPosition(latLng)
            }
        });

所以每次你的相機改變位置,你重新加載點。 這樣,您始終只顯示地圖中的相關點。

也許你可以使用一個句柄來確保用戶停止移動地圖0.5秒處理程序只觸發動作,地圖停止移動...其他它取消自己如果地圖再次移動

定義當前用戶在中心周圍的比例和圓形區域,這是用戶可以看到的較大時間。 下載該地區的標記。 每次用戶移動地圖時,您都會檢查新視角是否屬於該區域,繪制新圓圈並下載未包含在前一個圓圈中的區域的圖標

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM