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

246
Vistas
Angular Mapbox: ¿Cargar el mapa solo una vez usando un servicio?

Estoy tratando de cargar el mapa de Mapbox solo una vez almacenando el objeto del mapa en un Servicio y reutilizándolo en un componente personalizado.

Funciona bien la primera vez que cargo el mapa. El mapa se agrega correctamente a su contenedor.

Pero cuando trato de usar para mapear un objeto que ya se creó a través del Servicio, el mapa no se muestra. Mi objeto de mapa es correcto (si lo consuelo. log() por ejemplo) pero no se agrega al contenedor.

Aquí está el servicio:

 export class MapboxService { public map: Map | undefined = undefined constructor(private http: HttpClient) { } private loadMap(center: [number, number]): void { this.map = new Map({ container: 'map', style: 'mapbox://styles/planidays/ckqbcju7w2acp18qtgj9xyegw', center: center, zoom: 15, }) // Add zoom and rotation controls to the map. this.map.addControl(new NavigationControl()) } public getMap(center: [number, number]): Map | undefined { if (!this.map) { this.loadMap(center) } return this.map ? this.map : undefined } }

Aquí está el componente personalizado TS:

 export class MapComponent implements OnInit { center: [number, number] = [-73.974187, 40.771133] private map: mapboxgl.Map | undefined = undefined constructor(private mapboxService: MapboxService) {} ngOnInit(): void { this.map = this.mapboxService.getMap(this.center) } }

Aquí está el HTML del componente personalizado:

 <div #map id='map' class="map"></div>

Creo que la referencia del contenedor cambia cada vez que uso el objeto del mapa, por lo que no se agrega, pero no estoy seguro. Alguna idea ?

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