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

99
Vistas
Cambiar fuente al hacer clic en Mapbox

Estoy trabajando en el proyecto Angular. He cargado el mapa de Mapbox. Hay una base de datos configurada que tiene algún tipo de campañas, cada campaña tiene su propio polígono. Cuando el usuario elige una campaña, debe activar la función plotPolygon(coordinates) . Esta función se encuentra a continuación en el código y agregará la fuente de Mapbox (la fuente son las coordenadas del polígono) con map.addSource() . Cada vez que el usuario hace clic en una campaña diferente, se debe cambiar la fuente y se debe agregar un polígono diferente a Mapbox. Creo que la fuente anterior también debería eliminarse al mismo tiempo. Estoy un poco confundido sobre cómo hacer esto. El polygon variable de entrada en mi caso cambia cada vez que se llama a la función plotPolygon . El resultado que obtengo es que cuando se llama a la función por primera vez, obtengo un trazado de polígono, y en cada llamada posterior nada cambiará, el polígono permanecerá trazado. Lo que debería hacer es eliminar el polígono antiguo y trazar uno nuevo.

Esta es la función que hice:

 plotPolygon(polygon: any) { //PLOTTING polygons // Add a data source containing GeoJSON data. this.map.addSource('CampPoly', { 'type': 'geojson', 'data': { 'type': 'Feature', 'geometry': { 'type': 'Polygon', // These coordinates outline CampPoly. 'coordinates': polygon } } }); // Add a new layer to visualize the polygon. this.map.addLayer({ 'id': 'CampPoly', 'type': 'fill', 'source': 'CampPoly', // reference the data source 'layout': {}, 'paint': { 'fill-color': '#0080ff', // blue color fill 'fill-opacity': 0.5 } }); // Add a black outline around the polygon. this.map.addLayer({ 'id': 'outline', 'type': 'line', 'source': 'CampPoly', 'layout': {}, 'paint': { 'line-color': '#000', 'line-width': 3 } }); }
about 4 years ago · Juan Pablo Isaza
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