疑問点
下記のソースコードでは、マーカーが表示されません。
JavaScript
1var map; 2var prefectures = []; //この配列には、都道府県の緯度経度が記載されています。 3 4function initMap() { 5 center = new google.maps.LatLng(35.01833, 139.5986); 6 map = new google.maps.Map(document.getElementById('map'), { 7 center: center, 8 zoom: 7 9 }); 10} 11 12 13function showPrefectureMarkers() { 14 for(var i = 0; i < prefectures.length; i++){ 15 prefectureMarkers[i] = new google.maps.Marker({ 16 position : {lat : prefectures[i].Latitude, lng : prefectures[i].Longitude}, 17 map : map 18 }); 19 } 20} 21 22window.initMap = initMap; 23showPrefectureMarkers();
marker.setMap 関数で追加しようとしても表示されませんでした。
JavaScript
1var map; 2var prefectures = []; //この配列には、都道府県の緯度経度が記載されています。 3 4function initMap() { 5 center = new google.maps.LatLng(35.01833, 139.5986); 6 map = new google.maps.Map(document.getElementById('map'), { 7 center: center, 8 zoom: 7 9 }); 10} 11 12 13function showPrefectureMarkers() { 14 for(var i = 0; i < prefectures.length; i++){ 15 prefectureMarkers[i] = new google.maps.Marker({ 16 position : {lat : prefectures[i].Latitude, lng : prefectures[i].Longitude} 17 }); 18 prefectureMarkers[i].setMap(map); //変更点。 19 } 20} 21 22window.initMap = initMap; 23showPrefectureMarkers();
showPrefectureMarkers 関数を、initMap 関数の中で呼び出せば表示されます。
JavaScript
1var map; 2var prefectures = []; //この配列には、都道府県の緯度経度が記載されています。 3 4function initMap() { 5 center = new google.maps.LatLng(35.01833, 139.5986); 6 map = new google.maps.Map(document.getElementById('map'), { 7 center: center, 8 zoom: 7 9 }); 10 showPrefectureMarkers(); 11} 12 13 14function showPrefectureMarkers() { 15 for(var i = 0; i < prefectures.length; i++){ 16 prefectureMarkers[i] = new google.maps.Marker({ 17 position : {lat : prefectures[i].Latitude, lng : prefectures[i].Longitude}, 18 map : map 19 }); 20 } 21} 22 23window.initMap = initMap;
#質問
initMap 関数完了後であれば、いつでもマーカーを追加出来ると思っていたのですが、なぜ表示されないのでしょうか?
ブラウザのデベロッパーツール(F12)のコンソールにエラーが出ていないでしょうか?
回答1件
あなたの回答
tips
プレビュー