「GoogleMaps API V3」 の使い方その6(続々イベント)
■マップのイベントとマーカーのイベントの複合的な使い方
マップ上でクリックした位置にマーカーを表示し、さらにそのマーカーをクリックした時に マーカーの緯度経度の値を情報ウインドウに表示します。
この例は、Googleのサンプルとして乗っているものを変更したものです。
マップ上でのクリックイベント時の関数を設定し、その中でマーカーを生成し、さらに情報ウインドウの表示を行うように、マーカーのクリックイベント時の関数を設定しています。
また、マーカーを生成した時に、そのマーカーをグローバル変数の配列に保存し、その配列のマーカーを 使って、再表示、クリア、削除処理を行っています。
02 | <title>Google Map API v3-6</title> |
03 | <script type= "text/javascript" src= "http://maps.google.com/maps/api/js?key=MyKeyCode" charset= "utf-8" ></script> |
04 | <script type= "text/javascript" > |
08 | function initialize() { |
10 | var latlng = new google.maps.LatLng(36.062092, 136.223323); |
13 | mapTypeId: google.maps.MapTypeId.ROADMAP, |
17 | map = new google.maps.Map(document.getElementById( "map" ), mapOptions); |
19 | google.maps.event.addListener(map, 'click' , function (event) { |
21 | addMarker(event.latLng); |
25 | function addMarker(location) { |
27 | marker = new google.maps.Marker({ |
32 | setMarkerListener(marker, location); |
37 | function setMarkerListener(marker, location) { |
39 | var contentString = "lat:" + location.lat() + "<br>" |
40 | + "lng:" + location.lng(); |
42 | var infoWindow = new google.maps.InfoWindow({ |
43 | content: contentString, |
47 | google.maps.event.addListener(marker, 'click' , function (event) { |
49 | infoWindow.open(map, marker); |
53 | function clearMarkers() { |
56 | markers[i].setMap( null ); |
61 | function showMarkers() { |
64 | markers[i].setMap(map); |
69 | function deleteMarkers() { |
77 | <body onload= "initialize();" > |
78 | マップ上をクリックするとマーカーを表示します。<br> |
79 | さらにそのマーカーをクリックすると緯度経度をウインドウに表示します。 |
81 | <input onclick= "clearMarkers();" type=button value= "マーカー消去" /> |
82 | <input onclick= "showMarkers();" type=button value= "マーカー表示" /> |
83 | <input onclick= "deleteMarkers();" type=button value= "マーカー削除" /> |
85 | <div id= "map" style= "width: 400px; height: 300px;" ></div> |
マップ上をクリックするとマーカーを表示します。
そのマーカーをクリックすると緯度経度をウインドウに表示します。
さらに他の位置でクリックを続けると、複数のマーカーの表示ができます。
いくつかのマーカーがマップ上に表示されたあとで、「マーカー消去」ボタンをクリックすると全てのマーカーを非表示にします。
その後、「マーカー表示」ボタンをクリックすると全てのマーカーを再度表示します。
「マーカー削除」ボタンをクリックで、記憶している全てのマーカーを削除します。
■関連記事
⇒
「GoogleMaps API V3」の使い方その1
⇒
「GoogleMaps API V3」の使い方その2
⇒
「GoogleMaps API V3」の使い方その3(マーカーの表示)
⇒
「GoogleMaps API V3」の使い方その4(イベント)
⇒
「GoogleMaps API V3」の使い方その5(続イベント)
⇒
「GoogleMaps API V3」の使い方その7(ポリライン・ポリゴン)
⇒
「GoogleMaps API V3」の使い方その8(ジオコーディング)
⇒
「GoogleMaps API V3」の使い方その9(ルート検索)
⇒
「GoogleMaps API V3」の使い方その10(ルート検索2)
⇒
「GoogleMaps API V3」の使い方その11(さらにInfowindow)