0

我想让这个脚本可用于传单库以使用 openstreetmap。我需要一个可拖动的标记来存储它的坐标,并在 dragend 上将其发送到一个隐藏的表单,该表单将被发送到我的 sqlite 数据库!我不擅长编码!非常感谢帮助

        marker = new google.maps.Marker({
            map:map,
            draggable:true,
            animation: google.maps.Animation.DROP,
            position: mapCenter,
            title: markerTitle,
            icon: markerImage
        });
        google.maps.event.addListener(marker, 'dragend', function() {
            updateLatLong();
        }); 
        google.maps.event.addListener(map, 'click', function(event) {
            var myLatLng = event.latLng;
            var markerPosition = new google.maps.LatLng(myLatLng.lat(), myLatLng.lng());
            marker.setPosition(markerPosition);
            updateLatLong();
        }); 
        updateLatLong();
    }

    function updateLatLong() {
        var lat = marker.getPosition().lat();
        var lng = marker.getPosition().lng();
        document.getElementById("nexthh_latitude").value = lat;
        document.getElementById("nexthh_longitude").value = lng;
    }
4

2 回答 2

2

它应该是这样的

    var map = L.map();//Set your map options
    markerImage = L.icon.Default(); //Change this with your icon options.
    var marker = L.marker({
        draggable:true,
        position: map.getCenter(),
        title: markerTitle,
        icon: markerImage
    });
    marker.addTo(map);
    marker.on('dragend',function() {
        updateLatLong();
    }); 
    map.on('click',function(event) {
        marker.setLatLng(event.latLng);
        updateLatLong();
    }); 

function updateLatLong() {
    var lat = marker.getLatLng().lat;
    var lng = marker.getLatLng().lng;
    document.getElementById("nexthh_latitude").value = lat;
    document.getElementById("nexthh_longitude").value = lng;
}

Lealfet 在这里有一个很好的文档http://leafletjs.com/reference.html

于 2013-11-11T11:06:49.930 回答
1

谢谢你的帮助!我是这样写的: var map = L.mapbox.map('map', 'examples.map-9ijuk24y') .setView([48.20682894891699, 16.370315551757812], 12);

    var marker = L.marker([48.20682894891699, 16.370315551757812],{
        draggable: 'true',
    }).addTo(map);

    marker.on('dragend', function(event) {
        var marker = event.target;
        var lat = marker.getLatLng().lat;
        var lon = marker.getLatLng().lng;
        document.getElementById("latitude").value = lat;
        document.getElementById("longitude").value = lon;
    }); 
于 2013-11-19T18:47:20.233 回答