2017-07-03 5 views
0

GeoJSONを使用してフィーチャーレイヤーにデータをインポートするプロジェクトでfitBoundsコマンドを使用することができません。featureGroup内のJSONデータを持つmap.fitBounds()

map.fitBounds(pointsFeatureGroup.getBounds()); // Uncaught Error: Bounds are not valid. at e.fitBounds (leaflet.js:5) 

と、この:

この

https://github.com/DPB61/leafletjs_problem2

私は個別のマーカーに持ち込む場合:

var bounds = L.latLngBounds(pointsFeatureGroup); // Uncaught Error: Bounds are not valid. at e.fitBounds 
map.fitBounds(bounds); 

は私の簡素化コードはここにある

を動作しません。通常のレイヤーに変換すると、次のようなコマンドが実行されます。

map.fitBounds(PointsLayer.getBounds()); 

ただし、フィーチャレイヤが必要な他の機能では他の問題が発生します。

何か間違っていますか?

答えて

0

根本的な原因は古典的な非同期の問題です。

は(なし子層)vesselsFeatureGroupはまだ空である、あなたはmap.fitBounds(vesselsFeatureGroup.getBounds())を呼び出すときにHow do I return the response from an asynchronous call?

を参照してください、それゆえリーフレットは限界を計算することはできません。私がやるべきことがたくさんより多くの研究を持っているよう

は、単にあなたの非同期タスクのコールバック内getBoundsfitBounds呼び出し($.getJSON

+0

が見えます! 2回目の読書の後でさえ、それは私の頭を越えました。しかし、私はあなたの郵便から問題の原因を見て、さらに移動するためにリンクの情報を調べます。 – DB61

関連する問題