[2]openlayers API之地图鹰眼OverviewMap
参考书籍《WebGIS之OpenLayers全面解析》,研究OpenLayers的API。
地图鹰眼俗称地图的鸟瞰图或者缩略图。可以通过鹰眼知道当前地图位置,可以在鹰眼上单击、拖动或移动到想要查看的位置。
鹰眼的可视范围比较广阔,主图的地图信息比鹰眼详细。
OpenLayers 3封装的鹰眼控件为ol.control.OverviewMap,具体此API的详细请参考http://openlayers.org/en/latest/apidoc/ol.control.OverviewMap.html。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>OverViewMap</title>
</head>
<script type="text/javascript" src="js/ol.js"></script>
<link href="css/ol.css" rel="stylesheet" type="text/css"/>
<style type="text/css">
#map{
width:100%;
height:580px;
}
//鹰眼样式
.ol-custom-overviewmap,.ol-custom-overviewmap.ol-uncollapsible{
bottom:auto;
left:auto;
right:0; //右侧显示
top:0; //上方显示
}
//鹰眼控件展开时控件外框的样式
.ol-custom-overviewmap:not(.ol-collapsed){
border: 1px solid black;
}
//鹰眼控件中地图容器的样式
.ol-custom-overviewmap .ol-overviewmap-map{
border:none;
width: 300px;
}
//鹰眼控件中显示当前窗口中主区域的边框
.ol-custom-overviewmap .ol-overviewmap-box{
border: 2px solid red;
}
//鹰眼控件展开时其控件的按钮图标
.ol-custom-overviewmap:not(.ol-collapsed) button{
bottom: auto;
left: auto;
right:1px;
top:1px;
}
</style>
<body>
<div id="map"></div>
<script type="text/javascript">
//实例鹰眼控件
var overviewMapControl = new ol.control.OverviewMap({
className: 'ol-overviewmap ol-custom-overviewmap', //鹰眼控制样式
//在鹰眼中加载不同的数据源图层
layers: [
new ol.layer.Tile({
source:new ol.source.OSM({
'url':'http://{a-c}.tile.opencyclemap.org/cycle/{z}/{x}/{y}.png'
})
})
],
collapseLabel: '\u00BB', //鹰眼展开时功能按钮上的标识
label: '\u00AB', //鹰眼控件折叠时功能按钮标识
collapsed:false //初始为展开显示方式
});
//实例map对象
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
view: new ol.View({
center: [12000000, 4000000],
zoom:8
}),
//加载控件到地图容器,加载鹰眼控件
controls: ol.control.defaults().extend([overviewMapControl])
});
</script>
</body>
</html>
转载自:https://blog.csdn.net/NancyHelloWorld/article/details/53522829