Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

246
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!