2017-08-24 3 views
2

ユーザーが提供されたアイコンをクリックして2番目のクリックで元のサイズに圧縮すると、フルスクリーンにリサイズされるリーフレットマップがあります。リーフレットマーカーはinvalidateSizeの後に位置を失います

サイズ変更後にinvalidateSize()メソッドを使用していますが、マップ上にあるマーカーの位置が失われていることに気付きました。

enter image description here


問題は、私がクリック上のマーカーの位置を更新したと私はサイズ変更ボタンをクリックすると思うということであったマーカーが間違った位置に設定する座標原因。だからリーフレットはうまく動作します。 event.preventDefault()ではなく、拡大アイコンのevent.stopPropagation()を使用して修正しました。

答えて

0

setTimeout(function(){map.invalidateSize()},500) 
+0

ない成功を検証することで設定されたタイムアウトを試してみてください。 250ms、500ms、1000msを試しました。ピンはちょうど別の場所で終わった。 –

+0

マーカーを取り除き、invalidateSizeの後でもう一度やり直してみてください。少なくとも – KEKUATAN

+0

というコードを教えてください。私はそれを行うことができますが、マーカーが増えた場合は非常に悪いアプローチのようです。私はquickfixの代わりに適切な解決策を好むでしょう:) –

関連する問題