OpenLayers入门-第一篇、基本概念与核心组件

简介: OpenLayers入门-第一篇、基本概念与核心组件

学习一下openlayers里面的一些基本概念,npm地址


OpenLayers入门-第二篇、在vue3中使用elementplus制作图层控件,图层切换,显示隐藏,图层排序

npm install ol

OpenLayers是一个高性能、功能丰富的库,用于在web上创建交互式地图。它可以显示地图瓷砖,矢量数据和标记加载从任何来源在任何网页。OpenLayers的开发是为了进一步使用各种地理信息。它是完全免费的,开源JavaScript。

1.Map

A map is made of layers, a view to visualize them, interactions to

modify map content and controls with UI components.

译文: 地图由层、可视化它们的视图、修改地图内容的交互和使用UI组件的控件组成。

地图是OpenLayers的核心组件。要渲染一个地图,需要一个视图、一个或多个层和一个目标容器:

import Map from 'ol/Map';
import View from 'ol/View';
import TileLayer from 'ol/layer/Tile';
import OSM from 'ol/source/OSM';

var map = new Map({
  view: new View({
    center: [0, 0],
    zoom: 1
  }),
  layers: [
    new TileLayer({
      source: new OSM()
    })
  ],
  target: 'map'
});

2.View

The view manages the visual parameters of the map view, like

resolution or rotation.View with center, projection, resolution and

rotation.

视图管理地图视图的可视参数,如分辨率或旋转。 中心视图,投影,分辨率和旋转。

图不负责地图的中心、缩放级别和投影。相反,这些是ol/View实例的属性。

3.Layers

Layers are lightweight containers that get their data from sources.

图层是从数据源获取数据的轻量级容器。默认投影3857,即墨卡托投影(高纬度地区被拉升,变形严重,但低纬度地区展示数据较好直观),比如说加载天地图,默认加载_w结尾的。


高德地图中也是可以加载第三方地图服务的,只支持3857

Layers种类:

  1. ol/layer/Tile
  2. ol/layer/Image
  3. ol/layer/Vector
  4. ol/layer/VectorImage
  5. ol/layer/VectorTile
  6. ol/layer/WebGLTile

4.Controls

控件是一个可见的小部件,具有一个位于屏幕上固定位置的DOM元素。它们可以包含用户输入(按钮),也可以只是信息;位置是使用CSS确定的。默认情况下,它们被放置在CSS类名为ol-overlaycontainer-stopevent的容器中,但可以使用任何外部DOM元素。

  1. Map default controls
  2. All controls

5.Interactions

用户与地图之间的交互操作,包括:

  1. Map default interactions
  2. Interactions for vector features
  1. ol/interaction/Select
    ol/interaction/Draw
    ol/interaction/Modify
  2. All interactions

例如:

  1. 地图旋转
import DragRotate from 'ol/interaction/DragRotate'

ol/interaction/DragRotate这个模块允许用户通过点击和拖动地图旋转地图,通常结合一个模块:ol/events/condition,当按住alt和shift键时限制它。

  1. 地图缩放
import KeyboardZoom from 'ol/interaction/KeyboardZoom';

ol/interaction/KeyboardZoom模块允许用户使用键盘+和-缩放地图。注意,虽然这种交互默认情况下包含在映射中,但只有当浏览器的焦点集中在键盘事件所附加的元素上时,才能使用键。默认情况下,这是map div,但您可以使用模块:ol/ map ~ map中的keyboardEventTarget更改它。Document永远不会失去焦点,但是对于任何其他元素,如果键要发挥作用,焦点必须是在这个元素上并返回。

6.Sources and formats

数据源和对应的格式

7.Projections

坐标系转化工具模块

All coordinates and extents need to be provided in view projection

(default: EPSG:3857). To transform coordinates from and to

geographic, use

ol/proj#fromLonLat()

and

ol/proj#toLonLat().

For extents and other projections, use

ol/proj#transformExtent()

and

ol/proj#transform().

ol/proj

8.Observable objects

监听器,监听ol/Objects,主要用来监听自定义的属性。

Changes to all ol/Objects can be observed by calling the

object.on(‘propertychange’) method. Listeners receive an

ol/Object.ObjectEvent with information on the changed property and old value.

9.Other components

  1. ol/Geolocation
  2. ol/Overlay


相关文章
|
缓存 资源调度 JavaScript
瓦片地图的介绍和Vue中使用Openlayer加载瓦片地图的方法使用
瓦片地图的介绍和Vue中使用Openlayer加载瓦片地图的方法使用
2894 0
|
定位技术 开发工具 Android开发
Leaflet开发入门
Leaflet开发入门
678 0
Threejs实现模拟河流,水面水流,水管水流,海面
Threejs实现模拟河流,水面水流,水管水流,海面
3687 0
Threejs实现模拟河流,水面水流,水管水流,海面
|
Java 物联网 Maven
Spring Boot 如何集成 MQTT,实现基于 MQTT 协议的消息传递?
Spring Boot 如何集成 MQTT,实现基于 MQTT 协议的消息传递?
4871 2
Spring Boot 如何集成 MQTT,实现基于 MQTT 协议的消息传递?
Element的el-table行列错位对不齐问题处理
本文目录 1. 问题表现 2. 问题发现 3. 问题处理 4. 另一种处理方案
5885 0
Element的el-table行列错位对不齐问题处理
|
8月前
|
前端开发 JavaScript 索引
前端性能优化:虚拟滚动技术原理与实战
前端性能优化:虚拟滚动技术原理与实战
1133 80
|
JavaScript 前端开发 定位技术
OpenLayers入门(一)
OpenLayers入门(一)
1626 0
OpenLayers入门(一)
|
9月前
|
网络协议 算法 安全
TCP协议(三次握手、流量控制、拥塞控制)
TCP协议是一种可靠的传输层通信协议,通过三次握手建立连接,确保数据安全传输。流量控制通过接收窗口避免接收方缓冲区溢出,拥塞控制则利用拥塞窗口调节网络传输速度,防止网络拥堵。三者协同工作,保障TCP在复杂网络环境中实现高效、可靠的数据传输。
2907 11
|
11月前
|
数据可视化 前端开发 JavaScript
地图可视化的艺术:深入比较Mapbox、OpenLayers、Leaflet和Cesium,不同场景下应如何选择地图库
选择合适的地图库取决于项目的需求、团队的技术栈以及预算等因素。简单来说,新手可以从leaflet入手;GIS开发使用openlayers会更顺手一些;mapbox适应大多数2D和2.5D场景,可视化效果好,但是不开源;cesium更侧重于3D场景。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出

热门文章

最新文章