Esta es la respuesta más válida que te podemos compartir, pero mírala detenidamente y analiza si es compatible a tu trabajo.
Solución:
no estás abriendo la ventana emergente, solo la estás creando, prueba
var popup = L.popup().setContent('Hello world!
This is a nice popup.
');
esto crea una ventana emergente, luego debe abrirla con un clic derecho, el segundo argumento para ‘on’ solo acepta una función, que se ejecutará con el primer parámetro como evento, en otras palabras, la función no puede terminar entre paréntesis, generalmente es más fácil envolver lo que desea hacer en una función anónima como se muestra a continuación.
map.on('contextmenu',function()
popup.openOn(map);
);
también podrías hacer
map.openPopup(popup);
cualquiera es equivalente. asegúrese de evitar bindPopup porque eso supone que desea usar clics izquierdos regulares.
Editar: entonces, para que se vea más como un menú, necesita usar una biblioteca para crear un menú emergente como uno de estos
map.on('contextmenu',function(e)
plugin run!
);
Abre una nueva ventana emergente al hacer clic derecho, no olvide establecer la coordenada donde se debe colocar la ventana emergente llamando establecerLatLng función, de lo contrario obtendrá el siguiente error: leaflet.js: 5 TypeError no detectado: no se puede leer la propiedad ‘lat’ de undefined en Object.project
map.on('contextmenu',(e) => L.popup() .setLatLng(e.latlng) .setContent('
Hello')
.addTo(map)
.openOn(map);
);
Tienes la opción de corroborar nuestra faena fijando un comentario o puntuándolo te damos la bienvenida.
¡Haz clic para puntuar esta entrada!(Votos: 0 Promedio: 0)Utiliza Nuestro Buscador