私は2枚目のアプリケーションでリーフレットを使用しています。アプリを初めて実行するとき。 Everyhtingは大丈夫です。しかし、別のページに移動してマップに戻った場合、次の例外が発生します。LeafletJS:マップコンテナは既に初期化されています
例外:エラー:未知(約束):例外:ビルド/ページ/マップ/ map.htmlのエラー:12:18 ORIGINAL EXCEPTION:エラー:マップコンテナが既に初期化されています。 ORIGINAL STACKTRACE: エラー:マップコンテナが既に初期化されています。
このページに戻ると、私用変数マップはnullになります。私は問題が新しいL.Map(「mainmap」であると思うので、ヌルをbeeingて、この変数をチェックすると、あなたのngOnInit()
で
export class MainMapComponent {
private map;
constructor(
private mapService: MapService,
private geoCodingService: GeocodingService) { }
ngOnInit() {
console.log(this.map);
if(this.map == null) this.initMap();
}
initMap() {
console.log('init');
if(this.map) this.map.remove();
this.map = new L.Map('mainmap', {
zoomControl: false,
center: new L.LatLng(40.731253, -73.996139),
zoom: 12,
minZoom: 4,
maxZoom: 19,
layers: [this.mapService.baseMaps.OpenStreetMap],
attributionControl: false
});
console.log(this.map);
}
}
を参照してください?あなたの 'mainmap'はどこにありますか?あなたのコンポーネントテンプレートで?ありがとう! –