私はOpenLayersマップ(Google Mapsベースレイヤーを使用)をズームして、与えられたすべての座標リストをビューに収める必要があります。OpenLayers 3:配列の座標へのズームマップ
pointsDecimal: Array[50]
0: 148.77638
1: -34.491728
2: 148.77896
3: -34.492302
4: 148.778090711323
...
偶数インデックス(0、2、4等)、経度であり、奇数:
私はこのようになりpointsDecimal
命名経度と緯度のペアの配列の座標を保存しました(1,3,5など)は緯度です。
これは私が使用しようとしているコードです:
map.getView().fit(pointsDecimal, map.getSize());
は、しかし、いくつかの理由のために、この座標で最大ズームレベルで私を置き、[0,0] - ギニア湾では、ありませんで私がしたいと思っている南東ウェールズ南東部!
pointsDecimal
アレイの代わりにOpenLayersソース(例:source.getExtent()
)を使用していた場合、これははるかに簡単ですが、これはオプションではありません。配列のみを使用できます。
誰でも私に何かヒントを教えてもらえますか?
編集:私はほぼそこにいると思います、Anupamのおかげです。これは私が今持っているものです。
var extent = [pointsLongMin,pointsLatMin,pointsLongMax,pointsLatMax];
map.getView().fit(extent,map.getSize());
次のように私は配列に渡している値は次のとおりです。
pointsLongMin: 148.771162
pointsLatMin: -34.5029736405108
pointsLongMax: 148.77896
pointsLatMax: -34.491728
しかし、私はまだ[0,0で海に出てダンプ取得していますが]。私はここで間違って何をしていますか?
私はこれが私を近づけていると確信していますが、それでも私は海の同じ場所に私を投棄しています。上記のコードを正確にコピーしました...これがうまくいかない理由が考えられますか?ご協力いただきありがとうございます。 –
理由は実際にあなたが共有した配列からそれらを選んだだけです。正しい範囲を渡すだけです。 –
まだ動作しない - 上記の私の編集を参照してください。私が間違っていることは解決できません。何か案は?あなたのお手伝いをありがとう... –