OpenLayers的API讲解(一)


API系列的内容主要是一系列主要常用的组件,Map,View,Layers,Controls,Interactions,Source and formats,Projections,Observable object 和 other components。

Map

Map是由Layers组成,用View来展示,Interactions用来修改地图内容和控制UI组件。

一、概述

ol.Map

map是OpenLayers的核心组件。map对于渲染,展示,一个或者更多的图层和目标容器都是必要的。

<div id="map" class="map></div>
<script type="text/javascript">
var map = new ol.Map({
  view: new ol.View({
    center: [0, 0],
    zoom: 1
  }),
  layers: [
    new ol.layer.Tile({
      source: new ol.source.OSM()
    })
  ],
  target: 'map'
});
</script>

上面的小片段创建了一个小地图,用ol.layer.Tile来展示ol.source.OSM的OSM数据,通过节点map在DOM元素上进行渲染。
构造函数在目标节点中(getViewport())放置一个视图容器(css类名为ol-viewport),在viewport中添加了两个元素:一个是css类名为ol-overlaycontainer-stopevent用于控制和一些覆盖层,另一个css类名为ol-overlaycontainer为了另外一些覆盖层。map本身也在viewport中放置了一个元素。
Layers被存储在一个ol.Collection集合中。顶级组由库提供。这是一个通过getLayerGroupsetLayerGroup可以获得的。输入到选项中的Layers会被添加到这个组中,然后在组中,通过addLayerremoveLayer改变图层结合。getLayers是一个方便的功能对于getLayerGroup().getlayers()方法。请注意,ol.layer.Groupol.layer.Base的子类,所以输入到选项的图层或者通过addLayer方法添加的,可以是组,而且这个组里面也可以包含更多的组。

二、创建

new ol.Map
Options:
1. controls
Controls是最初添加到地图上的,如果不是特殊指定,将会调用ol.control.defaults()方法。
2. pixelRatio
这比例是设备的物理像素与Dips之间的比例,如果没有定义,将会通过window.devicePixelRatio方法获得。
3. interactions
Interactions是最初添加到地图上的,如果没有定义,通过ol.interaction.defaults方法获得。
4. keyboardEventTarget
用来监听键盘事件的元素。这决定了什么时候触发keyboardPankeyboardZoom交互。例如,如果这个选项设置到document上,键盘的交互效果始终会被触发。如果这个选项不是特定的,这个库监听键盘事件的元素在地图目标上(如用户为map提供的div节点)。如果不是document,目标元素需要集中在要发出的关键事件上,这要求目标元素有一个tabindex的属性。
5. layers
图层。如果没有定义,地图将会没有渲染图层。注意,图层是按照提供的顺序来进行渲染。例如,如果想一个矢量层出现块层的上面,那么数量层必须在块层后面。
6. loadTilesWhileAnimating
默认值为false;如果设置属性为true,块层将会在动画中加载。这种方式提高用户体验,但是会在低内存的设备上出现动画卡顿。
7. loadTilsdWhileInteracting
默认值为false;当设置为true时,块层会在地图交互的时候加载。这种方式会提高用户体验,但是会在低内存的设备上使地图平移和缩放出现不稳定。
8. logo
地图标志。一个标志会一直出现在地图上,如果提供了一个字符串,这将会被设置为标志的图像资源。如果提供一个对象,src的属性应该是图像的URL,href的属性应该是URL创建的链接。如果提供一个元素,将会使用这个元素。为了禁用地图标志,设置选项为false。默认情况下,OpenLayers的标志是展示的。
9. moveTolerance
这个光标必须移动的距离(用像素表示)被用来检测为地图移动事件而不是点击事件。增加这个值可以更容易的在地图上点击。默认值为1。
10. overlayers
覆盖层初始化时添加到地图上。默认情况下,没有添加任一覆盖层。
11. renderer
渲染器。默认情况下,Canvas 和 WebGL渲染器按照顺序进行测试渲染。使用死一个支持的渲染器。这里,指定ol.renderer.Type用于特定的渲染器。注意,Canvas渲染器支持所有的矢量数据,但是WebGL仅仅支持点的几何图形(point geometries)
12. target
地图的容器,也是元素本身,或者元素id。如果在构建时没有指定,ol.Map#setTarget必须要求地图被渲染。
13. view
地图的视图。除非在构建地图的时候指定,不然不会有图层资源。或者通过ol.Map#setView来进行设置。

转载自:https://blog.csdn.net/u012832088/article/details/78695105

You may also like...