chicos, he estado tratando de obtener mis marcadores latlon cuando el usuario hace doble clic en él, pero aún no obtengo ningún resultado. He estado probando otros métodos, pero creo que este es el más preciso ya que no recibo ningún error al ejecutar js
Cualquier recomendación pls
var places = [ ["LOCATION_1", 8.9856146341374, -79.51102268985925], ["LOCATION_2", 8.984640842221594, -79.51383510471848], ["LOCATION_3", 8.972080043026754, -79.5529245611453], ["LOCATION_4", 9.052896045979661, -79.4515923525883], ["LOCATION_5", 9.053366385577624, -79.50832832626823] ]; var map = L.map('map', { center: [9.352867999999996, -79.689331],//[35.791188, -78.636755], zoom: 9, layers:L.tileLayer('http://{s}.google.com/vt/lyrs=m&x={x}&y={y}&z={z}',{ maxZoom: 20, subdomains:['mt0','mt1','mt2','mt3'] }) }); for (var i = 0; i < places.length; i++) { marker = new L.marker([places[i][1], places[i][2]]) .bindPopup(places[i][0]) .addTo(map); } function getdest(){ L.marker.on('dblclick',function(e){ var latlng_dest=e.latlng() }); console.log(latlng_dest) return latlng_dest } navigator.geolocation.getCurrentPosition(function(location) { var latlng_orig = new L.LatLng(location.coords.latitude, location.coords.longitude); L.Routing.control({ waypoints: [ //L.latLng(9.10607301250145, -79.34754531445351), L.latLng(latlng_orig) //,L.latLng(latlng_dest) //,L.latLng(9.100769244670843, -79.35099352767948) ,L.latLng(getdest()) ] }).addTo(map) });Tienes muchas cosas comunes mal:
e.latlng() no es una función, es una propiedad e.latlngL.marker.on('dblclick',function(e){ esto no tiene sentido. Está creando una nueva instancia de un marcador sin coordenadas y luego agregando un oyente.L.marker.on('dblclick',function(e){ var latlng_dest=e.latlng() }); return latlng_destTu código debería verse así:
for (var i = 0; i < places.length; i++) { marker = new L.marker([places[i][1], places[i][2]]) .bindPopup(places[i][0]) .addTo(map) .on('dblclick', function(e) { waypoints.push(e.latlng); routeControl.setWaypoints(waypoints); }); } var routeControl = L.Routing.control({ waypoints: [], }).addTo(map); var waypoints = []; navigator.geolocation.getCurrentPosition(function(location) { var latlng_orig = new L.LatLng(location.coords.latitude, location.coords.longitude); waypoints.push(latlng_orig); });