2-OpenLayers基础

1 基本概念

1.1 Map

OpenLayers的核心组件是Map(ol/Map),它会被呈现到目标容器中(例如,包含地图的网页上的div元素)。所有的map属性都可以在构造时配置,或者使用setter方法,例如setTarget()。

1.2 View

View(ol/View)负责地图的中心、缩放级别和投影等。View是有投影的,投影决定了地图的坐标系统和地图单位。若没有指定,默认投影为Spherical Mercator (EPSG:3857),地图单位为

缩放选项可以指定地图分辨率。可用的缩放级别是由maxZoom(默认值:28)、zoomFactor(默认值:2)和maxResolution(默认值的计算方式是投影的有效性范围fit【原文的fit的意思应该是缩放至像素块大小以填充像素块】256x256像素块)3个因素决定的。从变焦级别0开始,分辨率为每像素maxResolution单位,后续的变焦级别通过将前一个变焦级别的分辨率除以zoomFactor计算,直到达到变焦级别maxZoom

1.3 Source

OpenLayers使用ol/source/Source子类来获取一个图层的远程数据。OpenStreetMap或Bing等免费和商业地图瓦片服务、WMS或WMTS等OGC源以及GeoJSON或KML等格式的矢量数据都可以使用。

1.4 Layer

Layer是数据的可视化表示,OpenLayers有4种基本类型的图层:

  1. ol/layer/Tile - 由特定分辨率的缩放级别组织的瓦片(原文为tiled images in grids
  2. ol/layer/Image - 任意范围和分辨率的地图影像
  3. ol/layer/Vector - 矢量数据
  4. ol/layer/VectorTile - 矢量瓦片(原文为vector tiles

可以结合下面的例子体会一下上面的基本概念:

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

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

2 模块和命名约定

  1. OpenLayers的模块是以骆驼命名法(Camelcase)命名的:

    import Map from 'ol/Map';
    import View from 'ol/View';
    
  2. 按父类分组的类层次结构在包的子文件夹中提供:

    import {Map, View} from 'ol';
    import {Tile, Vector} from 'ol/layer';
    
  3. 除了这些重新导出的类,小写名称的模块还可以导出常量函数:

    import {getUid} from 'ol';
    import {fromLonLat} from 'ol/proj';
    

原文地址:

  1. https://openlayers.org/en/latest/doc/tutorials/concepts.html
  2. https://openlayers.org/en/latest/doc/tutorials/background.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值