1.地図をクリックして、マーカー(アイコン)を追加する方法
ポイントは、次の通り
1-1.グローバル変数に、var markersArray = [];を指定
1-2.マップをクリックしたらマーカー追加のイベントを記述
google.maps.event.addListener(map, ‘click’, function(event)
{
marker = createMarker(event.latLng);
markersArray.push(marker);
});
関数function createMarker(latlng)へ渡す
2.全てのマーカー(アイコン)を一括で削除する方法
2-1.リセットボタンを設置
<div><a href=”#” onclick=”clearMap();return false;”>リセット</a>
2-2.関数clearMap() の設置/配列を空に
function clearMap()
{
for (var i = 0; i < markersArray.length; i++ )
{
markersArray[i].setMap(null);
}
markersArray = [];
}
3.サンプルソース
3-1.(その1)
<body>
<div id="map" style="width : 700px;height : 345px;bottom : auto;"></div>
<div class="button"><A href="#" class="button" onclick="clearMap();return false;">リセット</A>
</div>
<script type="text/javascript">
var map;
var center = new google.maps.LatLng(35.68407, 139.63623);
var zoom = 10;
var mapTypeId = google.maps.MapTypeId.ROADMAP
var markersArray = [];
function initialize()
{
var myOptions =
{
navigationControl: true,
navigationControlOptions:
{
style: google.maps.NavigationControlStyle.DEFAULT,
position: google.maps.ControlPosition.LEFT_TOP
},
mapTypeControl: true,
mapTypeControlOptions:
{
style: google.maps.MapTypeControlStyle.DROPDOWN_MENU,
position: google.maps.ControlPosition.TOP_RIGHT
},
scaleControl: true,
scaleControlOptions:
{
},
center: center,
zoom: zoom,
mapTypeId: mapTypeId
};
map = new google.maps.Map(document.getElementById("map"), myOptions);
google.maps.event.addListener(map, 'click', function(event)
{
//call function to create marker
marker = createMarker(event.latLng);
markersArray.push(marker);
});
}
function createMarker(latlng)
{
var marker = new google.maps.Marker(
{
position: latlng,
draggable: true,
map: map
});
google.maps.event.addListener(marker, 'click', function()
{
});
google.maps.event.trigger(marker, 'click');
return marker;
}
function clearMap()
{
for (var i = 0; i < markersArray.length; i++ )
{
markersArray[i].setMap(null);
}
markersArray = [];
}
window.onload=initialize;
</script>
</body>
3-2.(その2)
<body>
<div id="map" style="width : 700px;height : 345px;bottom : auto;"></div>
<div class="button"><a href="#" class="button" onclick="clearMap();return false;">リセット</a></div>
<script type="text/javascript">
var map;
var markersArray = [];
var centre = new google.maps.LatLng(35.590319,139.739176);
function initialize()
{
map = new google.maps.Map(document.getElementById("map"),
{
zoom: 10,
center: centre,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
google.maps.event.addListener(map, 'click', createMarker);
}
function createMarker(event)
{
var marker = new google.maps.Marker(
{
position: event.latLng,
map: map,
draggable: true,
icon: "http://labs.google.com/ridefinder/images/mm_20_blue.png"
});
markersArray.push(marker);
}
function clearMap()
{
for (var i = 0; i < markersArray.length; i++ )
{
markersArray[i].setMap(null);
}
markersArray = [];
}
window.onload = initialize;
</script>
◆サンプル
- 地図をクリックして、マーカー(アイコン)を追加/全てのマーカー(アイコン)を一括で削除する(その1)
- 地図をクリックして、マーカー(アイコン)を追加/全てのマーカー(アイコン)を一括で削除する(その2)
◆参照
◆Google Maps JavaScript API V3
関連記事一覧
スポンサードリンク




3 Comments.