diff --git a/module/templates/be_leaflet_geocode.html5 b/module/templates/be_leaflet_geocode.html5 index a892170..81a262d 100644 --- a/module/templates/be_leaflet_geocode.html5 +++ b/module/templates/be_leaflet_geocode.html5 @@ -10,6 +10,7 @@ L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', { attribution: '© OpenStreetMap contributors' }).addTo(map); + var element = $('field; ?>'); var geocoder = L.Control.geocoder({ collapsed: false, placeholder: '' @@ -18,7 +19,6 @@ geocoder.on('markgeocode', function(event) { var container = document.createElement('div'); var link = document.createElement('button'); - var element = $('field; ?>'); var result = event.geocode; link.set('style', 'margin-left: 10px;'); @@ -42,14 +42,22 @@ this._geocodeMarker = new L.Marker(result.center) .bindPopup(container, { keepInView: true, + draggable: true, autoPanPaddingTopLeft: [0, 70] }) .addTo(map) .openPopup(); + + this._geocodeMarker.on('dragend', function (event) { + element.set('value', event.target._latlng.lat + ',' + event.target._latlng.lng); + }); }); marker): ?> - geocoder._geocodeMarker = L.marker(marker; ?>).addTo(map); + geocoder._geocodeMarker = L.marker(marker; ?>, {draggable: true}).addTo(map); + geocoder._geocodeMarker.on('dragend', function (event) { + element.set('value', event.target._latlng.lat + ',' + event.target._latlng.lng); + }); map.setZoom(16); map.panTo(marker; ?>);