実現したいこと
任意に指定した地点のポイントの地図を複数表示させること。
発生している問題
HTMLに複数の任意の地図だけを表示させようとしています。
(javascript内のpoint配列から参照)
この場合におけるpoint[0]だけの場合や、point[0]からスタートして連続(point[0],point[1],point[3]...といった具合)での複数表示はできました。しかし不連続の場合に表示ができません。
まだプログラミングを初めて間もないため、長いコードですがご了承ください。
該当のソースコード
HTML
1<!DOCTYPE html> 2<html> 3<head> 4<meta charset="UTF-8"> 5<title>google API test</title> 6</head> 7<body> 8<p>テスト</p> 9 10<script type="text/javascript" src="api-javascript-test.js"> 11</script> 12 13<script type="text/javascript"> 14 document.write(point[0]); 15 document.write(point[2]); 16 document.write(point[5]); 17 document.write(point[10]); 18 document.write(point[12]); 19</script> 20 21<script async defer src="https://maps.googleapis.com/maps/api/js? 22key=My-APIkey&callback=initMap"> 23</script> 24 25</body> 26</html>
JavaScript
1function initMap(){ 2 // JR東京駅 3 var opts1 = { 4 zoom: 15, 5 center: new google.maps.LatLng(35.681661 , 139.767314), 6 }; 7 var map1 = new google.maps.Map(document.getElementById("map1"), opts1); 8 9 var mnum1 = new google.maps.LatLng(35.681661 , 139.767314); 10 var marker1 = new google.maps.Marker({ 11 position: mnum1, 12 map: map1 13 }); 14 15 // 新国立競技場 16 var opts2 = { 17 zoom: 15, 18 center: new google.maps.LatLng(35.678356 , 139.715482) 19 }; 20 var map2 = new google.maps.Map(document.getElementById("map2"), opts2); 21 22 var mnum2 = new google.maps.LatLng(35.678356 , 139.715482); 23 var marker2 = new google.maps.Marker({ 24 position: mnum2, 25 map: map2 26 }); 27 28 // 東京体育館 29 var opts3 = { 30 zoom: 15, 31 center: new google.maps.LatLng(35.67948 , 139.712092) 32 }; 33 var map3 = new google.maps.Map(document.getElementById("map3"), opts3); 34 35 var mnum3 = new google.maps.LatLng(35.67948 , 139.712092); 36 var marker3 = new google.maps.Marker({ 37 position: mnum3, 38 map: map3 39 }); 40 41 // 国立代々木競技場 42 var opts4 = { 43 zoom: 15, 44 center: new google.maps.LatLng(35.667868 , 139.700438) 45 }; 46 var map4 = new google.maps.Map(document.getElementById("map4"), opts4); 47 48 var mnum4 = new google.maps.LatLng(35.667868 , 139.700438); 49 var marker4 = new google.maps.Marker({ 50 position: mnum4, 51 map: map4 52 }); 53 54 // 日本武道館 55 var opts5 = { 56 zoom: 15, 57 center: new google.maps.LatLng(35.693475 , 139.75006) 58 }; 59 var map5 = new google.maps.Map(document.getElementById("map5"), opts5); 60 61 var mnum5 = new google.maps.LatLng(35.693475 , 139.75006); 62 var marker5 = new google.maps.Marker({ 63 position: mnum5, 64 map: map5 65 }); 66 67 // 皇居外苑 68 var opts6 = { 69 zoom: 15, 70 center: new google.maps.LatLng(35.678069 , 139.756024) 71 }; 72 var map6 = new google.maps.Map(document.getElementById("map6"), opts6); 73 74 var mnum6 = new google.maps.LatLng(35.678069 , 139.756024); 75 var marker6 = new google.maps.Marker({ 76 position: mnum6, 77 map: map6 78 }); 79 80 // 東京国際フォーラム 81 var opts7 = { 82 zoom: 15, 83 center: new google.maps.LatLng(35.676607 , 139.764287) 84 }; 85 var map7 = new google.maps.Map(document.getElementById("map7"), opts7); 86 87 var mnum7 = new google.maps.LatLng(35.676607 , 139.764287); 88 var marker7 = new google.maps.Marker({ 89 position: mnum7, 90 map: map7 91 }); 92 93 // 両国国技館 94 var opts8 = { 95 zoom: 15, 96 center: new google.maps.LatLng(35.697179 , 139.793362) 97 }; 98 var map8 = new google.maps.Map(document.getElementById("map8"), opts8); 99 100 var mnum8 = new google.maps.LatLng(35.697179 , 139.793362); 101 var marker8 = new google.maps.Marker({ 102 position: mnum8, 103 map: map8 104 }); 105 106 // 馬事公苑 107 var opts9 = { 108 zoom: 15, 109 center: new google.maps.LatLng(35.638671 , 139.632304) 110 }; 111 var map9 = new google.maps.Map(document.getElementById("map9"), opts9); 112 113 var mnum9 = new google.maps.LatLng(35.638671 , 139.632304); 114 var marker9 = new google.maps.Marker({ 115 position: mnum9, 116 map: map9 117 }); 118 119 // 武蔵野の森総合スポーツプラザ 120 var opts10 = { 121 zoom: 15, 122 center: new google.maps.LatLng(35.66518 , 139.525036) 123 }; 124 var map10 = new google.maps.Map(document.getElementById("map10"), opts10); 125 126 var mnum10 = new google.maps.LatLng(35.66518 , 139.525036); 127 var marker10 = new google.maps.Marker({ 128 position: mnum10, 129 map: map10 130 }); 131 132 // 東京スタジアム(味の素スタジアム) 133 var opts11 = { 134 zoom: 15, 135 center: new google.maps.LatLng(35.66518 , 139.525036) 136 }; 137 var map11 = new google.maps.Map(document.getElementById("map11"), opts11); 138 139 var mnum11 = new google.maps.LatLng(35.66518 , 139.525036); 140 var marker11 = new google.maps.Marker({ 141 position: mnum11, 142 map: map11 143 }); 144 145 // 有明アリーナ 146 var opts12 = { 147 zoom: 15, 148 center: new google.maps.LatLng(35.64359 , 139.794739) 149 }; 150 var map12 = new google.maps.Map(document.getElementById("map12"), opts12); 151 152 var mnum12 = new google.maps.LatLng(35.64359 , 139.794739); 153 var marker12 = new google.maps.Marker({ 154 position: mnum12, 155 map: map12 156 }); 157 158 // 有明体操競技場 159 var opts13 = { 160 zoom: 15, 161 center: new google.maps.LatLng(35.641683 , 139.792167) 162 }; 163 var map13 = new google.maps.Map(document.getElementById("map13"), opts13); 164 165 var mnum13 = new google.maps.LatLng(35.641683 , 139.792167); 166 var marker13 = new google.maps.Marker({ 167 position: mnum13, 168 map: map13 169 }); 170} 171var point = new Array 172point = [ 173 '<div id="map1" style = "width: 500px ; height:300px"></div><br>', 174 '<div id="map2" style = "width: 500px ; height:300px"></div><br>', 175 '<div id="map3" style = "width: 500px ; height:300px"></div><br>', 176 '<div id="map4" style = "width: 500px ; height:300px"></div><br>', 177 '<div id="map5" style = "width: 500px ; height:300px"></div><br>', 178 '<div id="map6" style = "width: 500px ; height:300px"></div><br>', 179 '<div id="map7" style = "width: 500px ; height:300px"></div><br>', 180 '<div id="map8" style = "width: 500px ; height:300px"></div><br>', 181 '<div id="map9" style = "width: 500px ; height:300px"></div><br>', 182 '<div id="map10" style = "width: 500px ; height:300px"></div><br>', 183 '<div id="map11" style = "width: 500px ; height:300px"></div><br>', 184 '<div id="map12" style = "width: 500px ; height:300px"></div><br>', 185 '<div id="map13" style = "width: 500px ; height:300px"></div><br>', 186];
###追記
「任意」について
今回は0,2,5,10,12番目のマップを表示させたい意図でHTMLは作りました。
最終的な目的として、ある処理を通してこの番号を生成。マップを表示していきたいと考えています。
数も番号を変則的になり、それに合わせてマップ表示をしていくことを最終目的としています。
感覚的には、javascript上ですべてのマップ表示に必要なコードを作成。HTMLでその中から適宜持ってきて表示させる
といったことをしていきたいと考えています。
言葉足らず点等ございましたら、ご遠慮なくご指摘お願いします。
回答2件
あなたの回答
tips
プレビュー