`
wxb880114
  • 浏览: 678739 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Openlayers学习笔记——Format, Protocol, Strategy类

阅读更多
   为了创建更有用的应用,我们介绍Formate、Protocol、Strategy三个类,我们可以更深层次的控制矢量图层的行为。
    这三个类的作用:
    % 从外部资源加载数据如KML文件、GeoJSON文件、WFS服务等;
    % 以一定的格式保存用户创建要素;
    % 采用集群策略对多数点进行分组;
    % 创建更多交互功能的网络应用程序。

    1.简单介绍三个类
    % Protocol类
      Protocol类控制矢量图层怎么与数据源交流,Protocol.HTTP和Protocol.WFS是Protocol的两个子类,HTTP协议类能够直接与矢量数据源连接,WFS协议能够连接WFS服务。
    % Format类
      Formate类可以将指定的数据文件(KML文件)转化为地图中显示的要素对象,还可以将要素对象转化成指定文件格式,如KML、GeoJSON等。OpenLayers的开发者版本支持更多地数据格式和协议。
      更重要的一点是,Format类处理要素数据的序列化和烦序列化,序列化是编程中常用的术语,目的是为了提取代码中的对象,将对象转换成指定形式,如文件、可读性字符串。这样这些对象就能在代码外被调用。反序列化是个相反的过程——将文件或者字符串转换成代码中的对象。
   
    % Strategy类
      Strategy类是用来控制服务器请求的建立和服务器返回数据的处理。Strategy类本身是基类,有很多子类可以引用,如Strategy.BBOX和Strategy.Cluster,不同于Protocol类和Format类的可单独使用,Strategy类需要多个strategies一起使用。
     就以BBOX类为例说明一下,我们可以通过BBOX策略向服务器请求可视范围内的地图,因此,BBOX首先决定怎么建立请求,另一件事就是控制从服务器传回的数据的处理问题。

   3. 三个类应用
      %首先创建相关对象
         map对象    
     %创建vector对象
         var vector_layer =new OpenLayers.Layer.Vector('More Advances Vector Layer',
      {
       protocol:new OpenLayers.Protocol.HTTP({
                  url:'some_data.json',
                  format: new OpenLayers.Format.GeoJSON({})
               }),
       strategies:[new OpenLayers.Strategy.Fixed()]
      });

    上述代码使用了HTTP协议、GeoJSON格式,值得注意的是什么格式实际上是协议对象的一部分,Fixed策略对象也被使用,但本质上在矢量图层上请求了一次要素,没有再次要素请求。
分享到:
评论

相关推荐

    openlayers6学习笔记

    openlayers6学习笔记,节省你的学习成本

    地图个人开发笔记和Demo

    —— 1.1 OlMap 基础类 —— 1.2 openlayers 实例化地图 —— 1.3 openlayers地图OSM形式 —— 1.4 openlayers地图XYZ形式 —— 1.5 国家地理信息公共服务平台 天地图 —— 1.6 天地图.四川 —— 1.7 天地图.西藏 ...

    openlayers3.0学习笔记

    openlayers3.0学习笔记,节省你的学习成本

    OpenLayer学习笔记——第一天

    gis小白从零开始学习,需要懂得前端基础知识 不bb,开干 快速开始 一、形成地图 导入文件 方式一:cnd导入 方式二:下载包导入 github地址:https://github.com/openlayers/openlayers/releases // 创建地图 ...

    《WebGIS之OpenLayers全面解析》一书源码

    本书主要内容涵盖:WebGIS开发基础、OpenLayers开发基础、OpenLayers快速入门、OpenLayers之多源数据加载、OpenLayers之图形绘制、OpenLayers之OGC、OpenLayers之高级功能,最后给出了OpenLayers之项目实战——水利...

    WebGIS之OpenLayers全面解析

    本书主要内容涵盖:WebGIS开发基础、OpenLayers开发基础、OpenLayers快速入门、OpenLayers之多源数据加载、OpenLayers之图形绘制、OpenLayers之OGC、OpenLayers之高级功能,最后给出了OpenLayers之项目实战——水利...

    openlayers学习文档

    2. **API参考**:详细解释各个函数和类的作用,帮助理解如何使用OpenLayers API。 3. **示例代码**:提供实际的JavaScript代码片段,展示如何实现特定功能。 4. **最佳实践**:指导如何优化地图性能,避免常见问题。...

    OpenLayers

    使用 `ol.format.KML` 或 `ol.format.GPX` 类解析文件,然后将结果添加到矢量图层。 ### 8. 学习资源 要深入学习OpenLayers,可以参考《OpenLayers 2.10 初学者指南》这本书,或访问官方文档、社区论坛获取更多...

    openlayers中文.rar

    这个"openlayers中文.rar"压缩包提供了一份中文手册,对于想要学习和掌握OpenLayers的开发者来说,是一份非常实用的学习资源。 1. **OpenLayers基本概念**: - **地图层(Layers)**:OpenLayers中的地图由多个...

    GeoServer学习——OpenLayers3加载KML地图实现框选

    关于框选功能,OpenLayers3提供了`ol.interaction.Draw`交互类,允许用户在地图上绘制矩形。首先,我们需要创建一个绘制交互实例,设置其类型为`'box'`以启用框选: ```javascript var draw = new ol.interaction....

    免费openlayers学习思维导图

    【解决问题】:如何来高效的学习openlayers,一张思维导图,将核心知识点汇聚,分枝叶查看,促进更好的学习。 【适用人群】: 使用openlayers做开发的小伙伴 【使用场景】:使用openlayers来满足地图开发中的各种...

    OpenLayers API

    通过深入学习和熟练掌握OpenLayers API,开发者可以构建出功能强大、交互丰富的Web GIS应用,满足各种地理信息系统的需求。OpenLayers API中文版的文档可以帮助中国开发者更好地理解和应用这个工具,提高开发效率。

    WebGIS之OpenLayers全面解析之源码

    WebGIS开发基础、OpenLayers开发基础、OpenLayers快速入门、OpenLayers之多源数据加载、OpenLayers之图形绘制、OpenLayers之OGC、OpenLayers之高级功能,最后给出了OpenLayers之项目实战——水利信息在线分析服务...

    OpenLayers_2.10_Beginners_Guide_Code

    `OpenLayers.Protocol.WFS`类提供了与WFS服务器通信的接口。 8. KML和GeoRSS支持:OpenLayers可以解析KML和GeoRSS格式的数据,显示在地图上。 在压缩包中的代码实例,你可能会看到如何创建基本地图、添加图层、...

    openLayers geoserver常见问题

    处理大量marker可能导致性能下降,可以考虑使用集群策略(如OpenLayers Cluster Strategy)来聚合相近的标记。 OpenLayers实现AJAX主要是通过OpenLayers.Request模块,例如`OpenLayers.Request.GET()`或`OpenLayers...

Global site tag (gtag.js) - Google Analytics