地図上に複数のマーカーをまとめて表示する方法です。
まずinitmap関数を宣言し、登録したい場所(ここではA〜C)を配列で表記します。
function initMap(){ var data = new Array(); data.push({lat:'緯度' ,lng:'経度' ,name:'A'}) data.push({lat:'緯度' ,lng:'経度' ,name:'B'}) data.push({lat:'緯度' ,lng:'経度' ,name:'C'}) var myLatLng = new google.maps.LatLng(data[0].lat, var myLatLng = new google.maps.LatLng(data[0].lat, data[0].lng); var opts = { zoom:13, center: myLatLng, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map (document.getElementById("map"),opts); var markers = new Array(); for (i = 0; i < data.length; i++){ markers[i] = new google.maps.Marker({ position: new google.maps.LatLng(data[i].lat, data[i].lng), map: map }); dispInfo(markers[i],data[i].name); } } function dispInfo(marker,name){ google.maps.event.addListener(marker, 'click', function(event){ new google.maps.InfoWindow ({content:name}).open(marker.getMap(),marker); }); } </Script> <script src="https://maps.googleapis.com/maps/api/js?key=&callback=initMap"async defer></script>
最後にinitMapをコールバックすることで、正しい順番でプログラムを実行することができます。