下面的代码会在地图中添加一个标记,并在警报中显示其lat / lng。
var note = document.getElementById('note');
var datepick = document.getElementById('demo1');
var timepick = document.getElementById('timepick');
layerpoly.on('click', function(e){
var markerA = new L.Marker(e.latlng,{icon: Icon1});
markerA.bindPopup("</a><br><strong>FIRE</strong></br><strong>Date:</strong>"+datepick.value+"</br><strong>Time:</strong>"+timepick.value+"</br><strong>Address:</strong>"+note.value+"<strong><br><strong>Suspect Sketch</strong><br><a href=legends/suspect.jpg rel=lightbox><img src = legends/suspect.jpg height=100 width = 100/>").addTo(map);
closure1 (markerA)
alert(markerA.getLatLng());
如何在点击事件期间在两个单独的文本框中传输lat / lng?
<input id="userLat" type="text" name="val-lat" value="User Latitude" />
<input id="userLng" type="text" name="val-lng" value="User Longitude" />
答案 0 :(得分:1)
markerA.getLatLng()
会返回Leaflet LatLng object。要单独获取数字,请执行以下操作:
var ll = markerA.getLatLng();
alert("latitude: " + ll.lat);
alert("longitude: " + ll.lng);
然后将其分配给输入框,就像使用任何其他Javascript任务一样:
var ll = markerA.getLatLng();
document.querySelector('#userLat').value = ll.lat;
document.querySelector('#userLng').value = ll.lng;