2008年10月16日木曜日

OpenLayers 15g Overview(オーバービュー、リファレンス)

Overview Map(overviewmap.html)を参考に、リファレンス(参照)地図を表示します。
OpenLayers.Map のオプションを次のように修正します。
このとき、OpenLayers.Control.PanZoomBar を削除します。
map.addControl で Overview を設定するとエラーになるためです。

---
function init(){
OpenLayers.ProxyHost="/cgi-bin/proxy.cgi?url=";
var mapOptions = {
// controls: [new OpenLayers.Control.PanZoomBar()],
numZoomLevels: 10,
maxResolution: 'auto',
units: 'meters',
maxExtent: extent
};
map = new OpenLayers.Map('map', mapOptions);
---

地図の表示部分のスクリプトに OpenLayers.Control.OverviewMap を次のように追加します。

---
map.addLayers([layer1, layer3, layer4, layer5, layer6, layer7, layer8]);
var panel = new OpenLayers.Control.NavToolbar({'div':OpenLayers.Util.getElement('paneldiv')});
map.addControl(panel);
map.zoomToMaxExtent();
map.setOptions({restrictedExtent: extent});
var click = new OpenLayers.Control.Click();
map.addControl(click);
click.activate();
map.events.register("moveend", null, displayZoom);
map.fractionalZoom = input.checked;
map.zoomTo(Math.round(map.zoom));
nav = new OpenLayers.Control.Navigation({'zoomWheelEnabled': false});
map.addControl(nav);
map.addControl(new OpenLayers.Control.LayerSwitcher());

//ここから追加
var controlOptions = {
mapOptions: mapOptions
};
var overview = new OpenLayers.Control.OverviewMap(controlOptions);
map.addControl(overview);
overview.maximizeControl();
//ここまで
}
function displayZoom() {
document.getElementById("zoom").innerHTML = map.zoom.toFixed(4);
}
</script>
---

0 件のコメント: