有人可以将此google.api翻译成传单脚本吗?

时间:2013-11-09 23:12:37

标签: leaflet

我希望这个脚本可用于传单库以使用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;
    }

2 个答案:

答案 0 :(得分: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;
}

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

答案 1 :(得分: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;
    });