Leaflet: エラー:マップコンテナはすでに初期化されています

作成日 2015年10月24日  ·  20コメント  ·  ソース: Leaflet/Leaflet

リーフレットマップを更新すると、エラーが発生します:マップコンテナはすでに初期化されています

最も参考になるコメント

マップを初期化する前に、マップがすでに開始されているかどうかを確認してください

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

全てのコメント20件

既存のマップを再初期化しようとしているようです...ここにある問題ボードは、バグや新機能の提案を処理するためのものです。 StackOverflow(http://stackoverflow.com/questions/tagged/leaflet)は、ライブラリの使用法のトラブルシューティングに適した場所です。 これがバグによるものであると思われる場合は、JSFiddleまたは別のデモサイトにサンプルケースを投稿してください。

問題はMVVMでの実装に関連しており、バグではないようです。 リーフレットを使用していくつかのMVVMの例を検索しようとします。

ここで同じ問題...それは何でしょうか?

@ralexrdzおそらく、複数回初期化するコンテナですか?

@mourner htmlは、基本的にhtmlヘッドローディングjsとcss、およびid="map"のdivです。 そして私が持っている唯一のjsは
map.setView([19.34、-99.15]、12);
L.tileLayer('https://api.tiles.mapbox.com/v4/ {id} / {z} / {x} / {y} .png?access_token = {accessToken}'、{
アトリビューション:'マップデータ© OpenStreetMap寄稿者、 CC-BY-SA 、画像© Mapbox '、
maxZoom:18
id:'mapboxMapId、
accessToken:'mapboxAccessToken'
})。addTo(map);
コンテナが以前に初期化されているのはどうしてですか?

私は同じ問題を抱えています、私はReactでリーフレットを使用しています

それはおそらく@epicallanのreact-leafletバグになります

@danzel私はreactを使用しています、そのreact-leafletバグ、ちょうどいくつかのハッキーな回避策をしました

@epicallan何をしたか説明していただけますか? ReactとLeafletでも同じ問題があります。

マップを初期化する前に、マップがすでに開始されているかどうかを確認してください

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

@Dipinrajcこの方法では、マップ上でマウスを使ってドラッグすることはできません。

マウス@adrielstarでマップを再度ドラッグする方法はありますか?

私たちはこの@fillipefeitosaを使用します。

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

マップのレンダリング:
document.getElementById('map')。innerHTML = "<div id ='map' style ='width:100%; height:100%;'>";

マップをレンダリングするdivのコンテンツをリロードします。
フープこれもあなたを助けます

友人に感謝しますが、それはうまくいきませんでした。 var mapをdivに置き換え、マップが読み込まれません

マップを初期化する前に、マップがすでに開始されているかどうかを確認してください

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

このための既存のリーフレット方法はありますか?

私と同じ問題:(

マップを初期化する前に、マップがすでに開始されているかどうかを確認してください
var container = L.DomUtil.get('map');
if(container!= null){
container._leaflet_id = null;
}

このための既存のリーフレット方法はありますか?

@enzojimenez 、以下で作成したように、このための1つのメソッドを作成できます

function initializingMap()//マップを初期化する前にこのメソッドを呼び出します。
{{
var container = L.DomUtil.get('map');
if(container!= null){
container._leaflet_id = null;
}
}

問題を解決するには、次のように定義します。
import * as Map from'leaflet';

@ViewChild('map')mapElement:ElementRef;
マップ:Map.Map;

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

Solucionaquí: https ://www.designlimbo.com/leaflet-ionic-3-and-map-container-is-already-initialized/

ここで述べたように、これはそれを行うための最良の方法です:
if (map != undefined) { map.remove(); }

マップを初期化する前に、マップがすでに開始されているかどうかを確認してください

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

あなたは天使だ

このページは役に立ちましたか?
0 / 5 - 0 評価