2016-03-27 8 views
0

マップに道路の選択肢を表示するAngular.jsとangle-leaflet-directiveを使って書かれたWebアプリケーションがあります。私はいくつかのブックマークをいくつかのエリアに簡単にナビゲートできるようにしました。そのため、centerzoomの属性を使用してマップエクステンションのナビゲーションをベースにしていました。Leaflet.jsでcenter属性とbounds属性を同時に使用することはできますか?

現在、道路が現在の地図の範囲で表示されているかどうかを判断する機能も含まれています。
map.getBounds().contains([roadLatA, roadLngA]) || map.getBounds().contains([roadLatB, roadLngB])ここで、AとBは道路の終点を示します。

getBounds()が再び呼び出されたときの任意の種類のインタラクション(ドラッグ、ズームイベントなど)の後では、これはバウンディングボックスの各隅に同じLatLngを返します。デフォルトはcenterです。多くのリファクタリングの後に私はcentergetBounds()の両方をうまく組み込む方法を見つけることができません。

angle-leaflet-directiveまたはleaflet.jsには制限があります。つまり、マップエクステントを設定する2つの方法が互いに矛盾していますか?

+0

あなたが記述する 'getBounds'ビヘイビアは非常に奇妙です。あなたの問題をオンラインで再現する可能性があります。 (例えば、Plunker上で) – ghybs

答えて

0

私は今問題を解決しましたが、leafletData.getMap()を呼び出す際にmap要素のidを渡さずに問題が解決しました。

idなし)初期getMap()コールが正しいマップオブジェクトを返していましたので、この動作は、私を投げていたが、その後の呼び出し(ユーザとの対話の後)に$promiseが解決されていなかったので、私は未定義になったりされませんでしたその他のエラー。私はgetBounds()関数が間違ったマップオブジェクトで呼び出されていたと思います。