访问Openlayers网站(https://jinuss.github.io/Openlayers_map_pages/,网站是基于
Vue3
+Openlayers
,里面有大量的实践和案例。觉得还不错,可以给个小星星Star,鼓励一波 https://github.com/Jinuss/OpenlayersMap哦~
概述
Openlayers 中内置了9类控件,这9类控件都是基于Control
类,而Control
类则是继承于BaseObject
类,如下图所示:
如上,这9类控件分别是:
Attribution
:属性控件,可参考源码分析之Openlayers中的Attribution属性控件FullScreen
:全屏控件,可参考源码分析之Openlayers中FullScreen全屏控件详解MousePosition
:鼠标位置控件,可参考源码分析之Openlayers中MousePosition鼠标位置控件OverviewMap
:鹰眼控件,可参考源码分析之Openlayers中OverviewMap鹰眼控件Rotate
:旋转控件,可参考源码分析之Openlayers中的Rotate旋转控件
ScaleLine
:比例尺控件,可参考源码分析Openlayers中ScaleLine比例尺控件Zoom
:缩放控件,可参考源码分析之Openlayers中的Zoom缩放控件ZoomSlider
:滑动缩放控件,可参考源码分析之Openlayers中ZoomSlider滑块缩放控件ZoomToExtent
:缩放到指定视图范围控件源码分析之Openlayers中的ZoomToExtent控件
本文主要介绍上述9种控件的基类Control
类。
源码剖析
Control
类的实现如下:
class Control extends BaseObject {
constructor(options) {
super(