マップを使ったWEBアプリケーション(図鑑のようなもの)をつくりたいと思っています。
フォームから得た緯度経度の値をleafletを用いて地図上にプロットし,それを蓄積できるようにしたいです。
現在プロットはできるのですが,ページ遷移すると投稿したマーカーが全て初期化されてしまい,マーカーが蓄積できません。
これはレイヤーにマーカーが追加できていないということでしょうか?
ページ遷移の流れとしては
1.javascript側で投稿する場所の緯度経度を決める。
2.1で決めた緯度経度をphpのフォームに飛ばす。そして,詳細情報記入。
3.javascript側でphpから送信された緯度経度を基にマーカ-を設置する。
です。
改善方法等あればどなたかご教授お願いいたします。
javascript
1//地図生成 2var map = L.map('map'); 3L.tileLayer('https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png', { 4 attribution: "<a href='https://maps.gsi.go.jp/development/ichiran.html' target='_blank'>地理院タイル</a>" 5}).addTo(map); 6map.setView([○, ○], 12); 7 8//クリック地点の緯度経度取得 9map.on('click',function(e){ 10 var latitude=(Math.round(e.latlng.lat * 10000)) /10000; 11 var longitude=(Math.round(e.latlng.lng * 10000)) /10000; 12 13//テキストボックスに緯度経度代入 14 document.getElementById('latitude').value=latitude; 15 document.getElementById('longitude').value=longitude; 16 17 var idokeido = L.marker(e.latlng, { 18 draggable: true, 19 title: "Resource location", 20 alt: "Resource Location", 21 riseOnHover: true, 22 iconColor:'green' 23 }).addTo(map) 24 .bindPopup(e.latlng.toString()); 25 // Update marker on changing it's position 26 idokeido.on("dragend", function (ev) { 27 var chagedPos = ev.target.getLatLng(); 28 29 this.bindPopup(chagedPos.toString()); 30 }); 31 32}); 33//phpの変数をjavascriptの変数に変換 34var lat = "<?php echo ($_POST['latitude']); ?>"; 35var lng = "<?php echo ($_POST['longitude']); ?>"; 36 37var latlng = [lat, lng]; 38var cc = "<?php echo ($_POST['comment']); ?>"; 39 40var toukou=L.marker(latlng).addTo(map); 41toukou.bindPopup('<a href="#"><?php echo ($_POST['comment']); ?></a><br><?php echo ($_POST['image']); ?><br>'); 42 43
php
1//js-phpの変数設定 2<?php 3$latitude=$_POST['latitude']; 4$longitude=$_POST['longitude']; 5?> 6 7<form action = "map.php" method = "post" enctype="multipart/form-data"> 8 ユーザ名<br> 9<?php echo "<input type='text' name='name' value='". $hoji ."'><br />"; ?> 10 カテゴリー<br> 11 <select name="creature"> 12 <option value="shokubutu">植物</option> 13 <option value="doubutu">動物</option> 14 <option value="konchuu">昆虫</option> 15 <option value="sakana">魚</option> 16 </select><br> 17 生物名<br /> 18 <input type="text" name="comment"><br /> 19 緯度経度<br> 20<?php echo "<input type='text' name='latitude' value='". $latitude . "'<br>"; ?> 21<?php echo "<input type='text' name='longitude' value='". $longitude ."'<br>"; ?> 22 <br>画像<br> 23 <input type="hidden" name="MAX_FILE_SIZE" value="300000"> 24 <input type="file" name="image"><br /> 25 パスワード<br> 26 <input type="text" name="pass" size="5"><br /> 27 <input type="submit" name="submit" value="投稿"><br /><br /> 28</form> 29
回答1件
あなたの回答
tips
プレビュー