如何在文本框中传输传单标记Lat / Long

时间:2014-11-18 13:13:00

标签: javascript html leaflet

下面的代码会在地图中添加一个标记,并在警报中显示其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" />

1 个答案:

答案 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;