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 に答える