OpenLayers のドキュメントによると、コンストラクター OpenLayers.Map() は、 「マップの初期範囲」である追加のプロパティ範囲を許可します(こちらを参照)。
しかし、効果を得ることができません。マップの作成後に.zoomToExtent() を呼び出すことで、初期範囲を設定できることはわかっています。しかし、 eventListenersプロパティにzoomendイベントを設定しましたが、 . zoomToExtent()への最初の呼び出しでトリガーしたくないため、この範囲プロパティを使用したいと思います。この範囲プロパティの使用方法を知っている人はいますか?
これは動作していないコードです
map = new OpenLayers.Map('map',{
extent: bounds,
layers: [osmLayer,vectorLayer],
projection: "EPSG:900913",
eventListeners: {
zoomend: function() {
//..zoomend event listener code
}
}
});
上記の例では:
- 境界は有効なOpenLayers.Boundsオブジェクトです
- osmLayerとvectorLayerは有効なOpenLayers.Layerオブジェクトであり、osmLayerはベース レイヤーです。
上記のコードで何が起こるかというと、マップが完全に縮小され (実際には何も見えません)、パンしようとするとエラーがスローされます。マップを正しい状態にするには、ユーザーがズームインする必要があり、パンが再び機能し、マップが表示されます。