`
Classicning
  • 浏览: 255701 次
  • 性别: 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"这一主题中,我们主要探讨以下几个核心知识点: 1. **WebGIS概述**:WebGIS是Web技术与地理信息系统相结合的产物,它将地理信息通过互联网进行发布和共享,用户可以通过浏览器访问并...

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

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

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

      OpenLayers是WebGIS领域中一个非常重要的开源JavaScript库,专门用于构建地图应用程序。这个资料包"WebGIS之OpenLayers全面解析 源码+数据库"提供了一个深入学习OpenLayers的机会,包括源码分析和可能涉及的数据库...

      webgis面试题开源gis

      实现方式通常借助于GIS软件或WebGIS框架(如OpenLayers)中的插件或自定义渲染功能。 #### 6. 使用OpenLayers 3编写点、线、面样式的示例代码 在OpenLayers 3中,可以通过以下方式定义点、线、面的样式: ```...

      WebGIS之OpenLayers全面解析源码.rar

      OpenLayers 是一个强大的开源JavaScript库,用于在Web上创建交互式的地图应用,是WebGIS(Web地理信息系统)领域中的重要工具。本资源“WebGIS之OpenLayers全面解析源码.rar”提供了OpenLayers的详细解析及随书源码...

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

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

      webgis之openlayers全面解析pdf

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

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

      在介绍PostGIS、GeoDjango与OpenLayers三者结合实现WebGIS的知识点之前,先来简要介绍一下这三者各自的背景和作用。 PostGIS是一个开源的空间数据库扩展,它为PostgreSQL对象-关系数据库添加了对地理对象的支持。有...

      WebGIS之OpenLayers全面解析

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

      基于OpenLayers的火灾WebGIS系统设计.zip

      基于OpenLayers的火灾WebGIS系统设计.zip

      webgis之openlayers全面解析

      OpenLayers是WebGIS领域中一个非常重要的开源JavaScript库,用于构建交互式地图应用。这个资料包"webgis之openlayers全面解析"显然是针对OpenLayers的深度学习和实践指南,可能包含了详细的教程、示例代码和实践项目...

      怎样利用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 的 JS 开发包

      总之,OpenLayers 是WebGIS开发的重要工具,它提供了全面的地图操作和数据处理功能,适用于各种GIS应用,无论是简单的地图展示还是复杂的地理数据分析。通过学习和掌握OpenLayers,开发者可以构建出富有创新和实用性...

    Global site tag (gtag.js) - Google Analytics