
openlayers是一个按照面向对象原则设计的一个开发库,里面的一切都是对象。
(JAVA C++ PHP C# JS等 特点:封装、继承、多态)
核心组件:ol.Map (WebGIS前端 一切皆地图,ol中几乎所有的类都与Map之间有着直接或者间接的关系)
①controls:一个Map中可以包含很多个控件,map类中有个属性controls(控件数组)。
②interactions:交互行为,一个map中只能有一个交互行为数组([]),但这个数组中可以包含多个交互行为,或者没有交互行为。
③layers:一个map可能没有或者有多个图层,由图层的集合类管理(图层数组),多个图层逗号分开存储,ol.layer.base即为基类图层。
④overlays:查看某个要素的属性,弹出属性框即为overlay;在地图上放置div图标,通过创建overlay,把html元素绑定给ol.overlay,再放到overlays的集合里面。
上面四个都通过ol.collection集合展示
⑤view:一个view只能绑定在一个view上(中心、投影、缩放等)
以下为使用上述类来构建map组件的示例代码,包括地图视图(view)、地图图层(layers)、地图控件(controls)、地图悬浮物(overlays)、交互控件(interactions)。
document
html,body{
width: 100%;
height: 100%;
}
.map{
width: 80%;
height: 80%;
margin: auto;
margin-top: 50px;
border: red;
border-style: double;
}
.beijing{
width: 50px;
height: 30px;
background: url("timg.jpg") center center no-repeat;
background-size: 100% 100%;
}