geojsonのデータからgooglemapに表示されたマーカーをクリックすると、id="form"を情報ウィンドウとして表示させたい。
html
1<div id="form"> 2 <table> 3 <form action="/" method="post" class="board-form" > 4 <tr> 5 <td>テキスト</td><td> <textarea type="text" name="name" class="input" cols="19" rows="10"placeholder="言いたい事を書いて" ></textarea></td> 6 </tr> 7 <tr> 8 <td>タグ</td><td><textarea type="text" name="type" class="input" cols="19" rows="5" placeholder="タグを書いて"></textarea></td> </tr> 9 <tr> 10 <td></td><td><textarea type="text" name="address" class="input" cols="19" rows="3"placeholder="写真を送る"></textarea> </td> 11 </tr> 12 <td></td><td colspan="2"><textarea id="textoutput_lat" type="text" name="lat" class="input" cols="8" rows="3" placeholder="lat:"></textarea> 13 <textarea id="textoutput_lng" type="text" name="lng" class="input" cols="8" rows="3"placeholder="lng:"></textarea> 14 <tr><td></td><td><button type="submit" class="submit" value="Save" >送信</button></td></tr> 15 </table> 16 17 </form>
参考サイト様より
javascript
1google.maps.event.addDomListener(window, 'load', function() { 2 3 //Google Maps初期化 4 var map = new google.maps.Map(document.getElementById('map-canvas'), { 5 center: { lat: 36.3894816, lng: 139.0634281 }, 6 zoom: 12 7 }); 8 9 //GeoJSONデータ読み込み 10 d3.json('aed.geojson', function(data) { 11 //データレイヤーに追加 12 map.data.addGeoJson(data); 13 //イベント(マーカークリック時)を設定 14 map.data.addListener('click', mouseClick); 15 }); 16 17 function mouseClick(e) { 18 //features->propertiesのaddressデータをクリック時に表示する 19 alert(e.feature.getProperty('address')); 20 } 21 22}); 23
の
//イベント(マーカークリック時)を設定 map.data.addListener('click', mouseClick);
を変えればできそうだと思い以下のように変えてみましたが、できません。
var mark; //--- //GeoJSONデータ読み込み //---- d3.json('./niigata.geojson', function(data){ //データレイヤーに追加 mark=map.data.addGeoJson(data); infowindow = new google.maps.InfoWindow({//クリックすると吹き出しが作成される content: document.getElementById('form') }); map.data.addListener('click', function() { // マーカーをクリックしたとき infoWindow.open(map,mark); // 吹き出しの表示 });
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。