OpenLayers移動時にVectorが消えるエラー
3496 ワード
OpenLayers
Webブラウザに地図データを表示するJavaScriptライブラリ
レイヤーを開くことで、レイヤー、ベクトルデータ、タグ、その他の外部データなどを地図で表すことができます.
リンク
https://openlayers.org/
fit()
マップを特定の領域に移動する機能
ただし、座標値が分かれば、let bbox = [123, 23 , 164, 21]
map.getView().fit(bbox,{option})
option
fitの使用をより素晴らしいオプションにする
size
ボックスのピクセルサイズを範囲に合わせて設定します.
padding
塗りつぶし値の設定
minResolution & maxZoom
最小解像度と最大スケールの設定
duration
フィットしています.移動中にアニメーションのようにすばやく移動します.
callback
到着後に実行される関数
FitとsetCenterの違い
fit画面にboundaryBoxを表示する機能
枠線を画面中央に移動
この機能を実行しながら複数のオプションを指定できます.
setCenterは座標を緯度線として移動する
移動のみ
エラー
最初の移動ボタンを押して、2番目の移動ボタンを押して、再び1番目の移動ボタンを押すと、地図上のVectorLayerは描画されません.
初めての試み。fit to setCenter
ボタンをfitに設定するとsetCenterに変更されますが、同じ問題が発生します.
2回目の試み。setZoomとsetRevolution
vectoy layerは、描画がなくても平行移動、スケール、終了が再描画されるため、setZoomまたはsetRevolutionで値が変更されますが、同じエラーが発生することを知っています.
3回目の試み。setExtent
マウスでズーム、パンするときは、ベクトルレイヤのextent値が変更されていることを確認します.
setExtentでvectorlayerのext値を再設定しましたが、移動位置の正確な座標値を知るのは難しいです(getExtent、calculateExtentを使用していますが、若干の誤差があります).
4回目の試みマウントとポリシー
地図移動時の値の変化を検索してみました.
Vector Layerでloaderとstrategyをカスタマイズできます.
リンク
https://gis.stackexchange.com/questions/322681/openlayers-refresh-vector-source-with-bbox-strategy-after-map-moved
リンク
https://openlayers.org/en/v4.6.5/apidoc/ol.source.Vector.html
リンク
https://openlayers.org/en/latest/apidoc/module-ol_loadingstrategy.html#.bbox
これに基づいて、ポリシーのextension値とloadのextension値が異なる場合、vectoy layerを再拡張します.
ただし、同じvector layerは複数回レンダリングされます.
最後に
4回目の試みで再生の問題が見つかった
コンソールで撮影した結果
ポリシーはloaderによって実行され、実行されます.
ロードが完了すると、再実行されることがわかります.
したがって、ポリシーは、loader終了時のextension値を比較することによって、ベクトルレイヤがレンダリングされる現象を解決する.
に感銘を与える
もちろん、これは完璧な解決策ではないかもしれません.
しかし、これらのソリューションはopenlayersがどのように動作しているかを理解しました.
再構築によってより良いソリューションが見つかった場合、ブログの記録を再度行います.
Reference
この問題について(OpenLayers移動時にVectorが消えるエラー), 我々は、より多くの情報をここで見つけました
https://velog.io/@kbm940526/OpenLayers-이동-시-Vector-사라지는-오류
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
let bbox = [123, 23 , 164, 21]
map.getView().fit(bbox,{option})
Reference
この問題について(OpenLayers移動時にVectorが消えるエラー), 我々は、より多くの情報をここで見つけました https://velog.io/@kbm940526/OpenLayers-이동-시-Vector-사라지는-오류テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol