[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

You may also like...