zoukankan      html  css  js  c++  java
  • openlayers应用原理

    1、数据组织

    OpenLayers通过同层(Layer)进行组织渲染,然后通过数据源设置具体的地图数据来源。因此,Layer与Source是密切相关的对应关系,缺一不可。Layer可看做渲染地图的层容器,具体的数据需要通过Source设置。

    地图数据根据数据源(Source)可分为Image、Tile、Vector三大类型的数据源类,对应设置到地图图层(Layer)的Image、Tile、Vector三大类别的图层中。

    2、数据解析

    ol.format.Feature类用于读/写各种格式的数据,封装了多种格式的子类即各类数据解析器,包括XML、Text、JSON类型的各种格式数据解析器

    3、数据渲染

    先通过URL获取数据,然后用各种格式的解析器解析数据,再用所谓的渲染器在图层中进行渲染,最后结合相应的控件表现出来。渲染功能由渲染器(renderer相关类)实现,通过Map的renderer属性设置渲染类型,然后根据渲染类型(Canvas、DOM、WebGL)与同层类型(Image/Tile/Vector)匹配相应的渲染器将图层数据渲染显示出来。

    4、地图表现

    Map类是一个地图容器,用target属性与DIV关联。

    5、事件机制

    地图事件类(ol.MapEvent),包含moveend、postrender等

    地图浏览器事件类(ol.MapBrowserEvent),包含singleclick、click、dbclick、pointermove、pointerdrag事件

    对象事件类(ol.ObjectEvent),包含change、propertychange事件

    选择控件事件类(ol.SelectEvent),包含select事件

    绘制控件事件类(ol.interaction.DrawEvent),包含drawstart、drawend事件

    修改控件事件类(ol.ModifyEvent),包含modifystart、modifyend事件

    集合事件类(ol.CollectionEvent),包含add、remove事件

  • 相关阅读:
    Python内置模块02
    Python常用模块
    hdu 5943(素数间隔+二分图匹配)
    poj 3372(找规律)
    poj 2369(置换群)
    poj 3270(置换群+贪心)
    bzoj 4034(DFS序+线段树)
    poj 2337(单向欧拉路的判断以及输出)
    poj 1041(字典序输出欧拉回路)
    csu 1798(树上最远点对,线段树+lca)
  • 原文地址:https://www.cnblogs.com/China-YangGISboy/p/9208042.html
Copyright © 2011-2022 走看看