ページを更新すると、Chromeで次のエラーが発生します。
Uncaught TypeError: Cannot read property '_leaflet_id' of undefined leaflet.js:6
(anonymous function) leaflet.js:6
n.Map.n.Class.extend.hasLayer leaflet.js:6
domController.map.manageZoom domController.leaflet.js:647
n.Mixin.Events.fireEvent leaflet.js:6
n.Map.n.Class.extend._resetView leaflet.js:6
n.Map.include.n.DomUtil.TRANSITION._onZoomTransitionEnd leaflet.js:6
n.Map.include.n.DomUtil.TRANSITION._catchTransitionEnd leaflet.js:6
e.(anonymous function).u
これは次の場合に発生します。
if (!map.hasLayer(tilelayer)) {}
なぜこれが起こっているのか、そしてそれをどのように解決するのか、何か考えはありますか?
これが発生すると、マップは更新されるまで使用できなくなります。
これは、この行が実行された時点でtilelayer
変数が未定義の場合に発生します。 そこにデバッガーステートメントを配置し、それを理解するのは難しいことではありません。
ありがとう。
やあ、
Leaflet 1.0Betaでも同じ問題が発生しています。 このエラーが発生しました:
Uncaught TypeError:未定義のプロパティ '_leaflet_id'を読み取れません
この行:
obj._leaflet_id = obj._leaflet_id || ++ L.Util.lastId;
スタンプ機能について
これを手伝ってくれませんか。 新しいチケットを作成しました(https://github.com/Leaflet/Leaflet/issues/3877)
この問題は通常、addLayer(tileLayer)を使用するときにtileLayerの値がnullになることが原因で発生します。tileLayerの初期化が正しいかどうかを確認してください。
最も参考になるコメント
これは、この行が実行された時点で
tilelayer
変数が未定義の場合に発生します。 そこにデバッガーステートメントを配置し、それを理解するのは難しいことではありません。