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 传入一个对象返回关于找个对象的字符串