Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

241
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda