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

97
Views
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
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!