2008年10月16日木曜日

OpenLayers 15e スクロールボタンでズーム

Navigation Control(navigation-control.html)を参考に、マウスのスクロールボタンでズーム操作ができるようにします。
地図表示部分に、zoomWheelEnabled を次のように追加します。

---
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); //追加

}
function displayZoom() {
document.getElementById("zoom").innerHTML = map.zoom.toFixed(4);
}
</script>
---

<body> タグ内に次のように <div> タグを追加し、機能の on, off を追加します。

---
<div id="map"></div>
<div id="paneldiv" class="olControlNavToolbar"></div>
<div style="margin-left:50px;">zoom: <span id="zoom"></span></div>
<!-- ここを追加 on, offの表示-->
<div style="margin-left:50px;"><a href="#" onclick="nav.enableZoomWheel();return false">Turn on Wheel Zoom</a> | <a href="#" onclick="nav.disableZoomWheel(); return false;">Turn off Wheel Zoom</a></div>
---

0 件のコメント: