1. 代码块
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>加载缩放滑块</title>
<link rel="stylesheet" href="openlayers/css/ol.css">
<script src="openlayers/build/ol.js"></script>
<style type="text/css">
#map {
width: 100%;
height: 95%;
position: absolute;
}
/* 缩放滑块控件ZoomSlider的样式,放置到缩放按钮之间实现导航条功能*/
#map .ol-zoom .ol-zoom-out {
margin-top: 204px;
}
#map .ol-zoomslider {
background-color: transparent;
top: 2.3em;
}
#map .ol-touch .ol-zoom .ol-zoom-out {
margin-top: 212px;
}
#map .ol-touch .ol-zoomslider {
top: 2.75em;
}
#map .ol-zoom-in .ol.has-tooltip:hover[role=tooltip],
#map .ol-zoom-in .ol-has-tooltip:focus[role=tooltip] {
top: 3px;
}
#map .ol-zoom-out .ol-has-tooltip:hover[role=tooltip],
#map .ol-zoon-out .ol-has-out-tooltip:focus[role=tooltip] {
top: 232px;
}
#map .ol-zoom-extent {
top: 280px;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.OSM(),
})
],
view: new ol.View({
center: [0, 0],
zoom: 2,
})
});
// 滑块控件,拖动滑块实现地图缩放
var slider = new ol.control.ZoomSlider();
map.addControl(slider);
// 所放置指定范围,extent四个点为EPSG: 3857坐标系
var zoomToExtent = new ol.control.ZoomToExtent({
extent: [
13100000, 4290000,
13200000, 5210000
]
});
map.addControl(zoomToExtent);
</script>
</body>
</html>
2. 效果图
参考:郭明强, 黄颖. WebGIS之OpenLayers全面解析第2版, 电子工业出版社.