Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

248
Vistas
En MapBox GL JS, ¿cómo evito que las etiquetas emergentes aparezcan constantemente cuando no quiero verlas?

He realizado una aplicación con MapBox GL JS. Tengo toneladas de marcadores en todo el mundo. Cuando el cursor del mouse pasa sobre ellos, hago que aparezca un cuadro con una descripción. Esto es normalmente lo que quiero, pero cuando acerco o alejo y me muevo por el mapa, con frecuencia veo estas etiquetas parpadeando mientras se muestran y se ocultan mientras el cursor del mouse se mueve. Esto es muy molesto.

Estoy tratando de encontrar una manera buena y sencilla de evitar esto, tal vez requiriendo una cierta cantidad de milisegundos de desplazamiento sobre el marcador antes de que esto suceda. O tal vez mediante el uso de algún tipo de indicador incorporado "está el cursor del mouse quieto o moviéndose". No quiero obligarme a hacer clic en las etiquetas, porque eso pronto sería aún más molesto.

Actualmente uso este código:

 map.on('mouseenter', layerId, (e) => { map.getCanvas().style.cursor = 'pointer'; const coordinates = e.features[0].geometry.coordinates.slice(); const description = e.features[0].properties.description; const name = e.features[0].properties.name; while (Math.abs(e.lngLat.lng - coordinates[0]) > 180) { coordinates[0] += e.lngLat.lng > coordinates[0] ? 360 : -360; } popup.setLngLat(coordinates).setHTML(name).addTo(map); }); map.on('mouseleave', layerId, () => { map.getCanvas().style.cursor = ''; popup.remove(); });

Esto debe ser un problema común. ¿Conoces o se te ocurre alguna forma de solucionar esto que no sea molesta? Si tengo que pasar el cursor por encima de la etiqueta para mostrarla, también podría necesitar un clic. Pero eso ya está descalificado. Además, ya uso el evento de clic para otra cosa ("abrir URL relacionada").

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Rebote su función de devolución de llamada en el oyente 'mouseenter'.

Obtenga más información sobre las funciones antirrebote en Javascript .

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda