Google Mapへ追加したマーカーをすべてクリアする - Google Map

Google MAP APIを使って描画したマーカー(アイコン)をクリアします。

マーカーの削除

Marker.setMap(null);メソッドを呼び出すことでマーカーを削除できます。地図上に置いたマーカーをすべて削除する場合はすべてのマーカーについてsetMap(null)メソッドを呼び出す必要があるため、マーカーはアプリケーション側で管理する必要があります。

コード

JavaScript

var map;
var MarkerArray = new google.maps.MVCArray();

function PlotIcon(lat,lng,caption) {
  var image = '/res/icon.png';
  var myLatLng = new google.maps.LatLng(lat,lng);
  var Marker = new google.maps.Marker({
    position: myLatLng,
    map: map,
    icon: image,
    title:caption
  });
  MarkerArray.push(Marker);

  map.setZoom(15);
  map.panTo(myLatLng);
}

function ClearAllIcon() {
  MarkerArray.forEach(function (marker, idx) { marker.setMap(null); });
}

解説

GoogleMapが表示されているプログラムに上記のJavaScript関数を追加します。

var MarkerArray = new google.maps.MVCArray();
にてマーカーを管理する配列を作成します。

var image = '/res/icon.png';
var myLatLng = new google.maps.LatLng(lat,lng);
var Marker = new google.maps.Marker({
  position: myLatLng,
  map: map,
  icon: image,
  title:caption
});
はマーカーを地図に追加する処理です。

MarkerArray.push(Marker);
にて、追加したマーカーをリストに追加します。

map.setZoom(15);
map.panTo(myLatLng);
はズーム率を指定し、追加したマーカーの位置に地図のビューポートを移動させるメソッドです。

function ClearAllIcon() {
  MarkerArray.forEach(function (marker, idx) { marker.setMap(null); });
}
がマーカーのクリアをする関数です。
forEach()メソッドを用いてMarkerArray内のすべての要素に対してmarker.setMapp(null);を実行します。

著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。
最終更新日: 2017-09-07
作成日: 2011-08-27
iPentec all rights reserverd.