Leaflet: Erro: o contêiner do mapa já foi inicializado

Criado em 24 out. 2015  ·  20Comentários  ·  Fonte: Leaflet/Leaflet

atualizando um mapa de folheto dando Erro: O contêiner do mapa já foi inicializado

Comentários muito úteis

Antes de inicializar o mapa verifique se o mapa já foi iniciado ou não

var container = L.DomUtil.get('map');
if(contêiner != null){
container._leaflet_id = null;
}

Todos 20 comentários

Parece que você está tentando reiniciar um mapa existente... Os quadros de problemas aqui são mais para trabalhar com bugs e sugestões de novos recursos. StackOverflow(http://stackoverflow.com/questions/tagged/leaflet) é o melhor lugar para solucionar problemas de uso da biblioteca. Se você acredita que isso é um bug, poste seu caso de exemplo em um JSFiddle ou outro site de demonstração.

Parece que o problema está relacionado à implementação no MVVM e não a um bug. Tentarei pesquisar alguns exemplos de MVVM usando o folheto.

mesmo problema aqui... o que pode ser?

@ralexrdz talvez um contêiner que você inicialize mais de uma vez?

@mourner O html é basicamente html carregando js e css e um div com id="map". E o único js que eu tenho é
map.setView([19,34, -99,15], 12);
L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}', {
atribuição: 'Dados do mapa © contribuidores do OpenStreetMap , CC-BY-SA , Imagery © Mapbox ',
maxZoom: 18,
id: 'mapboxMapId,
accessToken: 'mapboxAccessToken'
}).addTo(mapa);
Como pode ser que um contêiner seja inicializado antes?

estou tendo o mesmo problema, estou usando o folheto no React

Isso será um bug do folheto de reação provavelmente @epicallan

@danzel estou usando o react, seu bug do folheto de reação, apenas fiz algumas soluções hacky

@epicallan Você pode explicar o que você fez? Eu tenho o mesmo problema com React e Leaflet.

Antes de inicializar o mapa verifique se o mapa já foi iniciado ou não

var container = L.DomUtil.get('map');
if(contêiner != null){
container._leaflet_id = null;
}

@Dipinrajc Com este método, você não está disponível para arrastar com o mouse no mapa.

Alguma ideia de como arrastar o mapa novamente com o mouse @adrielstar ?

Eu nós essa @fillipefeitosa .

HTML:
< div id="mapa" ></div>

mapa de renderização:
document.getElementById('map').innerHTML = "< div id='map' style='width: 100%; height: 100%;'>";

para recarregar o conteúdo da div onde o mapa de renderização.
Hoop isso vai te ajudar também

Obrigado amigo, mas não funcionou. Ele substituiu meu var map pelo div e o mapa não carrega

Antes de inicializar o mapa verifique se o mapa já foi iniciado ou não

var container = L.DomUtil.get('map');
if(contêiner != null){
container._leaflet_id = null;
}

existe um método de folheto existente para isso?

mesmo problema comigo :(

Antes de inicializar o mapa verifique se o mapa já foi iniciado ou não
var container = L.DomUtil.get('map');
if(contêiner != null){
container._leaflet_id = null;
}

existe um método de folheto existente para isso?

@enzojimenez , você pode criar um método para isso, como criei abaixo

function initializingMap() // chame este método antes de inicializar seu mapa.
{
var container = L.DomUtil.get('map');
if(contêiner != null){
container._leaflet_id = null;
}
}

Para resolver o problema, defina:
import * as Map from 'folheto';

@ViewChild ('map') mapElement: ElementRef;
mapa: Map.Map;

this.map = Map.map (this.mapElement.nativeElement, {
maxZoom: 18
});

Solução aqui: https://www.designlimbo.com/leaflet-ionic-3-and-map-container-is-already-initialized/

como dito aqui , esta seria a melhor maneira de fazer isso:
if (map != undefined) { map.remove(); }

Antes de inicializar o mapa verifique se o mapa já foi iniciado ou não

var container = L.DomUtil.get('map');
if(contêiner != null){
container._leaflet_id = null;
}

Você é um anjo

Esta página foi útil?
0 / 5 - 0 avaliações