Tengo una función que captura la latitud y la longitud del mouse en cesio cuando se hace clic con el mouse. Sin embargo, si arrastra, todavía ejecuta la función. Puse una instrucción if en la función para asegurarme de que se ejecuta cuando mi variable app.drag es falsa. app.drag se convierte en verdadero cuando se mueve el mouse. Ahora necesito verificar cuándo se detuvo el mouse para que app.drag pueda volver a falso. Hacer !'mousemove' no funciona, así que, ¿cómo se hace eso? Creo que este es el mejor método para verificar si se arrastra el mouse, pero si hay una forma más simple, házmelo saber. Mi código:
app.drag = false; app.viewer.scene.canvas.addEventListener("mousemove", () => app.drag = true); app.viewer.scene.canvas.addEventListener("click", function(e) { if (!app.drag) { let ellipsoid = app.viewer.scene.globe.ellipsoid; let cartesian = app.viewer.camera.pickEllipsoid(new Cesium.Cartesian3(e.clientX, e.clientY), ellipsoid); let cartographic = ellipsoid.cartesianToCartographic(cartesian); let latitude = Cesium.Math.toDegrees(cartographic.latitude); let longitude = Cesium.Math.toDegrees(cartographic.longitude); document.getElementById("lat").value = Math.round(latitude); document.getElementById("lon").value = Math.round(longitude); } });