マーカをクリックするとズームします - Google maps にイベントハンドラをアタッチ。
前ページの地図(英国ロンドンを中心とした地図)を使用します。
ここでは、ユーザがマーカーをクリックしたときにズームしようと思います (クリックした時にマップをズームするマーカにイベントハンドラーをアタッチします)。
追加のコードは次の通りです:
// Zoom to 9 when clicking on marker
google.maps.event.addListener(marker,'click',function() {
map.setZoom(9);
map.setCenter(marker.getPosition());
});
Try it Yourself »
addListener() イベント・ハンドラを使用して、イベント通知(notification)を登録します。 このメソッドには、オブジェクト、リッスンするイベント、指定したイベントが発生したときに呼び出す関数を指定します。
ここでは、ズームの変更を保存し、3秒後に地図をパンします:
google.maps.event.addListener(map,'click',function() {
var pos = map.getZoom();
map.setZoom(9);
map.setCenter(marker.getPosition());
window.setTimeout(function() {map.setZoom(pos);},3000);
});
Try it Yourself »
マーカクリックすると、テキスト付きの情報ウィンドウにが表示されます:
var infowindow = new google.maps.InfoWindow({
content:"Hello World!"
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
Try it Yourself »
マップをクリックすると、関数が実行されます。
placeMarker() 関数は、ユーザがクリックした場所にマーカを配置し、マーカの緯度と経度を持つ情報ウィンドウを表示します:
google.maps.event.addListener(map, 'click', function(event) {
placeMarker(map, event.latLng);
});
function placeMarker(map, location) {
var marker = new google.maps.Marker({
position: location,
map: map
});
var infowindow = new google.maps.InfoWindow({
content: 'Latitude: ' + location.lat() +
'<br>Longitude: ' + location.lng()
});
infowindow.open(map,marker);
}
Try it Yourself »