`
Classicning
  • 浏览: 250671 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Using OpenLayers to develop a WebGIS Client

    博客分类:
  • WEB
阅读更多
OpenLayers是一个开源的js框架,用于在您的浏览器中实现地图浏览的效果和基本的zoom,pan等功能。OpenLayers支持的地图来源包括了WMS,GoogleMap,KaMap,MSVirtualEarth等等,您也可以用简单的图片作为源,在这一方面OPenLayers提供了非常多的选择。

要使用OpenLayers,您可以到它的官方网站http://www.openlayers.org下载他的压缩包,解压后可以看到其中的一些目录和文件。拷贝dist目录下的OpenLayer.js、根目录下的lib目录、根目录下的img目录到你网站的scripts目录下(当然,这个只是例子,您网站的目录结构您自己说得算,只要保证OpenLayers.js,/lib,/img在同一目录中即可)。

接下来创建一个index.html作为查看地图的页面。导入OpenLayers.js和你将要创建的js。内容需要一个div,我们给它的id起名叫做area。你有必要在写一些CSS限定#area的宽度和高度,如果乐意,加上一个border也是很不错的选择。

废话不多说,我们首先要创建一个OpenLayer.Map对象的实例:
var map = new OpenLayers.Map("area");
其中的参数可以传id,也可以传ElementObject,当然id更加方便一些。

接下来就是向地图中添加图层,通常情况下使用OpenLayers.Layer的子类来完成图层的初始化。
OpenLayers提供了一下Layers的扩展:
  • OpenLayers.Layer.Image
  • OpenLayers.Layer.HTTPRequest
  • OpenLayers.Layer.Grid
  • OpenLayers.Layer.WMS
  • OpenLayers.Layer.KaMap
  • OpenLayers.Layer.EventPane
  • OpenLayers.Layer.Google
  • OpenLayers.Layer.VirtualEarth
  • OpenLayers.Layer.Markers
  • OpenLayers.Layer.Text
  • OpenLayers.Layer.GeoRSS
  • OpenLayers.Layer.Boxes
  • OpenLayers.Layer.TMS
Image类封装一个实际图象作为图曾内容
HTTPRequest类可以接收一个动态生成的图片,你可以通过HTTPRequest类的参数向服务器发送参数
Grid类是HTTPRequest类的子类,提供更加详细的方法
WMS类用于连接WMS服务器以获得图象
KaMap类用于连接MapServer
EventPane类作为用于接收用户操作的图层
Google类用于从Google获得图象,它仍然需要你从Google获得API KEY,并且include
VirtualEarth类用于操作VirtualEarth的图层
Markers类用于生成接收和显示用户本地标记的图层
Text类用于接收CSV文件
GeoRSS类是Marker类的子类,用于封装接收GeoRSS并在图层中作出marker
Boxes同样也是Marker类的子类,可以用div来做marker,而非image
TMS用于接收TMS服务器的地图

创建完图层后,可以用Map的addLayer(layer)方法插入,并执行Map的zoomToMaxExtent()方法让地图合适地显示。

OpenLayers还提供了丰富的Control类为地图浏览添加一些工具,继承自OpenLayers.Control类
  • OpenLayers.Control.LayerSwitcher
  • OpenLayers.Control.MouseDefaults
  • OpenLayers.Control.MousePosition
  • OpenLayers.Control.MouseToolbar
  • OpenLayers.Control.OverviewMap
  • OpenLayers.Control.PanZoom
  • OpenLayers.Control.PanZoomBar
  • OpenLayers.Control.Permalink
  • OpenLayers.Control.Scale
这些类的实例会在地图浏览的“窗口”上增加一些工具栏或是“按钮”,增加互动性和功能性。

OpenLayers对常用的数据结构进行了封装
  • OpenLayers.LonLat
  • OpenLayers.Size
  • OpenLayers.Pixel
  • OpenLayers.Bounds
  • 以便于操作。

    此外OpenLayers.Util类可以对图片载入错误时图片框的颜色和图片框中默认的图片进行自定义,这一点是非常方便的。OpenLayers的Ajax类对创建XHR对象的过程进行了封装,可以使用它进行简单的Ajax操作。
    分享到:
    评论
    1 楼 blackangel_can 2008-08-05  
    很好的技术文章。

    相关推荐

      OpenLayers优秀的开源WEBGIS

      OpenLayers优秀的开源WEBGIS

      webgis之openlayers全面解析

      webgis之openlayers全面解析,webgis之openlayers全面解析

      webgis面试题开源gis

      总结的一些webgsi面试题,主要针对gis基础和开源gis涉及geoserver、openlayers等考察

      webgis之openlayers全面解析pdf

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

      WebGIS之OpenLayers 全面解析第2版示例代码

      WebGIS之OpenLayers全面解析第2版(2019年出版)示例代码,比OpenLayers 官方的示例好用多了,基于 OpenLayers 5.x 编写(可用于 6.x),含国内各种地图的配合调用,各类扩展组件的开发示例,有了这个,就不要在在...

      WebGIS之OpenLayers全面解析

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

      WebGIS之OpenLayers全面解析 源码+数据库

      WebGIS之OpenLayers全面解析;郭明强,黄颖,谢忠等;程序源代码

      论文研究-基于GeoServer和OpenLayers的WebGIS遥感服务系统的设计与实现 .pdf

      基于GeoServer和OpenLayers的WebGIS遥感服务系统的设计与实现,何鑫,,随着信息技术的飞速发展及空间地理数据量的空前增长,传统的地理信息系统已经无法满足空间地理数据的获取、处理、共享、存储等需

      WebGIS之OpenLayers全面解析源码.rar

      WebGIS之OpenLayers全面解析随书源码,包含后台数据库代码和前台示例代码,文件解压没有问题

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

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

      PostGIS, GeoDjango+OpenLayers 三者结合实现webgis

      PostGIS, GeoDjango,OpenLayers 三者结合实现webgis。

      怎样利用Openlayers开发WEBGIS客户端

      本PPT是中科院老师讲解如何使用OpenLayers开发WEBGIS客户端,本文从OpenLayers的概念出发,一步一步讲述怎样搭建OpenLayers开发环境,并通过详细的代码讲述编写OL3程序,加载地图图层等

      WebGIS之OpenLayers全面解析之源码

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

      webgis开发示例 for OpenLayers3

      基于openlayers3的webgis客户开发demo,功能丰富,可直接二次开发。定位、聚点图、热点图、个性图、路径动画、动画点、图形绘制、军标绘制、影像过滤、区域分割、地形渲染、最近点分析、弹出框、图表

      OpenLayers开发WebGIS客户端

      本PPT是中科院老师讲解如何使用OpenLayers开发WEBGIS客户端,本文从OpenLayers的概念出发,一步一步讲述怎样搭建OpenLayers开发环境,并通过详细的代码讲述编写OL3程序,加载地图图层等

      Gabor Farkas-Mastering OpenLayers 3.pdf

      webGIS 开发,openlayers教程电子书。webGIS 开发,openlayers教程电子书。

    Global site tag (gtag.js) - Google Analytics