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


相关文章
|
4月前
|
缓存 安全 PHP
【PHP开发专栏】Symfony框架核心组件解析
【4月更文挑战第30天】本文介绍了Symfony框架,一个模块化且高性能的PHP框架,以其可扩展性和灵活性备受开发者青睐。文章分为三部分,首先概述了Symfony的历史、特点和版本。接着,详细解析了HttpFoundation(处理HTTP请求和响应)、Routing(映射HTTP请求到控制器)、DependencyInjection(管理依赖关系)、EventDispatcher(实现事件驱动编程)以及Security(处理安全和认证)等核心组件。
104 3
|
11月前
|
SQL 分布式计算 Java
Spark入门指南:从基础概念到实践应用全解析
在这个数据驱动的时代,信息的处理和分析变得越来越重要。而在众多的大数据处理框架中, Apache Spark 以其独特的优势脱颖而出。
116 0
|
4月前
|
安全 Java 数据安全/隐私保护
SpringSecurity6从入门到实战之引言和基本概念
《SpringSecurity6从入门到实战》介绍了Spring Security这一强大的Java安全框架,主要用于保护Spring应用程序的安全。它提供认证和授权功能,支持多种认证方式,并具备高度可定制性。文章阐述了权限管理的重要性,包括用户认证(验证用户身份)和用户授权(控制用户访问权限)。相较于其他如Shiro和Sa-Token的安全框架,Spring Security因与Spring生态的深度整合及对OAuth2的支持,常成为微服务项目的选择。
|
4月前
|
开发框架 数据可视化 前端开发
【Unity 3D】GameFramework、QFramework框架简介及应用实战(超详细 附源码)
【Unity 3D】GameFramework、QFramework框架简介及应用实战(超详细 附源码)
441 0
|
11月前
|
Kubernetes 监控 负载均衡
【K8S系列】第一讲:基础概念入门
【K8S系列】第一讲:基础概念入门
67 0
|
网络协议 Java
JavaRPC原理与实现简介
远程过程调用(Remote Procedure Call,简称RPC)是一种计算机通信协议,它允许在不同的进程之间进行通信,就像在本地调用一样。JavaRPC是基于Java语言实现的一种RPC框架,旨在简化分布式系统的开发和管理。
134 0
|
Web App开发 前端开发 JavaScript
【Cesium 编程第一篇】概述、环境搭建、界面介绍
【Cesium 编程第一篇】概述、环境搭建、界面介绍
286 0
|
存储 编译器 C语言
C++从入门到精通(第三篇) :C++的基础和灵魂:类和对象(中篇)
如果一个类中什么成员都没有,简称为空类。空类中什么都没有吗?并不是的,任何一个类在我们不写的情 况下,都会自动生成下面6个默认成员函数。
112 0
C++从入门到精通(第三篇) :C++的基础和灵魂:类和对象(中篇)
|
开发者
3.5基础概念: Watches 窗口简介|学习笔记
快速学习3.5基础概念: Watches 窗口简介
161 0
3.5基础概念: Watches 窗口简介|学习笔记