OpenLayers API接口文档

  • 格式:doc
  • 大小:445.50 KB
  • 文档页数:23

OpenLayers API

由于OpenLayers是采用JavaScript实现的,不存在包的概念,但是它可以通过命名空间来实现类似包的功能。另外,JavaScript不存在继承的概念,也不存在私有、公有、保护等概念,OpenLayers中所谓的继承其实就是将基类中的所有属性和方法复制到子类中去。OpenLayers的命名空间如下:

一、OpenLayers命名空间:

如上图所示,OpenLayers是整个webgis系统的最外层命名空间,所有的地理信息系统相关web程序都在此命名空间下,在此命名空间下又创建了其他的命名空间来管理相关功能的类。在这个命名空间下定义了一些基础类和基类来构建整个框架。

1、class OpenLayers.Map

Map类将div DOM元素实例化的对象为地图容器,可以向地图容器中添加图层和控件。

构造函数

构造函数 描述

Map(

string divId,

Object options

) 创建地图容器对象。

string divId:页面的div元素ID,

Object options:地图容器的相关属性。

属性

属性 类型 描述

events OpenLayers.Events 地图上能响应的事件集合

layers yer 地图上的图层集合

方法

方法 返回值 描述

getTileSize() OpenLayers.Size 返回瓦片尺寸

addLayer(Layer layer) none 向地图容器中添加层,Layer:yer

addLayers(Layer []) none 向地图容器中批量增加层,Layer:yer

removeLayer(

Layer layer,

Boolean setNewBaseLayer

) none 移除层。

Layer:yer,删除的层。如果setNewBaseLayer为true从新设置新的baseLayer,默认为true

setBaseLayer(Layer layer) none 设置新的baseLayer,隐藏原来的baseLayer,Layer:yer

addControl(Control c) none 向地图容器中添加控件,Control:OpenLayers.Control

removeControl(Control c) none 从地图容器中移除控件,Control:OpenLayers.Control

addPopup(

Popup pp,

Boolean closeOther none 新增弹出窗口。参数:pp为弹出窗口, closeOther为是否排它即移) 除其它弹出窗口 。Popup:OpenLayers.Popup.

removePopup(Popup pp) none 移除弹出窗口,Popup:OpenLayers.Popup

getZoom() int 获取地图当前缩放级别

panTo(LonLat ll) none 地图中心按指定的方式平滑到新的坐标,

LonLat:OpenLayers.LonLat

setCenter(

LonLat ll,

Int zoom,

Boolean drag,

Boolean zoomChange

) none 重新设置地图中心,缩放比列。

LonLat ll:设置地图中心的经纬度,LonLat:OpenLayers.LonLat

Int zoom:缩放级别

Boolean drag:是否触发movestart/end事件

Boolean zoomChange:是否触发zoomchange事件

getProjection() string 返回投影对象代码,3.0版本将改成返回投影对象

getNumZoomLevels() Int 返回baseLayer的缩放级别数

zoomTo(int zoom) none 改变地图的缩放级别

zoomIn() none 放大一个级别

zoomOut() none 缩小一个级别

zoomToScale(float scale) None 缩放到给定的尺寸

getLonLatFromViewPortPx(Pixel p) OpenLayers.LonLat 视口坐标转换地图坐标,Pixel:OpenLayers.Pixel

getViewPortPxFromLonLat(LonLat ll) OpenLayers.Pixel 地图坐标转换成视口坐标,LonLat:OpenLayers.LonLat

getLonLatFromPixel(Pixel p) OpenLayers.LonLat 像素点转经纬度,Pixel:OpenLayers.Pixel

getPixelFromLonLat(LonLat ll) OpenLayers.Pixel 经纬度转像素点,LonLat:OpenLayers.LonLat

getViewPortPxFromLayerPx(Pixel p) OpenLayers.Pixel 层中的坐标转视口坐标,Pixel:OpenLayers.Pixel

getLayerPxFromViewPortPx(Pixel p) OpenLayers.Pixel 视口坐标转层坐标,Pixel:OpenLayers.Pixel

getLonLatFromLayerPx(Pixel p) OpenLayers.LonLat 层坐标转经纬度,Pixel:OpenLayers.Pixel

getLayerPxFromLonLat(LonLat ll) OpenLayers.Pixel 经纬度转层坐标 2、class OpenLayers.Map2

基于OpenLayers.Map封装,将自有地图图层和常用控件都已经加载在地图当中,用户无需关心地图数据源等问题,简化了用户的地图调用。实例化该类后即可创建一个可查看和使用的地图对象,其方法和属性与OpenLayers.Map一致,见OpenLayers.Map类。

2、class OpenLayers.Marker

OpenLayers命名空间下的Marker类可以被实例化为marker对象,用于标注地图上的位置,marker对象是由LonLat对象和Icon对象组合而成的。markers一般被添加到一个叫做yer.Markers的特殊图层中。

需要注意的是,如果你在一个marker中使用了一个icon,也就是说,你不能在其他的marker中在使用它——一旦你使用了这个icon,你应该clone()这个icon然后在另外的marker中使用这个icon。

构造函数

构造函数 描述

Marker(

Icon icon,

LonLat ll

) 创建一个Marker点。

Icon icon:点的图标,Icon:OpenLayers.Icon

LonLat ll:点的位置,LonLat:OpenLayers.LonLat.

如果不设置icon将给出一个默认的图标。

3、class OpenLayers.Popup

Popup类实例化一个弹出窗口,通常被添加到地图容器中。

构造函数

构造函数 描述

Popup(

string id,

LonLat ll,

Size size,

String contentHTML,

Boolean closeBox,

Function closeBoxCallback

) 创建一个弹出窗口。

String id:为该窗口创建一个唯一的标识符,

LonLat ll:该窗口在地图上的位置,LonLat:OpenLayers.LonLat

Size size:窗口的大小,

String contentHTML:窗口中的HTML文本信息,

Boolean closeBox:是否显示关闭按钮,

Function closeBoxCallback:点击关闭按钮时调用的回调函数

方法

方法 返回值 描述

setOpacity(float opacity) none 设置该窗口的透明度,0.0到1.0之间 setSize(Size size) none 设置窗口大小,Size:OpenLayers.Size

setBackgroundColor(Color color) none 设置窗口背景颜色

setContentHTML(string content) none 设置窗口显示内容

4、class OpenLayers.Icon

Icon为图标类,图标指定用来在地图上显示 Marker 的图像。

构造函数

构造函数 描述

Icon(

URL img,

Size size,

Pixel offset,

Function calculateOffset

) 创建OpenLayers.Icon对象。

URL img:图标的图片地址,

Size size:图标大小,Size:OpenLayers.Size

Pixel offset:图片地位的参考点,

Function calculateOffset:提供一个函数用于计算参考点

5、class OpenLayers.Format

各种format类的基类,它的子类实现reading/writing方法。

构造函数

构造函数 描述

initialize(options) 构造函数,把参数付给对象的属性。

属性

属性 类型 描述

options Object 传给构造函数的一系列参数

externalProjection OpenLayers.Projection

internalProjection OpenLayers.Projection

方法

方法 返回值 描述

read(string data) Depends on subclass 读取一个字符串,根据不同的子类返回不同的类型

write(object obj) string 传入一个对象返回关于找个对象的字符串