2016-12-01 7 views
2

リーフレット(v 1.0.2)でd3を使用していて、viewresetイベントをキャッチする必要がありますが、起動されません。リーフレットバージョン1.0.2でイベントビューセットが起動しない

this.map.on("viewreset",() => console.log("VIEW RESET")); 

他にこの問題がありますか?たとえば、zoomendイベントをキャッチすることができます。

また、svgレイヤーの位置などを操作することは、リーフレットの新バージョンにも苦労しますが、それは別の話です。

による問題をhttp://leafletjs.com/reference-1.0.2.html

+1

もう少しコードを提供できますか?例えば、この 'on(" viewreset ")'イベントバインドをどこで呼びますか? – echonax

+0

こんにちは!ここに問題のあるjsfiddleがあります。http://jsfiddle.net/LnzN2/558/ – Martin

答えて

4

を示すJSFidlle:https://github.com/Leaflet/Leaflet/issues/4837 1.0で

、層は、ズーム(ズーム変更)とviewreset(層のフルリセット)の両方に依存する必要があろう。これは、flyToやその他の任意のアニメーションを実装するために必要でした。

とIn:https://github.com/Leaflet/Leaflet/pull/3278

のでviewresetイベントはもはやズームでトリガされる代わりに

viewresetイベントを削除しないと、層にのみズームイベントに依存します。

+1

こんにちは!あなたが言うようにそれが削除されたようです。 D3SvgOverlay [リンク](https://github.com/teralytics/Leaflet.D3SvgOverlay)プロジェクトを見ると、ifステートメントを使用して、バージョン1よりも上のチラシだけでなく、ビューのリセット以外のイベントを捕捉できます。 ありがとう回答。 – Martin