OpenLayers项目分析(一)项目介绍

OpenLayers项目分析(一)项目介绍

2012-10-23 16:34|发布者:
liulin
|查看: 827|评论: 0

摘要: OpenLayers 是由MetaCarta公司开发的,用于WebGIS客户端的JavaScript包,目前的最高版本是2.5 V,通过BSD License 发行。它实现访问地理空间数据的方法都符合行业标准,比如OpenGIS的WMS和WFS规范, OpenLayers采用纯 …

(OpenLayers JavaScript Mapping Library)
网址:http://www.openlayers.org/
  OpenLayers 是由MetaCarta公司开发的,用于WebGIS客户端的JavaScript包,目前的最高版本是2.5 V,通过BSD License 发行。它实现访问地理空间数据的方法都符合行业标准,比如OpenGIS的WMS和WFS规范, OpenLayers采用纯面向对象的JavaScript方式开发,同时借用了Prototype框架和Rico库的一些组件。
  采用OpenLayers作为客户端不存在浏览器依赖性。由于OpenLayers采用JavaScript语言实现,而应用于Web浏览器中的DOM(文档对象模型)由JavaScript实现,同时,Web浏览器(比如IE,FF等)都支持DOM 。
  OpenLayers APIs采用动态类型脚本语言JavaScript编写,实现了类似与Ajax功能的无刷新更新页面,能够带给用户丰富的桌面体验(它本身就有一个Ajax类,用于实现Ajax功能)。
  目前,OpenLayers所能够支持的Format有:XML、GML、GeoJSON、GeoRSS、JSON、KML、WFS、WKT(Well-Known Text)。在OPenlayers.Format名称空间下的各个类里,实现了具体读/写这些Format的解析器。
  OpenLayers所能够利用的地图数据资源“丰富多彩”,在这方面提供给拥护较多的选择,比如WMS、WFS、GoogleMap、KaMap、MSVirtualEarth、WorldWind等等。当然,也可以用简单的图片作为源。
第一次使用OpenLayers:
  先到它的官方网站http://www.openlayers.org下载他的压缩包,解压后可以看到其中的一些目录和文件,拷贝目录下的OpenLayer.js、根目录下的lib目录、根目录下的img目录到你网站的Scripts目录下(当然,这个只是例子,您网站的目录结构您自己说得算,只要保证OpenLayers.js,/lib,/img在同一目录中即可)。
然后,创建一个index.html作为查看地图的页面,导入OpenLayers.js和你将要创建的js。
  我们以加载WMS和GML文件为例。

[代码]js代码:

01 <script src="../lib/OpenLayers.js"></script>
02 <script type="text/javascript">
03       var
lon = 5;    //x-axis coodinate in map units
04       var
lat = 40;   //y-axis coordinate in map units
05       var
zoom = 5;   //number of zoom levels
06       var
map, layer;
07   //声明变量map、layer;等同于 var map = null; var layer = null;
08       map =
new OpenLayers.Map('map');
09       //实例化一个地图类OpenLayers.Map
10       layer =
new OpenLayers.Layer.WMS(
"OpenLayers WMS",
11                   "http://labs.metacarta.com/wms/vmap0", {layers:
'basic'} );
12       //以WMS的格式实例化图层类OpenLayers.Layer
13       map.addLayer(layer);
14       map.zoomToExtent(newOpenLayers.Bounds(-3.922119,44.335327,
15       4.866943,49.553833));
16   //在Map对象上加载Layer对象,并用map.zoomToExtent函数使地图合适地显示
17   map.addLayer(new
OpenLayers.Layer.GML("GML",
"gml/polygon.xml"));

  //再在刚加载的WMS文件上,加载一GML文件
  剩下的工作就是,加上一些控件OpenLayers.Control之类的东西,比如LayerSwitcher等。它们会在地图浏览的“窗口”上增加一些工具栏或是“按钮”,增加互动性和功能性。
  当然,Openlayers中的东西远不止这些,至于它的框架分析、APIs实现机制,会在后续文章中说出。写这个的过程,也是一个学习的过程,其中难免有不妥之处,热烈欢迎大家批评指正,相互交流。

转载自:https://blog.csdn.net/wxljmy77/article/details/8657537

You may also like...

退出移动版