为了创建更有用的应用,我们介绍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学习笔记,节省你的学习成本
—— 1.1 OlMap 基础类 —— 1.2 openlayers 实例化地图 —— 1.3 openlayers地图OSM形式 —— 1.4 openlayers地图XYZ形式 —— 1.5 国家地理信息公共服务平台 天地图 —— 1.6 天地图.四川 —— 1.7 天地图.西藏 ...
openlayers3.0学习笔记,节省你的学习成本
关于框选功能,OpenLayers3提供了`ol.interaction.Draw`交互类,允许用户在地图上绘制矩形。首先,我们需要创建一个绘制交互实例,设置其类型为`'box'`以启用框选: ```javascript var draw = new ol.interaction....
gis小白从零开始学习,需要懂得前端基础知识 不bb,开干 快速开始 一、形成地图 导入文件 方式一:cnd导入 方式二:下载包导入 github地址:https://github.com/openlayers/openlayers/releases // 创建地图 ...
本书主要内容涵盖:WebGIS开发基础、OpenLayers开发基础、OpenLayers快速入门、OpenLayers之多源数据加载、OpenLayers之图形绘制、OpenLayers之OGC、OpenLayers之高级功能,最后给出了OpenLayers之项目实战——水利...
本书主要内容涵盖:WebGIS开发基础、OpenLayers开发基础、OpenLayers快速入门、OpenLayers之多源数据加载、OpenLayers之图形绘制、OpenLayers之OGC、OpenLayers之高级功能,最后给出了OpenLayers之项目实战——水利...
OpenLayers学习心得 OpenLayers是由MetaCarta公司开发的,用于WebGIS客户端的JavaScript包,目前的最高版本是2.5 V,通过BSD License发行。它实现访问地理空间数据的方法都符合行业标准,比如OpenGIS的WMS和WFS规范...
抛砖引玉,节省你的时间,一起走入GIS的大门
2. **API参考**:详细解释各个函数和类的作用,帮助理解如何使用OpenLayers API。 3. **示例代码**:提供实际的JavaScript代码片段,展示如何实现特定功能。 4. **最佳实践**:指导如何优化地图性能,避免常见问题。...
使用 `ol.format.KML` 或 `ol.format.GPX` 类解析文件,然后将结果添加到矢量图层。 ### 8. 学习资源 要深入学习OpenLayers,可以参考《OpenLayers 2.10 初学者指南》这本书,或访问官方文档、社区论坛获取更多...
这个"openlayers中文.rar"压缩包提供了一份中文手册,对于想要学习和掌握OpenLayers的开发者来说,是一份非常实用的学习资源。 1. **OpenLayers基本概念**: - **地图层(Layers)**:OpenLayers中的地图由多个...
【解决问题】:如何来高效的学习openlayers,一张思维导图,将核心知识点汇聚,分枝叶查看,促进更好的学习。 【适用人群】: 使用openlayers做开发的小伙伴 【使用场景】:使用openlayers来满足地图开发中的各种...
通过深入学习和熟练掌握OpenLayers API,开发者可以构建出功能强大、交互丰富的Web GIS应用,满足各种地理信息系统的需求。OpenLayers API中文版的文档可以帮助中国开发者更好地理解和应用这个工具,提高开发效率。
WebGIS开发基础、OpenLayers开发基础、OpenLayers快速入门、OpenLayers之多源数据加载、OpenLayers之图形绘制、OpenLayers之OGC、OpenLayers之高级功能,最后给出了OpenLayers之项目实战——水利信息在线分析服务...
`OpenLayers.Protocol.WFS`类提供了与WFS服务器通信的接口。 8. KML和GeoRSS支持:OpenLayers可以解析KML和GeoRSS格式的数据,显示在地图上。 在压缩包中的代码实例,你可能会看到如何创建基本地图、添加图层、...