目录

一、OpenLayers简介

二、OpenLayers的特征

三、OpenLayers的框架结构


一、OpenLayers简介

OpenLayers是一个用于开发WebGIS客户端的JavaScript包,最初基于BSD许可发行。

OpenLayers是一个开源的项目,其设计之意是为互联网客户端提供强大的地图展示功能,包括地图数据显示与相关操作,并具有灵活的扩展机制。

目前OpenLayers已经成为一个拥有众多开发者和帮助社区的成熟、流行的框架。

以下是OpenLayers的官方网站:

https://www.baidu.com/link?url=XfUF0aGM_JsScJZV8Kfyddv8lXLrdtA_tSvuMaCIQPyJBsTXuZdueIbI8xP0ZvvY&wd=&eqid=b8c1cd58000252f4000000065cee4e74

二、OpenLayers的特征

2.1、支持瓦片图层

OpenLayers支持从OSM、Bing、MapBox、Stamen和其他任何你能找到的XYZ瓦片资源中提取地图瓦片并在前端展示。同时也支持OGC的WMTS规范的瓦片服务以及ArcGIS规范的瓦片服务。

2.2、支持矢量切片(或者矢量瓦片)

OpenLayers也支持矢量切片的访问和展示,包括MapBox矢量切片中的pbf格式,或者GeoJSON格式和TopoJSON格式的矢量切片。

2.3、支持矢量图层

能够渲染GeoJSON、TopoJSON、KML、GML和其他格式的矢量数据,上面说的矢量切片形式的数据也可以被认为是在矢量图层中渲染。

2.4、支持OGC规范

OpenLayers支持OGC制定的WMS、WFS等GIS网络服务规范。

2.5、运用前沿技术

利用Canvas 2D、WebGL以及HTML5中其他最新的技术来构建功能。同时支持在移动设备上运行。

2.6、易于定制和扩展

可以直接调整CSS来为地图控件设计样式。而且可以对接到不同层级的API进行功能扩展,或者使用第三方库来定制和扩展。

2.7、面向对象的思想

最新版本的OpenLayers采用纯面向对象的ECMA Script 6进行开发,可以说,在OpenLayers中万物皆对象。

2.8、优秀的交互体验

OpenLayers实现了类似于Ajax的无刷新功能,可以结合很多优秀的JavaScript功能插件,带给用户更多丰富的交互体验。

三、OpenLayers的框架结构

OpenLayers遵循面向对象的思想进行设计过程中,实现了各种十分强大的功能,这也意味着它的框架体系也比较庞大。

让我们看一幅OpenLayers的框架类图:

可以看到OpenLayers实现了上百个类,用于对GIS中的各种事物进行抽象表达。

其中,Map、Layer、Source和View是OpenLayers框架体系中的核心类,几乎所有的动作都围绕这几个核心类展开,以实现地图加载和相关操作。

在OpenLayers的体系框架中:把整个地图看作一个容器(Map),核心为地图图层(Layer),每个图层有对应的数据源(Source),并由地图视图(View)进行地图表现。地图容器上还支持一些与用户交互的控件(Control和Interaction),另外,OpenLayers还支持事件机制。

OpenLayers教程一:OpenLayers概述相关推荐

  1. 无废话SharePoint入门教程一[SharePoint概述]

    一.前言 听说SharePoint也有一段时间了,可一直处在门外.最近被调到SharePoint实施项目小组,就随着工作一起学习了一下实施与开发.但苦于网上SharePoint入门的东西实在太少,导致 ...

  2. AUTOCAD自学教程一

    AUTOCAD自学教程一 AUTOCAD自学教程 在学习任何一款软件的时候,第一步也是非常必要的一步就是如何的安装软件. 下面我们讲解如何的安装这个软件. 1.安装autocad 2.安装产品 3.正 ...

  3. pytorch打印模型参数_Pytorch网络压缩系列教程一:Prune你的模型

    Pytorch网络压缩系列教程一:Prune你的模型 本文由林大佬原创,转载请注明出处,来自腾讯.阿里等一线AI算法工程师组成的QQ交流群欢迎你的加入: 1037662480 深度学习模型取得了前所未 ...

  4. MongoDB 教程一: 安装和使用 (Mongodb启动命令mongod参数说明)

    视频: MongoDB 教程一: 安装和使用 Mongodb启动命令mongod参数说明 我们可以通过mongod --help查看mongod的所有参数说明,以下是各参数的中文解释. 基本配置 –q ...

  5. 初识c语言教程,第1课C语言教程一: 初识C程序.doc

    第1课C语言教程一: 初识C程序 第1课 初识C程序 教学目标 1.计算机语言介绍 2.了解C语言 3.如何学好C语言(多做题,多上机调试程序) 4.C语言上机调试环境 教学过程 计算机程序设计语言的 ...

  6. 大学英语综合教程一 Unit 8 课文内容英译中 中英翻译

    大学英语综合教程一 Unit 8 课文内容英译中 中英翻译   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客 本文 ...

  7. 大学英语综合教程一 Unit 2 课文内容英译中 中英翻译

    大学英语综合教程一 Unit 2 课文内容英译中 中英翻译   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客 本文 ...

  8. 原创 | k8s系列教程一:开篇

    作者:潘吉祥 欢迎加入k8s学习系列教程,在接下来的系列文章,你将可以在较短的时间内达到入门k8s的效果. k8s是什么 Kubernetes(K8S)作为Google在2014年发布的一个开源项目, ...

  9. 大学英语综合教程一 Unit 6 课文内容英译中 中英翻译

    大学英语综合教程一 Unit 6 课文内容英译中 中英翻译   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客 本文 ...

最新文章

  1. 记个maven无法识别JAVA_HOME的问题 Error: JAVA_HOME is not defined correctly.
  2. Mysql存储引擎MyIsAM和InnoDB区别
  3. TComboBox的使用
  4. 函数的命名空间以及作用域
  5. 代码版本管理 GitLab介绍
  6. 洛谷P1962 斐波那契数列
  7. Thymeleaf 随记
  8. Android studio 设置函数功能悬浮提示(鼠标放到上班提示参数和功能)
  9. 徐小湛概率论与数理统计课件_概率论与数理统计视频教程下载
  10. 五大主流浏览器内核的源起以及国内各大浏览器内核总结
  11. 替换和修复系统User32.dll文件
  12. google play以及google pay
  13. 【控制篇 / 应用】(5.6) ❀ 01. NGFW 模式下使用应用控制 ❀ FortiGate 防火墙
  14. 排序算法之插入排序法
  15. k8s: pod has unbound PersistentVolumeClaims问题解决
  16. 解决字符串存在\u6d4b\u8bd5\u5206\u7c7等中文汉字(乱码)(unicode码)
  17. iMazing如何恢复苹果手机被下架App软件应用
  18. oracle中dba什么意思,oracle dba
  19. AMD双核所有驱动,补丁,优化下载地址和安装方法
  20. android 中右上角的数字BadgeView

热门文章

  1. excel列值实现向下填充
  2. 2023 节假日 生成sql脚本 ORACLE
  3. <Linux开发>linux开发工具- 之-TFTP
  4. 脚本 | 获取windows安装软件列表
  5. 谁在押注“脱口秀直播带货”?
  6. 探秘SLAM之RANSAC算法
  7. 基于FPGA的以太网UDP协议实现过程记录
  8. java excel合并内容相同的单元格
  9. springboot整合xwpf将world转为pdf
  10. Oracle 11g RAC 原地升级到 19c