###実現したいこと
マーカーを複数設置し、全マーカーに吹き出しをつける。
###現状
一つのマーカーにのみ吹き出しが表示される。(マーカーがある場所の緯度経度を出力したい)
javascript
1<script type="text/javascript" src="http://maps.google.com/maps/api/js?key=AIzaSyDuYZuE9EYnhKImsKLIlEuc4YXa7zVKi4Y&sensor=false"> 2 </script> 3 <div id="map" style="width:600px;height:460px;"></div> 4 5 <script type="text/javascript"> 6 function Info(x,y){ 7 this.x = +x; 8 this.y = +y; 9 } 10 11 var lat=35.7086077; 12 var lng=139.7323608; 13 14 var myMap=new google.maps.Map(document.getElementById("map"),{ 15 zoom: 5, 16 center: new google.maps.LatLng(lat,lng), 17 scaleControl: true, 18 mapType: google.maps.MapTypeId.ROADMAP 19 }); 20 21var data=[1000,34.384246,132.456665, 22 1000,37.9182011,139.0374756] 23infoList=[]; 24 25for(var i=0,len=data.length;i<len;++i){ 26 if(data[i]==1000){ 27 x=data[i+1]; 28 y=data[i+2]; 29 infoList.push(new Info(x,y)); 30 } 31} 32 function sendai(){ 33 check1=document.form1.a1.checked; 34 if(check1==true){ 35 var latlng=new google.maps.LatLng(38.267230, 140.822840); 36 marker1=new google.maps.Marker({ 37 position: latlng, 38 map: myMap 39 }); 40 }else{ 41 marker1.setMap(null); 42 } 43 } 44 45 var marker_list1; 46 marker_list1=new google.maps.MVCArray(); 47 48 function maker1(){ 49 check1=document.form1.a1.checked; 50 if(check1==true){ 51 for(var i=0;i<infoList.length;++i){ 52 var latlng=new google.maps.LatLng(infoList[i].x,infoList[i].y); 53 var marker1=new google.maps.Marker({ 54 position: latlng, 55 map: myMap 56 }); 57 58 var infoWindow=new google.maps.InfoWindow({ 59 content: latlng 60 }); 61 google.maps.event.addListener(marker1,'click',function(){ 62 infoWindow.open(myMap,marker1); 63 }); 64 marker_list1.push(marker1); 65 } 66 }else{ 67 marker_list1.forEach(function(marker1,idx){ 68 marker1.setMap(null); 69 }); 70 } 71 } 72</script> 73 74<body> 75<form name="form1"> 76<input id="a1" type="checkbox" onclick="maker1()">マーカー<br> 77</form> 78</body>
###コメント
吹き出しをつける位置がループの最後のlatlngになっていることは分かるのですがどうしたらよいか・・・。
申し訳ございませんがよろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。