Google Maps で複数マーカーを取り扱う – マーカーの消去

Google Mapで複数マーカーを取り扱う際のTips。

  • マーカーを消去する
  • マーカーを表示する際は、obj.setMap(map) としたが、消去する際は、同様に obj.setMap(null) とすればよい。複数のマーカーを消去する場合は、1つずつこの処理を適用する必要がある。

  • マーカー(のオブジェクト)を保持しておく
  • 後処理に備えて保持しておくには、APIが提供する google.maps.MVCArray() が便利。forEach(callback:function(element,index))の形で一括処理が出来る。

    gTrackMarkerList = new google.maps.MVCArray(); 
    
    function drawGpsPoint(){
        // 前回作成したマーカーを地図から消去
        gTrackMarkerList.forEach(function(d_marker, i){
            d_marker.setMap(null);
        }); 
        gTrackMarkerList.clear(); // この行は不要かもしれない
    
        for (var i = 0; i < gGpsData.length; i++) {
            var marker = new google.maps.Marker();
            marker.setMap(gMap); // マーカーを地図にセット
            // 後でクリアするために保持する
            gTrackMarkerList.push(marker); 
        }
    }   
    
カテゴリー: Tips タグ: , パーマリンク