GoogleMapAPIでマーカーをクリックで詳細を表示する方法です。
以前の記事でマーカーを複数表示する方法をご紹介したので、今回は以前作成したマーカーをクリックで詳細を表示したいと思います。
使用方法
HTML
前回と同じく、div#mapを使用します。
<div id="map"></div>
JavaScript
$(function(){
function createMessage(marker, content) {
//infowindowが開いていたら閉じる
if(infowindow){
infowindow.close();
}
//infowindowにコンテンツを入れたものを作成
infowindow = new google.maps.InfoWindow({
content: content
});
//クリックイベントを設定
google.maps.event.addListener(marker, 'click', function(){
infowindow.open(marker.getMap(), marker);
});
}
function init() {
var map, infowindow;
//Mapの中心を指定する
var latlng = new google.maps.LatLng("35.689185", "139.691648");
var opts = {
//ズーム
zoom: 6,
//地図の種類
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: latlng
};
//GoogleMapを使用する#idを指定する
map = new google.maps.Map(document.getElementById("map"), opts);
//Markerをセットする
var markerOpts = new Array();
//Markerの数だけ追加する
markerOpts.push({
//緯度経度を指定
position: new google.maps.LatLng("35.689185", "139.691648"),
map: map,
//コンテンツを指定する
content: "<p>test</p>"
});
markerOpts.push({
position: new google.maps.LatLng("34.689185", "139.691648"),
map: map,
content: "title"
});
var marker = new google.maps.Marker(markerOpts);
for (i = 0; i < markerOpts.length; i++) {
var myMarker = new google.maps.Marker({
position: markerOpts[i].position,
map: map,
content: "<p>test2</p>"
});
createMessage(myMarker, markerOpts[i].content);
}
}
init();
});
このように使用することが出来ます。
詳細にはHTMLを使用することが出来ます。
