API 手册
全局 API
methods
GL.init( callback, [confPath] )
根据
conf.json
初始化框架,conf.json
默认路径为./conf.json
参数:
{Function} callback
{string} [confPath]
用法:
<div id="container"></div>
// 创建地图对象
function initMap(success) {
var map = new GL.Map('container');
}
GL.init(initMap); // or GL.init(initMap,'./conf.json');
GL.ready( callback, [confPath] )
等同于 GL.init
GL.toString()
返回和打印框架的版本和打包日期等信息。
- 返回值:
string
- 返回值:
GL.enable( moduleId, enable, [mapId] )
启用或关闭组件。
参数:
{string} moduleId
{boolean} enable
{string} [mapId]
: 只有一个地图对象时可以省略
用法:
function initMap(success) {
var map = new GL.Map('container');
//开启
GL.enable('playback', true, map.id);
//关闭
GL.enable('layerTree', false, map.id);
}
GL.init(initMap);GL.config( moduleId, options, [mapId] )
配置组件的参数。
参数:
{string} moduleId
{Object} options
{string} [mapId]
: 只有一个地图对象时可以省略
用法:
function initMap(success) {
var map = new GL.Map('container');
//开启
GL.enable('playback', true, map.id);
//配置参数
var opts = { speed: 1 };
GL.config('playback', opts, map.id);
}
GL.init(initMap);
GL.getModule( moduleId, [mapId] )
获取组件实例。
参数:
{string} moduleId
{string} [mapId]
: 只有一个地图对象时可以省略
返回值:
Object
用法:
function initMap(success) {
var map = new GL.Map('container');
var playback = GL.getModule('playback', map.id);
//dosomething
}
GL.init(initMap);
GL.Proxy
缓存/代理
methods
GL.Proxy.getIcon( [key] )
获取缓存池中的图标对象。
参数:
{string} [key]
: 默认值:default
。
返回值: Icon.Smart
用法:
function initMap(success) {
var map = new GL.Map('container');
var icon = GL.Proxy.getIcon('icons.0001');
//dosomething
}
GL.init(initMap);
GL.Proxy.getImgInfo( key )
获取缓存池中的图片信息
参数:
{string} key
返回值:
Object
用法:
function initMap(success) {
var map = new GL.Map('container');
var info = GL.Proxy.getImgInfo('images.preview');
//dosomething
}
GL.init(initMap);
默认获取项目中
assets/
目录里的icons
和images
目录的图片。所以获取图标时,key
的组成是icons.0001
(目录名.图片名)或者images.gaea
。
GL.Proxy.getMap( [id] )
获取缓存池中的地图对象。
参数:
{string} [id]
返回值: Map
用法:
function initMap(success) {
var map = new GL.Map('container');
var map2 = GL.Proxy.getMap('container');
//dosomething
console.log(map === map2); // true
}
GL.init(initMap);
GL.Proxy.getConfig()
获取框架的全局配置。
返回值:
Object
用法:
function initMap(success) {
var config = GL.Proxy.getConfig();
//dosomething
}
GL.init(initMap);
GL.Hub
全局事件
events
{}
GL.E.FullScreenChanged:全屏状态发生切换后触发。{}
GL.E.ChangeFullScreen:改变全屏状态(进入或退出全屏)。{}
GL.E.EnterFullScreen:进入全屏事件。{}
GL.E.ExitFullScreen:退出全屏事件。
methods
GL.Hub.on( types, fn, [context] )
添加一个全局监听器。
参数:
{string} types
:事件类型,可以为单个事件,也可以为多个事件类型,以空格分开。{function} fn
:监听方法。{Object} [context]
:绑定到监听方法上的上下文对象。
返回值:
this
用法:
function initMap(success) {
var obj = { t: 'sss' };
GL.Hub.on(
'test',
function(e) {
console.log(obj === this); //true
},
obj
);
}
GL.init(initMap);
GL.Hub.on( eventMap, [context] )
添加一组(type/listener)监听器
参数:
{Object} eventMap
:(type/fn)格式的一组监听器。{Object} [context]
:绑定到监听方法上的上下文对象。
返回值:
this
用法:
function initMap(success) {
var obj = { t: 'sss' };
var events = {
test1: func1,
test2: func2
};
GL.Hub.on(events, obj);
}
function func1(e) {}
function func2(e) {}
GL.init(initMap);
GL.Hub.once( types, fn, [context] )
添加一个监听器,只会监听一次,就会删除。
参数:
{string} types
:事件类型,可以为单个事件,也可以为多个事件类型,以空格分开。{function} fn
:监听方法。{Object} [context]
:绑定到监听方法上的上下文对象。
返回值:
this
用法:
function initMap(success) {
var obj = { t: 'sss' };
GL.Hub.once(
'test',
function(e) {
console.log(obj === this); //true
},
obj
);
}
GL.init(initMap);
GL.Hub.once( eventMap, [context] )
添加一组(type/listener)监听器,只会监听一次,就会删除。
参数:
{Object} eventMap
:(type/fn)格式的一组监听器。{Object} [context]
:绑定到监听方法上的上下文对象。
返回值:
this
用法:
function initMap(success) {
var obj = { t: 'sss' };
var events = {
test1: func1,
test2: func2
};
GL.Hub.once(events, obj);
}
function func1(e) {}
function func2(e) {}
GL.init(initMap);
GL.Hub.fire( event, [args] )
触发一个指定类型的监听。
参数:
{string} event
:事件类型。{...} [args]
:参数,不定参。
返回值:
this
用法:
function initMap(success) {
GL.Hub.fire('test1', '1', 2);
}
GL.init(initMap);
GL.Hub.emit( event, [args] )
等同于GL.Hub.fire
GL.Hub.off( types, fn, [context] )
移除先前添加的侦听器功能。如果没有指定函数,它将从对象移除特定事件的所有侦听器。请注意,如果您传递了一个自定义上下文,您必须将同一上下文传递给关闭才能移除侦听器。
参数:
{string} types
:事件类型,可以为单个事件,也可以为多个事件类型,以空格分开。{function} fn
:监听方法。{Object} [context]
:绑定到监听方法上的上下文对象。
返回值:
this
用法:
function initMap(success) {
var obj = { t: 'sss' };
//on
GL.Hub.on('test1', func1, obj);
//off
GL.Hub.off('test1', func1, obj);
}
function func1(e) {}
GL.init(initMap);
GL.Hub.off( eventMap, [context] )
移除一组(type/listener)监听器
参数:
{Object} eventMap
:(type/fn)格式的一组监听器。{Object} [context]
:绑定到监听方法上的上下文对象。
返回值:
this
用法:
function initMap(success) {
var obj = { t: 'sss' };
var events = {
test1: func1,
test2: func2
};
//on
GL.Hub.on(events, obj);
//off
GL.Hub.off(events, obj);
}
function func1(e) {}
function func2(e) {}
GL.init(initMap);
GL.Hub.off()
移除所有的全局事件对象上监听的事件。
返回值:
this
用法:
function initMap(success) {
GL.Hub.off();
}
GL.init(initMap);
GL.Hub.listens( type )
检查某个特定事件类型有没有监听器。
参数:
{string} type
:事件类型。
返回值:
this
用法:
function initMap(success) {
//on
GL.Hub.on('test1', func1);
//check
var has = GL.Hub.listens('test1'); //true
var has2 = GL.Hub.listens('test2'); //false
}
function func1(e) {}
GL.init(initMap);
GL.Http
ajax 请求工具
example
GL.Http(config) |
config
{ |
response
{ |
methods
GL.Http.load( url, [params], callback, [context] )
通过 AJAX 请求从服务器加载数据并通过回调函数返回。
默认使用get
请求,当params
参数存在时将使用post
请求。
没有params
参数时可以省略,直接将 callback 写到第二个参数位置。参数:
{string} url
:请求地址{Object} [params]
:请求参数{Function} callback
:回调函数{Object} [context]
:绑定到回调函数的上下文对象
用法:
var o = { a: 'context' };
GL.Http.load('./test.html', function(responseText, status, o) {
console.log(this === o); //true
});
//or
GL.Http.load('./test.html', { name: 'test' }, function(responseText, status) {});GL.Http( config )
发送请求。
参数:
- {GL.Http Config}
config
:请求配置
- {GL.Http Config}
返回值:
Promise
用法:
GL.Http({
method: 'post',
url: '/user/12345',
data: {
firstName: 'Fred',
lastName: 'Flintstone'
}
})
.then(function(response) {
console.log(response.data);
})
.catch(function(error) {
console.log(error);
});
GL.Http.request( config )
发送请求。
参数:
- {GL.Http Config}
config
:请求配置
- {GL.Http Config}
返回值:
Promise
GL.Http.get(url, [config])
发送 get 请求。
参数:
{string} url
:请求地址。- {GL.Http Config}
[config]
:请求配置
返回值:
Promise
GL.Http.delete(url, [config])
发送 delete 请求。
参数:
{string} url
:请求地址。- {GL.Http Config}
[config]
:请求配置
返回值:
Promise
GL.Http.head(url, [config])
发送 head 请求。
参数:
{string} url
:请求地址。- {GL.Http Config}
[config]
:请求配置
返回值:
Promise
GL.Http.options(url, [config])
发送 options 请求。
参数:
{string} url
:请求地址。- {GL.Http Config}
[config]
:请求配置
返回值:
Promise
GL.Http.post(url, [data], [config])
发送 post 请求。
参数:
{string} url
:请求地址。{string} [data]
:请求参数。- {GL.Http Config}
[config]
:请求配置
返回值:
Promise
GL.Http.put(url, [data], [config])
发送 put 请求。
参数:
{string} url
:请求地址。{string} [data]
:请求参数。- {GL.Http Config}
[config]
:请求配置
返回值:
Promise
GL.Http.patch(url, [data], [config])
发送 patch 请求。
参数:
{string} url
:请求地址。{string} [data]
:请求参数。- {GL.Http Config}
[config]
:请求配置
返回值:
Promise
GL.Map
地图对象
example
var map = new GL.Map('container', { |
creation
constructor( container, [options] )
GL.Map 构造函数
参数:
{string} container
: 初始化为地图对象的 DOM 节点 id- {Map options}
[options]
返回值: Map
options
Map options
{boolean} zoomControl
:是否将缩放控件添加到地图中。{boolean} scaleControl
:是否将比例尺控件添加到地图中。- {LngLat}
center
:地图的初始中心点。 {number} zoom
:地图的初始缩放级别。{number} minZoom
:地图的最小缩放级别,优先于底图的 minZoom。{number} maxZoom
:地图的最大缩放级别,优先于底图的 minZoom。- {Envelope}
maxBounds
:地图的最大显示范围。 {boolean} fitable
:当移动地图范围超出地图的最大范围时,是否修正回来。{boolean} dragging
:是否可以用鼠标拖动地图。{boolean} scrollWheelZoom
:是否可以使用鼠标滚轮缩放地图。{boolean} doubleClickZoom
:是否可以通过双击放大地图并在按住 Shift 键的同时双击缩小地图。
Zoom options
{boolean} animate
:是否启用缩放动画。
Pan options
{boolean} animate
:是否启用平移动画。{number} duration
:动画的持续时间,以秒为单位。默认值:0.25
。{number} easeLinearity
:平移动画的曲率因子(Cubic Bezier curve的第三参数)。1 表示线性动画,这个数字越小,曲线越弯曲。默认值:0.25
。{boolean} noMoveStart
:如果是真的,平移不触发 MoveStart 事件。默认值:false
properties
{string} map.id
{Object} map.options
events
Map events
{this}
GL.E.MapInited:地图对象初始化完成后触发。{}
GL.E.MapLoaded:基础地图加载完成后触发(只第一次确定坐标系后触发)。{}
GL.E.BaseMapCompleted:多个地图发成切换后触发。- BaseLayer GL.E.BaseLayerAdded:添加基础底图后触发。
Map state change events
{ResizeEvent} resize
:地图大小变化时。{Event} zoomstart
:地图缩放触发之前。{Event} movestart
:地图移动触发之前。{Event} zoom
:地图正在缩放时。{Event} move
:地图正在移动时。{Event} zoomend
:地图缩放完成时。{Event} moveend
:地图移动完成时。
Popup events
{PopupEvent} popupopen
:Popup 打开时。{PopupEvent} popupclose
:Popup 关闭时。
Tooltip events
{TooltipEvent} tooltipopen
:Tooltip 打开时。{TooltipEvent} tooltipclose
:Tooltip 关闭时。
Interaction events
{MouseEvent} click
:当用户点击地图时触发。{MouseEvent} dblclick
:当用户双击地图时触发。{MouseEvent} mousedown
:当用户在地图上按下鼠标按钮时触发。{MouseEvent} mouseup
:当用户在地图上释放鼠标按钮时触发。{MouseEvent} mouseover
:当鼠标进入地图时触发。{MouseEvent} mouseout
:当鼠标离开地图时触发。{MouseEvent} mousemove
:当鼠标在地图上移动时触发。{MouseEvent} contextmenu
:地图上按下鼠标右键时触发,如果事件中有侦听器,则阻止默认浏览器上下文菜单显示。{KeyboardEvent} keypress
:当地图在获取到焦点时按下键盘时触发。{MouseEvent} preclick
:鼠标单击地图之前触发。
methods
refresh()
重新渲染地图
- 返回值:
this
- 返回值:
clear()
清空默认图层
remove()
销毁地图对象并清除所有相关事件监听器
- 返回值:
this
- 返回值:
getCenter()
返回当前地图视图的中心点
- 返回值: LngLat
getZoom()
返回当前地图视图的级别
- 返回值:
number
- 返回值:
getMinZoom()
返回当前地图的最小缩放级别
- 返回值:
number
- 返回值:
getMaxZoom()
返回当前地图的最大缩放级别
- 返回值:
number
- 返回值:
getBounds()
返回当前地图视图中可见的地理界限
- 返回值: Envelope
getMaxBounds()
返回当前地图的最大界限
- 返回值: Envelope
getSize()
返回地图容器的当前大小(以像素为单位)
- 返回值: Pixel
setCenter( lngLat, fly = true, [options] )
设置地图的中心点。
参数:
- {LngLat}
lngLat
: 中心点坐标。 {boolean} fly
:是否开启平滑的平移动画。- {Pan Options}
[options]
:平移属性。
- {LngLat}
返回值:
this
setZoom( zoom, [options] )
设置地图的级别。
参数:
{number} zoom
: 地图级别。- {Zoom Options | Pan Options}
[options]
:平移属性。
返回值:
this
setMinZoom( zoom )
设置地图的最小缩放级别。
参数:
{number} zoom
: 最小级别。
返回值:
this
setMaxZoom( zoom )
设置地图的最大缩放级别。
参数:
{number} zoom
: 最大级别。
返回值:
this
setView( center, zoom, [options] )
设置地图的的中心点和级别。
参数:
- {LngLat}
center
:中心点 {number} zoom
: 级别。- {Zoom Options | Pan Options}
[options]
:平移/缩放属性。
- {LngLat}
返回值:
this
zoomIn( [delta], [options] )
根据指定级别放大地图。默认放大 1 级。
参数:
{number} delta
: 放大级别。- {Zoom Options}
[options]
:缩放属性。
返回值:
this
zoomOut( [delta], [options] )
根据指定级别缩小地图。默认缩小 1 级。
参数:
{number} delta
: 缩小级别。- {Zoom Options}
[options]
:缩放属性。
返回值:
this
getContainer()
返回地图对象的 DOM 节点。
- 返回值:
HTMLElement
- 返回值:
getScale( [zoom] )
返回指定层级的比例尺。默认返回当前的层级的比例尺。
参数:
{number} [zoom]
:层级。
返回值:
number
getScales()
返回当前地图的所有比例尺。
- 返回值:
Array
- 返回值:
getScaleZoom( scale )
返回与指定比例尺对应的层级。
参数:
{number} scale
:比例尺。
返回值:
number
getResolution( [zoom] )
返回指定层级的分辨率。默认返回当前的层级的分辨率。
参数:
{number} [zoom]
:层级。
返回值:
number
getResolutions()
返回当前地图的所有分辨率。
- 返回值:
Array
- 返回值:
getOrigin()
返回当前地图的原点。
- 返回值: LngLat
getPixelBounds()
返回当前地图视图中可见的像素界限。
- 返回值: Size
getPixelOrigin()
返回当前地图视图左上角的像素坐标。
- 返回值: Pixel
toPixel( lngLat )
返回指定的一个地理坐标对应于 map 容器的相应像素坐标。
toLngLat( pixel )
返回指定的一个与 map 容器相对应的像素坐标所对应的地理坐标。
project( lngLat, [zoom] )
返回指定地理坐标相对于 CRS 原点的像素坐标。
unproject( point, [zoom] )
返回指定像素坐标相对于 CRS 原点的地理坐标。
distance( lngLat1, lngLat2 )
根据地图的 CRS 返回两个地理坐标之间的距离。单位为米。
addBaseLayer( baseLayer )
添加基础地图。
参数:
- BaseLayer
baseLayer
- BaseLayer
返回值:
this
getBaseLayer( id )
根据 id 获取地图上的基础底图。
参数:
{string | number} id
返回值: BaseLayer
getBaseLayers()
获取地图上的所有基础底图。
- 返回值:
Array
- 返回值:
getLayer( id )
根据 id 获取地图上的图层。
参数:
{string | number} id
返回值: VectorLayer | HeatLayer
getLayerId( layer )
获取图层的 id。
参数:
- {VectorLayer | HeatLayer}
layer
:图层
- {VectorLayer | HeatLayer}
返回值:
string | number
getLayers()
获取地图上的所有图层。
- 返回值:
Array
- 返回值:
addLayer( layer )
添加图层。
参数:
- {VectorLayer | HeatLayer}
layer
:图层
- {VectorLayer | HeatLayer}
返回值:
this
addLayers( layers )
添加图层。
参数:
{Array} layer
:图层数组
返回值:
this
removeBaseLayer( baseLayer )
删除底图。
参数:
- BaseLayer
baseLayer
- BaseLayer
返回值:
this
removeLayer( layer )
删除图层。
参数:
- {VectorLayer | HeatLayer}
layer
:图层
- {VectorLayer | HeatLayer}
返回值:
this
hasLayer( layer )
判断地图上是否包含指定图层。
参数:
- {VectorLayer | HeatLayer}
layer
:图层
- {VectorLayer | HeatLayer}
返回值:
boolean
eachLayer( method, [context] )
循环地图上所有图层并通过
method
方法执行回调,图层将通过回调函数的参数传递。参数:
{Function} method
: 回调函数{Object} [context]
:将要绑定到回调函数的上下文对象
返回值:
this
用法:
map.eachLayer(function(layer) {
layer.clear();
});
addControl( control )
将指定控件添加到地图中。
参数:
- {Control}
control
:控件
- {Control}
返回值:
this
removeControl( control )
将指定控件从地图中删除。
参数:
- {Control}
control
:控件
- {Control}
返回值:
this
showMask()
显示蒙层。
- 返回值:
this
- 返回值:
hideMask()
隐藏蒙层。
- 返回值:
this
- 返回值:
toggleMask()
显示或隐藏蒙层。
- 返回值:
this
- 返回值:
openPopup( popup, lngLat, [options])
在指定位置打开 popup
参数:
- {string | HTMLElement | Popup}
popup
- {LngLat}
lngLat
- {Popup Options}
[options]
- {string | HTMLElement | Popup}
返回值:
this
closePopup( popup )
关闭指定或默认 popup
参数:
- {string | HTMLElement | Popup}
popup
- {string | HTMLElement | Popup}
返回值:
this
openTooltip( tooltip, lngLat, [options])
在指定位置打开 tooltip
参数:
- {string | HTMLElement | Tooltip}
tooltip
- {LngLat}
lngLat
- {Popup Options}
[options]
- {string | HTMLElement | Tooltip}
返回值:
this
closeTooltip( tooltip )
关闭指定或默认 tooltip
参数:
- {string | HTMLElement | Tooltip}
tooltip
- {string | HTMLElement | Tooltip}
返回值:
this
addLabel( label, lngLat, [options] )
添加一个 Label 到地图上
参数:
- {string | HTMLElement | Label}
label
- {LngLat}
lngLat
- {Label Options}
[options]
- {string | HTMLElement | Label}
返回值:
this
removeLabel( label )
从地图上移除一个 Label
参数:
- {string | HTMLElement | Label}
label
- {string | HTMLElement | Label}
返回值:
this
openLabels()
打开地图上所有 Label
- 返回值:
this
- 返回值:
closeLabels()
关闭地图上所有 Label
- 返回值:
this
- 返回值:
GL.Map.GaeaInfo
继承 GL.Map。内置 gaea 基础底图
example
var map = new GL.Map.GaeaInfo('container', { |
options
{object} customParams
:自定义瓦片请求参数,key/value
的参数会转成?key1=v1&key2=v2
的URL参数拼接在瓦片请求的URL参数中。
GL.Map.TDT
继承 GL.Map。内置天地图
example
var map = new GL.Map.TDT('container', { |
options
{object} customParams
:自定义瓦片请求参数,key/value
的参数会转成?key1=v1&key2=v2
的URL参数拼接在瓦片请求的URL参数中。
GL.LayerLookup
基础底图创建工具
example
var baseLayer = new GL.LayerLookup.lookup('gaea'); |
所有类型基础地图在特定情况下需要完全自定义瓦片请求时,可按下面的例子重写
formatTileUrl
let baseLayer = GL.LayerLookup.createGaeaTiledLayer('url', {}, {})
baseLayer.formatTileUrl = function(view) {
// 行号:y
let row = view.row;
// 列号:x
let col = view.col;
// 层级:z
let lev = view.zoom;
if (this.options.invertedY && view["-row"] !== undefined) {
row = view["-row"];
}
return `${this.url}/${lev}/${row}/${col}${this.format}`;
}
options
{string} maxBounds
:底图最大范围坐标串。如:119.89,30.75;121.406,32.08
{number} minZoom
:底图可缩放最小层级。{number} maxZoom
:底图可缩放最大层级。{number} zoomOffset
:底图偏移层级。{string} format
:瓦片格式。{boolean} invertedY
:是否颠倒Y轴。{string} version
:底图版本。只在pgis类型底图上有
{string|object} style
:实力瓦片样式地址或样式对象。只在矢量瓦片底图上有
{boolean} useNative
:矢量瓦片是否调用原生接口获取瓦片数据。只在矢量瓦片底图上有
{object} customParams
:自定义瓦片请求参数,key/value
的参数会转成?key1=v1&key2=v2
的URL参数拼接在瓦片请求的URL参数中。
CRS options
{string} origin
:底图原点。格式为:x,y。如:'-400,400'
{Array} resolutions
:底图分辨率数组。
static methods
lookup( type, [froce] )
通过底图类型快速创建或从缓存中获取底图对象。
createTiledLayer( [url], [options], [crs] )
创建一个基础类型的底图。
行列号不转16进制
参数:
{string} [url]
:地图服务地址。- {Options}
[options]
:底图属性。 - {CRS Options}
[crs]
:底图配置。
返回值: BaseLayer
createGaeaTiledLayer( [url], [options], [crs] )
创建一个 gaea 类型的底图。
无参数时创建公司内置底图。
只有地图服务地址时将使用内置的options
和crs
来配置底图。参数:
{string} [url]
:地图服务地址。- {Options}
[options]
:底图属性。 - {CRS Options}
[crs]
:底图配置。
返回值: BaseLayer
createPgisTiledLayer( url, [options], [crs] )
创建一个 pgis 类型底图。底图的属性和 crs 配置默认为苏州的 PGIS 配置。
参数:
{string} url
:地图服务地址。- {Options}
[options]
:底图属性。 - {CRS Options}
[crs]
:底图配置。
返回值: BaseLayer
createEsriTiledLayer( url, [options], [crs] )
创建一个 esri 类型底图。底图的属性和 crs 配置默认会自动读取,无需配置。
参数:
{string} url
:地图服务地址。- {Options}
[options]
:底图属性。 - {CRS Options}
[crs]
:底图配置。
返回值: BaseLayer
createWmtsTiledLayer( url, [options], [crs], [wmtsParams])
创建一个 WMTS 瓦片底图。
参数:
{string} url
:地图服务地址。类似:http://118.31.32.173:8090/geoserver/gwc/service/wmts
- {Options}
[options]
:底图属性。 - {CRS Options}
[crs]
:底图配置。 {object} wmtsParams
: wmts 参数。 eg:{
service: 'WMTS',
request: 'GetTile',
version: '1.0.0',
layer: '',
style: '',
tilematrixSet: '',
format: 'image/jpeg'
}
返回值: BaseLayer
createProtobufTiledLayer( urlOrNative, [options], [crs] )
创建一个矢量瓦片底图。
参数:
{string|object} urlOrNative
:- 正常情况下为地图服务地址。类似:
http://118.31.32.173:8090/geoserver/gwc/service/tms/1.0.0/gaea%3ASZPGIS@EPSG%3A4326@pbf/{z}/{x}/{-y}.pbf
- 当需要在移动端使用并调用移动端原生接口获取瓦片数据时
options.useNative 为 true
,这里就需要传原生暴露给js的对象,eg:window.Android
- 正常情况下为地图服务地址。类似:
- {Options}
[options]
:底图属性。 - {CRS Options}
[crs]
:底图配置。
返回值: BaseLayer
createMapboxTiledLayer( options )
创建一个Mapbox矢量瓦片底图。
参数:
- {Options}
[options]
:底图属性。结合 Mapbox Map Options - {string}
options.accessToken
: Mapbox accessToken
- {Options}
返回值: BaseLayer
注:
gaea 类型是指公司自己切的瓦片并用 HTTP Server 容器发布的底图。地址规则如下:
http://img2.sz-map.com/Layers20160414/Layers/_alllayers<br/>
pgis 类型的底图地址规则如下:
http://10.35.162.68:7001/PGIS_S_TileMapServer/Maps/default
esri 类型是通过 arcgis server 发布的底图服务。地址规则如下:
http://192.168.3.213:8399/arcgis/rest/services/PGIS_SL/MapServer
tdt 类型是天地图,不可自定义配置。
BaseLayer
基础地图(GL.TiledLayer、GaeaTiledLayer、PgisTiledLayer、TdtTiledLayer、GL.EsriTiledLayer)
properties
{string} type
{string} name
{string} url
{string} version
{string} format
{Object} options
{Object} crs
{boolean} isBaseLayer
methods
group( layer )
将指定基础底图分组到当前底图。让多个图层同时显示。请确保每个图层的分辨率和层级一致。
参数:
- {BaseLayer}
layer
- {BaseLayer}
返回值:
this
unGroup( layer )
将指定基础底图从当前底图分组中移除。
参数:
- {BaseLayer}
layer
- {BaseLayer}
返回值:
this
hide()
隐藏基础底图。
- 返回值:
this
- 返回值:
show()
显示基础底图。
- 返回值:
this
- 返回值:
visible( display )
显示或隐藏基础底图。
参数:
{boolean} display
返回值:
this
setOpacity( opacity )
设置基础底图透明度。
参数:
{number} opacity
返回值:
this
GL.CanvasVectorLayer
Canvas 绘制点位图层
example
var layer = new GL.CanvasVectorLayer('canvasVectorLayer'); |
creation
constructor( [id], [options] )
构造函数
参数:
{string | number} [id]
{Object} [options]
返回值: CanvasVectorLayer
properties
{string} type
:类型{string | number} id
{Object} options
methods
addTo( map )
添加当前图层到地图中。
参数:
- {Map}
map
- {Map}
返回值:
this
remove()
将图层从当前地图中移除。
- 返回值:
this
- 返回值:
getOverlay( id )
根据 id 获取图层中的覆盖物。
参数:
{string} id
返回值: Point
getOverlayId( overlay )
获取图层中覆盖物的 id。
参数:
- {Point}
overlay
- {Point}
返回值: ‘string’
addOverlay( overlay )
添加覆盖物到图层。
参数:
- {Point}
overlay
- {Point}
返回值: ‘this’
removeOverlay( overlay )
从图层中删除覆盖物。
参数:
- {Point}
overlay
- {Point}
返回值: ‘this’
hasOverlay( overlay )
检查图层中是否包含覆盖物。
参数:
- {Point}
overlay
- {Point}
返回值: ‘boolean’
eachOverlay( method, [context] )
循环图层上所有覆盖物并通过
method
方法执行回调,覆盖物将通过回调函数的参数传递。参数:
{Function} method
: 回调函数{Object} [context]
:将要绑定到回调函数的上下文对象
返回值:
this
用法:
layer.eachOverlay(function(overlay) {
overlay.bindPopup('popopopop');
});
getOverlays()
获取图层中所有覆盖物。
- 返回值: ‘Array’
addOverlays( overlays )
向图层中批量添加覆盖物。
参数:
{Array} overlays
返回值: ‘this’
removeOverlays( overlays )
从图层中批量删除覆盖物。
参数:
{Array} overlays
返回值: ‘this’
clear()
清空图层。
- 返回值: ‘this’
getBounds()
返回包含图层中所有覆盖物的边界。
- 返回值: Envelope
hide()
隐藏图层。
- 返回值:
this
- 返回值:
show()
显示图层。
- 返回值:
this
- 返回值:
visible( display )
显示或隐藏图层。
参数:
{boolean} display
返回值:
this
setZIndex( zIndex )
设置图层的
zIndex
属性。参数:
{number} zIndex
返回值:
this
bringToBack()
将图层浮到其他图层之下。
- 返回值:
this
- 返回值:
bringToFront()
将图层浮到其他图层之上。
- 返回值:
this
- 返回值:
GL.VectorLayer
矢量图层
example
var layer = new GL.VectorLayer('vectorLayer'); |
creation
constructor( [id], [options] )
构造函数
参数:
{string | number} [id]
{Object} [options]
返回值: VectorLayer
Cluster options
{boolean} showCoverageOnHover
:当鼠标悬停在聚合点位上时,它会显示聚合点位的边界。默认:true
{boolean} zoomToBoundsOnClick
:当点击聚合点位时,缩放到聚合点位的边界。默认:true
{number} disableClusteringAtZoom
:如果设置,在这个缩放级别和下面,标记将不会被聚集。{function} iconCreateFunction
:用于创建聚合图标的功能。demo: custom example
properties
{string} type
:类型{string | number} id
{Object} options
{string} state
:状态(’normal’、’cluster’)
methods
addTo( map )
添加当前图层到地图中。
参数:
- {Map}
map
- {Map}
返回值:
this
remove()
将图层从当前地图中移除。
- 返回值:
this
- 返回值:
getOverlay( id )
根据 id 获取图层中的覆盖物。
getOverlayId( overlay )
获取图层中覆盖物的 id。
addOverlay( overlay )
添加覆盖物到图层。
removeOverlay( overlay )
从图层中删除覆盖物。
hasOverlay( overlay )
检查图层中是否包含覆盖物。
eachOverlay( method, [context] )
循环图层上所有覆盖物并通过
method
方法执行回调,覆盖物将通过回调函数的参数传递。参数:
{Function} method
: 回调函数{Object} [context]
:将要绑定到回调函数的上下文对象
返回值:
this
用法:
layer.eachOverlay(function(overlay) {
overlay.highlight();
});
getOverlays()
获取图层中所有覆盖物。
- 返回值: ‘Array’
addOverlays( overlays )
向图层中批量添加覆盖物。
参数:
{Array} overlays
返回值: ‘this’
removeOverlays( overlays )
从图层中批量删除覆盖物。
参数:
{Array} overlays
返回值: ‘this’
clear()
清空图层。
- 返回值: ‘this’
clearHighlight()
清除图层上的所有高亮效果。
- 返回值: ‘this’
getBounds()
返回包含图层中所有覆盖物的边界。
- 返回值: Envelope
normal()
改变图层为默认状态。
- 返回值:
this
- 返回值:
cluster( options )
改变图层为聚合状态。
参数:
- {Cluster Options}
options
:聚合属性
- {Cluster Options}
返回值:
this
hide()
隐藏图层。
- 返回值:
this
- 返回值:
show()
显示图层。
- 返回值:
this
- 返回值:
visible( display )
显示或隐藏图层。
参数:
{boolean} display
返回值:
this
setZIndex( zIndex )
设置图层中所有的覆盖物的
zIndex
属性。参数:
{number} zIndex
返回值:
this
setStyle( style )
参数:
- {Style | Style.Fill}
style
- {Style | Style.Fill}
返回值:
this
bringToBack()
将图层浮到其他图层之下。
- 返回值:
this
- 返回值:
bringToFront()
将图层浮到其他图层之上。
- 返回值:
this
- 返回值:
GL.ClusterLayer
聚合图层
example
var layer = new GL.ClusterLayer('clusterLayer'); |
creation
constructor( [id], [options] )
构造函数
参数:
{string | number} [id]
{Object} [options]
返回值: ClusterLayer
options
{boolean} showCoverageOnHover
:当鼠标悬停在聚合点位上时,它会显示聚合点位的边界。默认:true
{boolean} zoomToBoundsOnClick
:当点击聚合点位时,缩放到聚合点位的边界。默认:true
{number} disableClusteringAtZoom
:如果设置,在这个缩放级别和下面,标记将不会被聚集。{function} iconCreateFunction
:用于创建聚合图标的功能。demo: custom example
properties
{string} type
:类型{string | number} id
{Object} options
methods
addTo( map )
添加当前图层到地图中。
参数:
- {Map}
map
- {Map}
返回值:
this
remove()
将图层从当前地图中移除。
- 返回值:
this
- 返回值:
getOverlay( id )
根据 id 获取图层中的覆盖物。
参数:
{string} id
返回值: Point
getOverlayId( overlay )
获取图层中覆盖物的 id。
参数:
- {Point}
overlay
- {Point}
返回值: ‘string’
addOverlay( overlay )
添加覆盖物到图层。
参数:
- {Point}
overlay
- {Point}
返回值: ‘this’
removeOverlay( overlay )
从图层中删除覆盖物。
参数:
- {Point}
overlay
- {Point}
返回值: ‘this’
hasOverlay( overlay )
检查图层中是否包含覆盖物。
参数:
- {Point}
overlay
- {Point}
返回值: ‘boolean’
eachOverlay( method, [context] )
循环图层上所有覆盖物并通过
method
方法执行回调,覆盖物将通过回调函数的参数传递。参数:
{Function} method
: 回调函数{Object} [context]
:将要绑定到回调函数的上下文对象
返回值:
this
用法:
layer.eachOverlay(function(overlay) {
overlay.highlight();
});
getOverlays()
获取图层中所有覆盖物。
- 返回值: ‘Array’
addOverlays( overlays )
向图层中批量添加覆盖物。
参数:
{Array} overlays
返回值: ‘this’
removeOverlays( overlays )
从图层中批量删除覆盖物。
参数:
{Array} overlays
返回值: ‘this’
clear()
清空图层。
- 返回值: ‘this’
clearHighlight()
清除图层上的所有高亮效果。
- 返回值: ‘this’
getBounds()
返回包含图层中所有覆盖物的边界。
- 返回值: Envelope
hide()
隐藏图层。
- 返回值:
this
- 返回值:
show()
显示图层。
- 返回值:
this
- 返回值:
visible( display )
显示或隐藏图层。
参数:
{boolean} display
返回值:
this
setZIndex( zIndex )
设置图层中所有的覆盖物的
zIndex
属性。参数:
{number} zIndex
返回值:
this
bringToBack()
将图层浮到其他图层之下。
- 返回值:
this
- 返回值:
bringToFront()
将图层浮到其他图层之上。
- 返回值:
this
- 返回值:
GL.HeatLayer
热区图层
example
var layer = new GL.HeatLayer('heatLayer'); |
creation
constructor( [id], [options] )
构造函数
参数:
{string | number} [id]
- {HeatLayer Options}
[options]
返回值: HeatLayer
options
{number} maxZoom
:热区到达最大强度的级别(超过该级别不再往下分散)。默认:当前地图的最大层级
{number} minOpacity
:热区的最小透明度。默认:0.5
{number} radius
:半径。默认:25
{number} blur
:半径的模糊距离。默认:15
{number} max
:热区最高点的强度。默认:1.0
{Object} gradient
:从 0~1 的阶梯配色。默认:{ 0.4: 'blue', 0.6: 'cyan', 0.7: 'lime', 0.8: 'yellow', 1.0: 'red' }
properties
{string} type
:类型{string | number} id
{Object} options
methods
setLngLats( lngLats )
设置聚合点位。
参数:
- {LngLat[]}
lngLats
- {LngLat[]}
返回值:
this
addLngLat( lngLat )
向聚合图层中追加点位。
参数:
- {LngLat}
lngLat
- {LngLat}
返回值:
this
getLngLats()
获取聚合图层中的所有点位。
- 返回值: LngLat[]
setOptions( options )
设置聚合图层属性。
参数:
- {HeatLayer Options}
options
- {HeatLayer Options}
返回值:
this
addTo( map )
添加图层到地图上。
参数:
- {Map}
map
- {Map}
返回值:
this
remove()
从地图上删除当前图层。
- 返回值:
this
- 返回值:
clear()
清空当前图层。
- 返回值:
this
- 返回值:
GL.EsriMapServerLayer
静态服务图层
example
var layer = new GL.EsriMapServerLayer('http://192.168.3.209:8399/arcgis/rest/services/framework/MapServer'); |
creation
constructor( url, [options] )
构造函数
参数:
{string} url
:服务地址- {EsriMapServerLayer Options}
[options]
返回值: EsriMapServerLayer
options
{string} format
:图像的输出格式。默认:'png24'
{boolean} transparent
:允许服务器生成透明图像。默认:true
{string} f
:服务器响应的数据格式。默认:'json'
{Array} layers
:需要显示的图层 IDs。如:[0,2]。为空时全部显示。
{Object} layerDefs
:SQL 筛选器定义服务中呈现的图像中包含哪些特性。每个 id 对应一个 SQL 筛选器。如:{ 3:“state_name = 'kansas”、9:“pop2007 > 25000”}
{number} opacity
:图层的透明度。默认:1
{string} position
:相对于其他覆盖物的位置。选项:'back'、'front'。默认:'back'
{number} maxZoom
:显示图层的最大级别。超过该级别不显示图层。{number} minZoom
:显示图层的最小级别。小于该级别不显示图层。{boolean} useCors
:是否使用服务端的 CORS 设置。默认:false
properties
{string} type
{string} id
{Object} options
events
{LoadingEvent} loading
:当图层开始加载时触发。{LoadEvent} load
:当图层加载完成时触发。
methods
getLayers()
返回层可见图层数组(id)。
- 返回值:
Array
:图层 id 数组
- 返回值:
setLayers( layers )
设置可见图层数组并重绘。
参数:
{Array} layers
返回值:
this
getLayerDefs()
返回当前用于渲染的图层定义。
- 返回值:
Object
- 返回值:
setLayerDefs( layerDefs )
设置可见图层定义并重绘。layerDefsAPI
参数:
{Object} layerDefs
返回值:
this
getLayerNames()
返回层可见图层数组(name)。
- 返回值:
Array
- 返回值:
setLayerNames( layerNames )
设置可见图层数组并重绘。
参数:
{Array} layerNames
:图层名称数组
返回值:
this
getLayerIdByName( name )
根据图层名称获取图层 id。
参数:
{string} name
返回值:
string
redraw()
重新绘制图层。
- 返回值:
this
- 返回值:
bindPopup( fn, [popupOptions], [context])
绑定一个 popup,在单击 map 时返回静态服务中附近的要素并传递给回调函数。
回调函数内可以根据要素数据返回自定义的内容,返回的内容将通过 popup 展示出来。
如果不希望展示 popup,返回 false 即可。参数:
{Function} fn
:回调函数- {Popup Options}
[popupOptions]
:popup 配置 {Function} [context]
:绑定到回调函数上的上下文对象
返回值:
this
用法:
layer.bindPopup(function(err, featureCollection, response) {
var count = featureCollection.features.length;
return count ? count + ' features' : false;
});unbindPopup()
删除绑定的 popup。
- 返回值:
this
- 返回值:
getOpacity()
获取图层透明度。
- 返回值:
number
- 返回值:
setOpacity( opacity )
设置图层透明度。
参数:
{number} opacity
返回值:
number
getContainer()
获取图层的 DOM 节点。
- 返回值:
HTMLElement
- 返回值:
hide()
隐藏图层。
- 返回值:
this
- 返回值:
show()
显示图层。
- 返回值:
this
- 返回值:
visible( display )
显示或隐藏图层。
参数:
{boolean} display
返回值:
this
bringToBack()
将图层浮到其他图层之下。
- 返回值:
this
- 返回值:
bringToFront()
将图层浮到其他图层之上。
- 返回值:
this
- 返回值:
GL.EsriFeatureLayer
静态服务图层,只展示单个服务中指定的单个 layer
example
var layer = new GL.EsriFeatureLayer('http://192.168.3.209:8399/arcgis/rest/services/framework/MapServer/1'); |
creation
constructor( url, [options] )
构造函数
参数:
{string} url
:服务地址- {EsriFeatureLayer Options}
[options]
返回值: EsriFeatureLayer
options
{string} where
:过滤功能服务器端的可选表达式。字符串值应该用单引号表示:where: “FIELDNAME = ‘field value’”;更多请看这里{number} maxZoom
:显示图层的最大级别。超过该级别不显示图层。{number} minZoom
:显示图层的最小级别。小于该级别不显示图层。{boolean} cacheLayers
:当从数据库中删除时,将从内部缓存中删除层。- {Icon.Smart | Icon.Div}
icon
:点的图标 - {Style.Fill}
style
:线/面的样式 {boolean} useCors
:是否使用服务端的 CORS 设置。默认:false
properties
{string} type
{string} id
{Object} options
events
{LoadingEvent} loading
:当图层开始加载时触发。{LoadEvent} load
:当图层加载完成时触发。{CreateFeatureEvent} createfeature
:首次创建要素时触发。{RemoveFeatureEvent} removefeature
:当图层上的某个特性从地图上移除时触发。{AddFeatureEvent} addfeature
:当先前移除的要素被添加回地图时触发。
methods
getWhere()
返回当前的
where
属性设置- 返回值:
string
- 返回值:
setWhere( where, [callback], [context])
设置新的
where
属性并刷新图层。参数:
{string} where
:where 属性{Function} [callback]
:回调函数{Object} [context]
:绑定到回调函数的上下文对象
返回值:
this
setStyle( style,icon )
设置覆盖物的样式和图标。
参数:
- {Style.Fill}
style
:线/面的样式 - {Icon.Smart | Icon.Div}
icon
:点的图标
- {Style.Fill}
返回值:
this
setFeatureStyle( id, style)
设置覆盖物的样式。
参数:
{string | number} id
:feature id- {Style.Fill}
style
:线/面的样式
返回值:
this
setFeatureIcon( id, icon)
设置覆盖物的图标。
参数:
{string | number} id
:feature id- {Icon.Smart | Icon.Div}
icon
:点的图标
返回值:
this
resetStyle( id )
重置覆盖物的样式和图标。
参数:
{string | number} id
:feature id
返回值:
this
eachFeature( fn, [context] )
循环所有要素并执行回调函数,每个要素将通过回调函数的参数传递。
参数:
{Function} fn
:回调函数{Object} [context]
:绑定到回调函数的上下文对象
返回值:
this
用法:
featureLayer.eachFeature(function(layer) {
console.log(layer.feature.properties.NAME);
});getFeature( id )
根据 feature id 获取要素。
addFeature( feature, [callback], [context] )
向图层中添加的要素,同时会添加到地图上。
参数:
- {GeoJSON Feature}
feature
:要素 {Function} [callback]
:回调函数{Object} [context]
:绑定到回调函数的上下文对象
- {GeoJSON Feature}
返回值:
this
updateFeature( feature, [callback], [context] )
更新图层中的要素,同时会更新地图上对应的要素。
参数:
- {GeoJSON Feature}
feature
:要素 {Function} [callback]
:回调函数{Object} [context]
:绑定到回调函数的上下文对象
- {GeoJSON Feature}
返回值:
this
deleteFeature( id, [callback], [context] )
删除图层中的要素,同时会删掉地图上对应的要素。
参数:
{string | number} id
:feature id{Function} [callback]
:回调函数{Object} [context]
:绑定到回调函数的上下文对象
返回值:
this
deleteFeatures( ids, [callback], [context] )
删除一组图层中的要素,同时会删掉地图上对应的要素。
参数:
{Array} ids
:feature ids{Function} [callback]
:回调函数{Object} [context]
:绑定到回调函数的上下文对象
返回值:
this
redraw( id )
重新渲染制定要素。
参数:
{string | number} id
:feature id
返回值:
this
refresh()
重新绘制整个图层。
- 返回值:
this
- 返回值:
bindPopup( fn, [popupOptions])
给图层里的每一个要素绑定 popup,popup 的内容通过函数
fn
返回。
每一个要素的信息都会通过函数fn
传递。参数:
{Function} fn
:回调函数- {Popup Options}
[popupOptions]
:popup 配置
返回值:
this
用法:
layer.bindPopup(function(feature) {
return feature.properties.name;
});unbindPopup()
删除绑定的 popup。
- 返回值:
this
- 返回值:
hide()
隐藏图层。
- 返回值:
this
- 返回值:
show()
显示图层。
- 返回值:
this
- 返回值:
visible( display )
显示或隐藏图层。
参数:
{boolean} display
返回值:
this
bringToBack()
将图层浮到其他图层之下。
- 返回值:
this
- 返回值:
bringToFront()
将图层浮到其他图层之上。
- 返回值:
this
- 返回值:
GL.Point
点
example
var point = new GL.Point('120.45,31.456'); |
creation
constructor( lngLat, [icon], [options] )
构造函数
参数:
- {LngLat}
lngLat
- {Icon.Smart | Icon.Div}
[icon]
- {Point Options}
[options]
- {LngLat}
返回值: Point
options
{boolean} interactive
:是否触发鼠标事件。默认:true
{boolean} draggable
:是否开启拖拽。默认:false
{boolean} keyboard
:是否可以用键盘标记,并按 Enter 键单击。默认:false
{number} opacity
:透明度。默认:1
{number} zIndexOffset
:设置点位和其他点位的上下位置关系。默认:0
{boolean} riseOnHover
:是否开启当鼠标悬停时浮至最上。默认:true
{number} riseOffset
:用于riseOnHover
的z-index
偏移。默认:250
properties
{string} type
:类型{string | number} id
:id{boolean} isOverlay
:是否是 Overlay{Object} attr
:业务属性- {Handler}
editing
:编辑工具 - {PointDragHandler}
dragging
:拖拽工具 {Object} options
:属性
events
{Event} dragstart
:拖拽开始时触发。{Event} drag
:拖拽时触发。{Event} movestart
:移动开始时触发。{Event} move
:移动时触发。{Event} dragend
:拖拽完成时触发。{Event} moveend
:移动完成后触发。
methods
addTo( map )
添加点位到地图上的默认图层。
参数:
- {Map}
map
- {Map}
返回值:
this
remove()
从地图上的默认图层上删除当前点位。
- 返回值:
this
- 返回值:
getLngLat()
获取当前点位坐标。
- 返回值: LngLat
setLngLat( lngLat )
设置坐标。
参数:
- {LngLat}
lngLat
- {LngLat}
返回值:
this
setIcon( icon )
设置 Icon。
参数:
- {Icon.Smart | Icon.Div}
icon
- {Icon.Smart | Icon.Div}
返回值:
this
setZIndex( zIndex )
设置点位的
z-index
。参数:
{number} zIndex
返回值:
this
setOpacity( opacity )
设置点位的透明度。
参数:
{number} opacity
返回值:
this
highlight( [color], [size] )
高亮。
参数:
{uint} color
:颜色。默认:#0088dd
{number} size
:高亮大小。默认:60
返回值:
this
clearHighlight()
清除高亮。
- 返回值:
this
- 返回值:
hide()
隐藏点位。
- 返回值:
this
- 返回值:
show()
显示点位。
- 返回值:
this
- 返回值:
visible( display )
显示或隐藏点位。
参数:
{boolean} display
返回值:
this
bringToBack()
将点位浮到其他覆盖物之下。
- 返回值:
this
- 返回值:
bringToFront()
将点位浮到其他覆盖物之上。
- 返回值:
this
- 返回值:
rotate( degree )
旋转点位
参数:
{number} degree
:角度。默认:0
返回值:
this
getIcon()
获取当前点位 Icon。
- 返回值: Icon.Smart | Icon.Div
getIconImg()
获取当前点位 Icon 的 img 节点。(当 Icon 为Icom.Smart)时存在
- 返回值:
HTMLElement
- 返回值:
getIconHandler()
获取当前点位的高亮动画节点。
- 返回值:
HTMLElement
- 返回值:
getIconWrap()
获取当前点位的 Icon 节点。
- 返回值:
HTMLElement
- 返回值:
getOpacity()
获取当前点位的透明度。
- 返回值:
number
- 返回值:
serialize()
返回点位的序列化对象。
- 返回值:
Object
- 返回值:
toString()
返回点位的序列化字符串。
- 返回值:
string
- 返回值:
toGeoJSON()
返回点位的 GeoJSON 对象。
- 返回值:
GeoJSON
- 返回值:
clone()
返回克隆对象。
- 返回值: Point
static methods
deserialize( obj )
反序列化字符串或 Object 对象为 Point 对象
参数:
{str | Object} obj
:必须为point.toString()
返回的字符串格式。或point.serialize()
返回的对象格式。
返回值: Point
GL.Polyline
线
example
var polyline = new GL.Polyline('120.45,31.456;120.78,31.645'); |
creation
properties
{string} type
:类型{string | number} id
:id{boolean} isOverlay
:是否是 Overlay{Object} attr
:业务属性- {Handler}
editing
:编辑工具 {boolean} isMulti
:是否是多线
events
{Event} editstart
:开始编辑时触发。{Event} editend
:编辑完成时触发。{Event} editdrag
:编辑中拖拽节点时触发。
methods
addTo( map )
添加 polyline 到地图上的默认图层。
参数:
- {Map}
map
- {Map}
返回值:
this
remove()
从地图上的默认图层上删除当前 polyline。
- 返回值:
this
- 返回值:
redraw()
重新渲染。
- 返回值:
this
- 返回值:
isEmpty()
判断 polyline 是否为空。
- 返回值:
boolean
- 返回值:
getStyle()
获取 polyline 的样式属性。
- 返回值: Style
getCenter()
获取 polyline 的中心点。
- 返回值: LngLat
getBounds()
获取 polyline 的边界。
- 返回值: Envelope
getLngLats()
获取当前 polyline 坐标。
- 返回值: LngLat[]
getRing( [index] )
polyline 为多线的时候获取指定下标线段。单线的时候直接获取坐标。
参数:
{number} [index]
:线段下标。默认:0
返回值: LngLat[]
setStyle( style )
设置 polyline 的样式。
参数:
- {Style}
style
- {Style}
返回值:
this
setLngLats( lngLats )
设置坐标。
参数:
- {LngLat[]}
lngLats
- {LngLat[]}
返回值:
this
push( lngLat, [rIndex] )
为指定下标线段追加坐标。
参数:
- {LngLat}
lngLat
{number} [rIndex]
:线段下标。默认:0
- {LngLat}
返回值:
this
addLngLat( lngLat, index, [rIndex] )
为指定下标线段的指定位置插入坐标。
参数:
- {LngLat}
lngLat
{number} index
:插入位置。{number} [rIndex]
:线段下标。默认:0
- {LngLat}
返回值:
this
removeLngLat( index, rIndex )
删除指定下标线段的指定位置坐标。
参数:
{number} index
:插入位置。{number} [rIndex]
:线段下标
返回值:
this
contains( lngLat )
判断点位是否在线上。
参数:
- {LngLat}
lngLat
- {LngLat}
返回值:
boolean
intersects()
判断 polyline 线段是否交叉。
- 返回值:
boolean
- 返回值:
newLatLngIntersects( newLatlng, [skipFirst], [skipLast] )
指定一个地理坐标判断其与 polyline 最后一个点连成的线是否与 polyline 本身相交。
参数:
- {LngLat}
newLatlng
:指定坐标 {boolean} [skipFirst]
:是否跳过 polyline 对象的第一个点。{boolean} [skipLast]
:是否跳过 polyline 对象的最后一个点。
- {LngLat}
返回值:
boolean
newPointIntersects( newPixel, [skipFirst], [skipLast] )
指定一个屏幕坐标判断其与 polyline 最后一个点连成的线是否与 polyline 本身相交。
参数:
- {Pixel}
newPixel
:指定坐标 {boolean} [skipFirst]
:是否跳过 polyline 对象的第一个点。{boolean} [skipLast]
:是否跳过 polyline 对象的最后一个点。
- {Pixel}
返回值:
boolean
getElement()
获取 polyline 的 DOM 节点。
- 返回值: ‘HTMLElement’
highlight( [color] )
高亮。
参数:
{uint} [color]
返回值:
this
clearHighlight()
取消高亮。
- 返回值:
this
- 返回值:
hide()
隐藏 polyline。
- 返回值:
this
- 返回值:
show()
显示 polyline。
- 返回值:
this
- 返回值:
visible( display )
显示或隐藏 polyline。
参数:
{boolean} display
返回值:
this
bringToBack()
将 polyline 浮到其他覆盖物之下。
- 返回值:
this
- 返回值:
bringToFront()
将 polyline 浮到其他覆盖物之上。
- 返回值:
this
- 返回值:
serialize()
返回 polyline 的序列化对象。
- 返回值:
Object
- 返回值:
toString()
返回 polyline 的序列化字符串。
- 返回值:
string
- 返回值:
toGeoJSON()
返回 polyline 的 GeoJSON 对象。
- 返回值:
GeoJSON
- 返回值:
clone()
返回克隆对象。
- 返回值: Polyline
static methods
deserialize( obj )
反序列化字符串或 Object 对象为 polyline 对象
参数:
{str | Object} obj
:必须为polyline.toString()
返回的字符串格式。或polyline.serialize()
返回的对象格式。
返回值: Polyline
GL.Polygon
面
example
var polygon = new GL.Polygon('120.45,31.456;120.78,31.645;120.789,31.465'); |
creation
constructor( lngLats, [style] )
构造函数
参数:
- {LngLat[]}
lngLats
- {Style.Fill}
[style]
- {LngLat[]}
返回值: Polygon
properties
{string} type
:类型{string | number} id
:id{boolean} isOverlay
:是否是 Overlay{Object} attr
:业务属性- {Handler}
editing
:编辑工具 {boolean} isMulti
:是否是多线
events
{Event} editstart
:开始编辑时触发。{Event} editend
:编辑完成时触发。{Event} editdrag
:编辑中拖拽节点时触发。
methods
addTo( map )
添加 polygon 到地图上的默认图层。
参数:
- {Map}
map
- {Map}
返回值:
this
remove()
从地图上的默认图层上删除当前 polygon。
- 返回值:
this
- 返回值:
redraw()
重新渲染。
- 返回值:
this
- 返回值:
isEmpty()
判断 polygon 是否为空。
- 返回值:
boolean
- 返回值:
getStyle()
获取 polygon 的样式属性。
- 返回值: Style.Fill
getCenter()
获取 polygon 的中心点。
- 返回值: LngLat
getBounds()
获取 polygon 的边界。
- 返回值: Envelope
getLngLats()
获取当前 polygon 坐标。
- 返回值: LngLat[]
getRing( [index] )
polygon 为多线的时候获取指定下标线段。单线的时候直接获取坐标。
参数:
{number} [index]
:线段下标。默认:0
返回值: LngLat[]
setStyle( style )
设置 polygon 的样式。
参数:
- {Style.Fill}
style
- {Style.Fill}
返回值:
this
setLngLats( lngLats )
设置坐标。
参数:
- {LngLat[]}
lngLats
- {LngLat[]}
返回值:
this
push( lngLat, [rIndex] )
为指定下标线段追加坐标。
参数:
- {LngLat}
lngLat
{number} [rIndex]
:线段下标。默认:0
- {LngLat}
返回值:
this
addLngLat( lngLat, index, [rIndex] )
为指定下标线段的指定位置插入坐标。
参数:
- {LngLat}
lngLat
{number} index
:插入位置。{number} [rIndex]
:线段下标。默认:0
- {LngLat}
返回值:
this
removeLngLat( index, rIndex )
删除指定下标线段的指定位置坐标。
参数:
{number} index
:插入位置。{number} [rIndex]
:线段下标
返回值:
this
contains( lngLat )
判断点位是否在面内。
参数:
- {LngLat}
lngLat
- {LngLat}
返回值:
boolean
intersects()
判断 polygon 线段是否交叉。
- 返回值:
boolean
- 返回值:
newLatLngIntersects( newLatlng, [skipFirst], [skipLast] )
指定一个地理坐标判断其与 polygon 最后一个点连成的线是否与 polygon 本身相交。
参数:
- {LngLat}
newLatlng
:指定坐标 {boolean} [skipFirst]
:是否跳过 polygon 对象的第一个点。{boolean} [skipLast]
:是否跳过 polygon 对象的最后一个点。
- {LngLat}
返回值:
boolean
newPointIntersects( newPixel, [skipFirst], [skipLast] )
指定一个屏幕坐标判断其与 polygon 最后一个点连成的线是否与 polygon 本身相交。
参数:
- {Pixel}
newPixel
:指定坐标 {boolean} [skipFirst]
:是否跳过 polygon 对象的第一个点。{boolean} [skipLast]
:是否跳过 polygon 对象的最后一个点。
- {Pixel}
返回值:
boolean
getElement()
获取 polygon 的 DOM 节点。
- 返回值: ‘HTMLElement’
highlight( [color] )
高亮。
参数:
{uint} [color]
返回值:
this
clearHighlight()
取消高亮。
- 返回值:
this
- 返回值:
hide()
隐藏 polygon。
- 返回值:
this
- 返回值:
show()
显示 polygon。
- 返回值:
this
- 返回值:
visible( display )
显示或隐藏 polygon。
参数:
{boolean} display
返回值:
this
bringToBack()
将 polygon 浮到其他覆盖物之下。
- 返回值:
this
- 返回值:
bringToFront()
将 polygon 浮到其他覆盖物之上。
- 返回值:
this
- 返回值:
serialize()
返回 polygon 的序列化对象。
- 返回值:
Object
- 返回值:
toString()
返回 polygon 的序列化字符串。
- 返回值:
string
- 返回值:
toGeoJSON()
返回 polygon 的 GeoJSON 对象。
- 返回值:
GeoJSON
- 返回值:
clone()
返回克隆对象。
- 返回值: Polygon
static methods
deserialize( obj )
反序列化字符串或 Object 对象为 polygon 对象
参数:
{str | Object} obj
:必须为polygon.toString()
返回的字符串格式。或polygon.serialize()
返回的对象格式。
返回值: Polygon
GL.Rectangle
矩形
example
var envelope = new GL.Envelope('120.45,31.456', '120.65,31.564'); |
creation
constructor( envelope, [style] )
构造函数
参数:
- {Envelope}
envelope
- {Style.Fill}
[style]
- {Envelope}
返回值: Rectangle
properties
{string} type
:类型{string | number} id
:id{boolean} isOverlay
:是否是 Overlay{Object} attr
:业务属性- {Handler}
editing
:编辑工具
events
{Event} editstart
:开始编辑时触发。{Event} editend
:编辑完成时触发。{Event} editdrag
:编辑中拖拽节点时触发。{Event} editmove
:编辑中移动时触发。{Event} editresize
:编辑中改变大小时触发。
methods
addTo( map )
添加 rectangle 到地图上的默认图层。
参数:
- {Map}
map
- {Map}
返回值:
this
remove()
从地图上的默认图层上删除当前 rectangle。
- 返回值:
this
- 返回值:
redraw()
重新渲染。
- 返回值:
this
- 返回值:
isEmpty()
判断 rectangle 是否为空。
- 返回值:
boolean
- 返回值:
getStyle()
获取 rectangle 的样式属性。
- 返回值: Style.Fill
getCenter()
获取 rectangle 的中心点。
- 返回值: LngLat
getBounds()
获取 rectangle 的边界。
- 返回值: Envelope
setBounds( envelope )
设置 rectangle 的边界。
getMin()
获取当前 rectangle 的边界最小坐标(西南)。
- 返回值: LngLat
getMax()
获取当前 rectangle 的边界最大坐标(东北)。
- 返回值: LngLat
getLngLats()
获取当前 rectangle 坐标。
- 返回值: LngLat[]
setStyle( style )
设置 rectangle 的样式。
参数:
- {Style.Fill}
style
- {Style.Fill}
返回值:
this
contains( lngLat )
判断点位是否在矩形内。
参数:
- {LngLat}
lngLat
- {LngLat}
返回值:
boolean
getElement()
获取 rectangle 的 DOM 节点。
- 返回值: ‘HTMLElement’
highlight( [color] )
高亮。
参数:
{uint} [color]
返回值:
this
clearHighlight()
取消高亮。
- 返回值:
this
- 返回值:
hide()
隐藏 rectangle。
- 返回值:
this
- 返回值:
show()
显示 rectangle。
- 返回值:
this
- 返回值:
visible( display )
显示或隐藏 rectangle。
参数:
{boolean} display
返回值:
this
bringToBack()
将 rectangle 浮到其他覆盖物之下。
- 返回值:
this
- 返回值:
bringToFront()
将 rectangle 浮到其他覆盖物之上。
- 返回值:
this
- 返回值:
serialize()
返回 rectangle 的序列化对象。
- 返回值:
Object
- 返回值:
toString()
返回 rectangle 的序列化字符串。
- 返回值:
string
- 返回值:
toGeoJSON()
返回 rectangle 的 GeoJSON 对象。
- 返回值:
GeoJSON
- 返回值:
clone()
返回克隆对象。
- 返回值: Rectangle
static methods
deserialize( obj )
反序列化字符串或 Object 对象为 rectangle 对象
参数:
{str | Object} obj
:必须为rectangle.toString()
返回的字符串格式。或rectangle.serialize()
返回的对象格式。
返回值: Rectangle
GL.Circle
圆
example
var circle = new GL.Circle('120.45,31.56', 500); |
creation
constructor( center, radius, [style] )
构造函数
参数:
- {LngLat}
center
{number} radius
:半径。单位:米- {Style.Fill}
[style]
- {LngLat}
返回值: Circle
properties
{string} type
:类型{string | number} id
:id{boolean} isOverlay
:是否是 Overlay{Object} attr
:业务属性- {Handler}
editing
:编辑工具
events
{Event} editstart
:开始编辑时触发。{Event} editend
:编辑完成时触发。{Event} editdrag
:编辑中拖拽节点时触发。{Event} editmove
:编辑中移动时触发。{Event} editresize
:编辑中改变大小时触发。
methods
addTo( map )
添加 circle 到地图上的默认图层。
参数:
- {Map}
map
- {Map}
返回值:
this
remove()
从地图上的默认图层上删除当前 circle。
- 返回值:
this
- 返回值:
redraw()
重新渲染。
- 返回值:
this
- 返回值:
getStyle()
获取 circle 的样式属性。
- 返回值: Style.Fill
setStyle( style )
设置 rectangle 的样式。
参数:
- {Style.Fill}
style
- {Style.Fill}
返回值:
this
getBounds()
获取 circle 的边界。
- 返回值: Envelope
getCenter()
获取 circle 的中心点。
- 返回值: LngLat
setCenter( lngLat )
设置 circle 的中心点。
参数:
- {LngLat}
lngLat
- {LngLat}
返回值:
this
getRadius()
获取 circle 的半径。
- 返回值:
number
- 返回值:
setRadius( radius )
设置 circle 的半径。
参数:
{number} radius
返回值:
this
contains( lngLat )
判断点位是否在圆内。
参数:
- {LngLat}
lngLat
- {LngLat}
返回值:
boolean
getElement()
获取 rectangle 的 DOM 节点。
- 返回值: ‘HTMLElement’
highlight( [color] )
高亮。
参数:
{uint} [color]
返回值:
this
clearHighlight()
取消高亮。
- 返回值:
this
- 返回值:
hide()
隐藏 rectangle。
- 返回值:
this
- 返回值:
show()
显示 rectangle。
- 返回值:
this
- 返回值:
visible( display )
显示或隐藏 rectangle。
参数:
{boolean} display
返回值:
this
bringToBack()
将 rectangle 浮到其他覆盖物之下。
- 返回值:
this
- 返回值:
bringToFront()
将 rectangle 浮到其他覆盖物之上。
- 返回值:
this
- 返回值:
serialize()
返回 rectangle 的序列化对象。
- 返回值:
Object
- 返回值:
toString()
返回 rectangle 的序列化字符串。
- 返回值:
string
- 返回值:
toGeoJSON()
返回 rectangle 的 GeoJSON 对象。
- 返回值:
GeoJSON
- 返回值:
clone()
返回克隆对象。
- 返回值: Circle
static methods
deserialize( obj )
反序列化字符串或 Object 对象为 circle 对象
参数:
{str | Object} obj
:必须为circle.toString()
返回的字符串格式。或circle.serialize()
返回的对象格式。
返回值: Circle
GL.Text
文字点
example
var text = new GL.Text('120.45,31.456', '文本'); |
creation
constructor( lngLat, html, [options] )
构造函数
参数:
- {LngLat}
lngLat
- {string | Icon.Div}
[html]
- {Text Options}
[options]
- {LngLat}
返回值: Text
options
{boolean} interactive
:是否触发鼠标事件。默认:true
{boolean} draggable
:是否开启拖拽。默认:false
{boolean} keyboard
:是否可以用键盘标记,并按 Enter 键单击。默认:false
{number} opacity
:透明度。默认:1
{number} zIndexOffset
:设置点位和其他点位的上下位置关系。默认:0
{boolean} riseOnHover
:是否开启当鼠标悬停时浮至最上。默认:true
{number} riseOffset
:用于riseOnHover
的z-index
偏移。默认:250
properties
{string} type
:类型{string | number} id
:id{boolean} isOverlay
:是否是 Overlay{Object} attr
:业务属性- {Handler}
editing
:编辑工具 - {PointDragHandler}
dragging
:拖拽工具 {Object} options
:属性
events
{Event} movestart
:移动开始时触发。{Event} move
:移动时触发。{Event} moveend
:移动完成后触发。
methods
addTo( map )
添加点位到地图上的默认图层。
参数:
- {Map}
map
- {Map}
返回值:
this
remove()
从地图上的默认图层上删除当前点位。
- 返回值:
this
- 返回值:
setHtml( html )
设置 text 的内容。
参数:
- {string | Icon.Div}
html
- {string | Icon.Div}
返回值:
this
setClassName( className )
设置 text 的样式。
参数:
{string} className
返回值:
this
setPosition( position )
设置 text 的 icon 偏移位置。
参数:
{Array} position
:[0,0]
返回值:
this
getHtml()
获取 text 的内容。
- 返回值:
string
- 返回值:
getLngLat()
获取 text 坐标。
- 返回值: LngLat
setLngLat( lngLat )
设置坐标。
参数:
- {LngLat}
lngLat
- {LngLat}
返回值:
this
setIcon( icon )
设置 Icon。
参数:
- {Icon.Div}
icon
- {Icon.Div}
返回值:
this
getIcon()
获取当前 text 的 Icon。
- 返回值: Icon.Div
getOpacity()
获取当前 text 的透明度。
- 返回值:
number
- 返回值:
setZIndex( zIndex )
设置 text 的
z-index
。参数:
{number} zIndex
返回值:
this
setOpacity( opacity )
设置 text 的透明度。
参数:
{number} opacity
返回值:
this
highlight( [color], [size] )
高亮。
参数:
{uint} color
:颜色。默认:#0088dd
{number} size
:高亮大小。默认:60
返回值:
this
clearHighlight()
清除高亮。
- 返回值:
this
- 返回值:
hide()
隐藏 text。
- 返回值:
this
- 返回值:
show()
显示 text。
- 返回值:
this
- 返回值:
visible( display )
显示或隐藏 text。
参数:
{boolean} display
返回值:
this
bringToBack()
将 text 浮到其他覆盖物之下。
- 返回值:
this
- 返回值:
bringToFront()
将 text 浮到其他覆盖物之上。
- 返回值:
this
- 返回值:
serialize()
返回点位的序列化对象。
- 返回值:
Object
- 返回值:
toString()
返回点位的序列化字符串。
- 返回值:
string
- 返回值:
toGeoJSON()
返回点位的 GeoJSON 对象。
- 返回值:
GeoJSON
- 返回值:
clone()
返回克隆对象。
- 返回值: Text
static methods
deserialize( obj )
反序列化字符串或 Object 对象为 Text 对象
参数:
{str | Object} obj
:必须为text.toString()
返回的字符串格式。或text.serialize()
返回的对象格式。
返回值: Text
GL.LngLat
地理坐标对象
example
var lngLat = new GL.LngLat([120.456, 31.456]); |
creation
constructor( lng, lat, [alt] )
构造函数
参数:
{number} lng
{number} lat
{number} [alt]
返回值: Lnglat
constructor( lnglat )
构造函数
参数:
{Array | string} lnglat
返回值: Lnglat
properties
{string} type
:类型{number} lat
:经度{number} lng
:纬度{number} alt
:海拔高度(一般忽略)
methods
equals( lngLat, [maxMargin] )
判断两坐标是否在同一个位置(误差范围内),误差范围可以通过
maxMargin
控制。参数:
- {LngLat}
lngLat
:坐标 {number} [maxMargin]
:误差范围
- {LngLat}
返回值:
boolean
toBounds( sizeInMeters )
返回一个新的Envelope对象,每个边界长度是
sizeInMeters
/ 2参数:
{number} [sizeInMeters]
返回值: Envelope
distanceTo( lngLat )
返回到指定坐标的距离。单位:米
参数:
- {LngLat}
lngLat
- {LngLat}
返回值:
number
toPixel( map )
返回对应于 map 容器的相应像素坐标。
toString()
返回字符串格式的坐标。
- 返回值:
string
- 返回值:
toArray()
返回数组格式的坐标。
- 返回值:
Array
- 返回值:
clone()
返回当前对象的克隆对象。
- 返回值: LngLat
static methods
format( str, transform = false )
将字符串格式的坐标转为坐标数组或者对象
参数:
{string} str
: 字符串{boolean} [transform]
:是否将坐标转为对象,为 false 时,将转为数组。默认值:false
返回值:
Array
parse( lngLats )
将坐标对象格式化为字符串
GL.Pixel
屏幕坐标对象
example
var pixel = new GL.Pixel([120.456, 31.456]); |
creation
constructor( x, y, [round] )
构造函数
参数:
{number} x
{number} y
{boolean} [round]
:是否取整
返回值: Pixel
constructor( xy, [round] )
构造函数
参数:
{Array | string} xy
{boolean} [round]
:是否取整
返回值: Pixel
properties
{string} type
:类型{number} x
:经度{number} y
:纬度
methods
add( pixel )
返回当前和给定点相加的结果。
subtract( pixel )
从当前返回给定点的减法的结果。
multiplyBy( num )
返回当前点按给定数相乘的结果。
参数:
{number} num
返回值: Pixel
divideBy( num )
返回给定数值的当前点的分割结果。
参数:
{number} num
返回值: Pixel
scaleBy( pixel )
返回按坐标乘以当前点的每个坐标的结果。
unscaleBy( pixel )
返回每个坐标除以当前点的每个坐标的结果。
round()
返回当前坐标的四舍五入结果的克隆对象。
- 返回值: Pixel
floor()
返回当前坐标的向下取整结果的克隆对象。
- 返回值: Pixel
ceil()
返回当前坐标的向上取整结果的克隆对象。
- 返回值: Pixel
equals( pixel )
判断两坐标是否在同一个位置。
参数:
- {Pixel)}
pixel
:坐标
- {Pixel)}
返回值:
boolean
contains( pixel )
判断指定坐标是否小于当前坐标。
参数: - {Pixel)}
pixel
:坐标返回值:
boolean
distanceTo( pixel )
返回到指定坐标的距离。单位:像素
参数:
- {Pixel}
lngLat
- {Pixel}
返回值:
number
toLngLat( map )
返回对应于 map 容器的相应地理坐标。
toString()
返回字符串格式的坐标。
- 返回值:
string
- 返回值:
toArray()
返回数组格式的坐标。
- 返回值:
Array
- 返回值:
clone()
返回当前对象的克隆对象。
- 返回值: Pixel
GL.Envelope
地理坐标边界
example
var bounds = new GL.Envelope('120.45,31.45', '120.456,31.56'); |
creation
constructor( min, max )
构造函数
constructor( minmax )
构造函数
参数:
{Array | string} minmax
返回值: Envelope
properties
{string} type
:类型
methods
expand( ratio )
返回通过在每个方向上按给定百分比扩展当前边界而创建的更大的边界。
参数:
{number} ratio
:百分比
返回值: Envelope
extend( obj )
扩展边界以包含给定的点或边界。
getCenter()
返回边界的中心点。
- 返回值: LngLat
getMin()
返回边界的最小点(西南)。
- 返回值: LngLat
getMax()
返回边界的最大点(东北)。
- 返回值: LngLat
contains( obj )
判断边界是否包含给定的点或边界。
intersects( bounds )
判断指定边界与当前边界是否相交。
参数:
- {Envelope}
bounds
:边界
- {Envelope}
返回值:
boolean
overlaps( bounds )
判断指定边界与当前边界是否重叠。
参数:
- {Envelope}
bounds
:边界
- {Envelope}
返回值:
boolean
equals( bounds )
判断指定边界与当前边界是否位置是否相等(误差范围内)。
参数:
- {Envelope}
bounds
:边界
- {Envelope}
返回值:
boolean
isValid()
检查边界正确初始化。
- 返回值:
boolean
- 返回值:
toPolyline( [style] )
将边界转为线。
toPolygon( [style] )
将边界转为面。
toSize( map )
将边界转为像素边界。
toBBoxString()
返回边界的坐标字符串。
- 返回值:
string
- 返回值:
toLngLats()
返回边界的坐标对象数组。
- 返回值:
Array
- 返回值:
toString()
返回边界的最小坐标和最大坐标的字符串。
- 返回值:
string
- 返回值:
toArray()
返回边界的最小坐标和最大坐标的数组。
- 返回值:
Array
- 返回值:
clone()
返回当前对象的克隆对象。
- 返回值: Envelope
GL.Size
屏幕坐标边界
example
var size = new GL.Size('500,300', '550,350'); |
creation
constructor( topLeft, bottomRight )
构造函数
constructor( minmax )
构造函数
参数:
{Array | string} minmax
返回值: Size
properties
{string} type
:类型
methods
extend( pixel )
扩展边界以包含给定的点。
参数:
- {Pixel}
pixel
- {Pixel}
返回值:
this
getCenter( [round] )
返回边界的中心点。
参数:
{boolean} [round]
:是否取整。
返回值: Pixel
getBottomLeft()
返回边界的左下点。
- 返回值: Pixel
getTopRight()
返回边界的右上点。
- 返回值: Pixel
getMin()
返回边界的最小点(左上)。
- 返回值: Pixel
getMax()
返回边界的最大点(右下)。
- 返回值: Pixel
getSize()
返回边界的大小。
- 返回值: Pixel
contains( obj )
判断边界是否包含给定的点或边界。
intersects( bounds )
判断指定边界与当前边界是否相交。
参数:
- {Size}
bounds
:边界
- {Size}
返回值:
boolean
overlaps( bounds )
判断指定边界与当前边界是否重叠。
参数:
- {Size}
bounds
:边界
- {Size}
返回值:
boolean
isValid()
检查边界正确初始化。
- 返回值:
boolean
- 返回值:
toEnvelope( map )
将边界转为地理边界。
toString()
返回边界的最小坐标和最大坐标的字符串。
- 返回值:
string
- 返回值:
toArray()
返回边界的最小坐标和最大坐标的数组。
- 返回值:
Array
- 返回值:
clone()
返回当前对象的克隆对象。
- 返回值: Size
GL.Icon.Smart
图标
example
var icon = new GL.Icon.Smart('assets/icons/0001.png', [32, 32]); |
creation
constructor( url, size )
构造函数
参数:
{string} url
:图片路径{Array} size
:图片大小。如:[32,32]
返回值: Icon.Smart
properties
{Object} options
:属性{string} iconUrl
:图片路径{Array} iconSize
:图片大小
methods
clone()
克隆对象。
- 返回值: Icon.Smart
toJSON()
格式化为 JSON 对象。
- 返回值:
Object
- 返回值:
GL.Icon.Div
DIV 图标
example
var icon = new GL.Icon.Div('测试'); |
creation
constructor( html, [className], [size], [options] )
构造函数
参数:
{string} html
:内容{string} [className]
:样式{Array} [size]
:div 大小不设置大小的情况下,div 的左上角将会处于地理坐标点位的中心,反之则是正中心
- {Icon.Div Options}
[options]
:属性
返回值: Icon.Div
options
{string} html
:内容{Array} iconSize
:div 大小{string} className
:样式{Array} bgPos
:背景位置
properties
{Object} options
:属性{string} html
:内容{Array} iconSize
:div 大小{string} className
:样式{Array} bgPos
:背景位置
methods
clone()
克隆对象。
- 返回值: Icon.Div
toJSON()
格式化为 JSON 对象。
- 返回值:
Object
- 返回值:
GL.Icon.Stat
统计样式图标
example
const data = [ |
creation
constructor( count, desc, style, [size], [options] )
构造函数
参数:
{string | number | HTMLElement | Function} html
:图标上显示的内容{Array | string | HTMLElement | Function} desc
: 图标展开的内容{number} style
: 需要使用的样式,目前就两种,1
、2
{Array} [size]
: 图标大小两种图标都有自己默认的一个大小
- {Icon.Stat Options}
[options]
:属性
返回值: Icon.Stat
options
{Array} iconSize
:div 大小{string} className
:样式{string} descClassName
:样式
GL.Style
线的样式
example
var style = new GL.Style({ color: '#ff0000' }, true); |
creation
constructor( [options], [isDash] )
构造函数
参数:
- {Style Options}
[options]
:属性 {boolean} [isDash]
:是否是虚线
- {Style Options}
返回值: Style
options
{boolean} noClip
:禁用线裁剪。默认:true
{number} weight
:线的宽度。默认:3
{uint} color
:颜色。默认:#0088DD
{number} opacity
:透明度。默认:0.8
properties
{Object} options
:属性{boolean} noClip
:禁用线裁剪。{number} weight
:线的宽度{uint} color
:颜色{number} opacity
:透明度
{boolean} isDash
:是否是虚线
methods
clone()
克隆对象。
- 返回值: Style
toJSON()
格式化为 JSON 对象。
- 返回值:
Object
- 返回值:
GL.Style.Fill
面、矩形、圆的样式
example
var style = new GL.Style.Fill({ fillColor: '#ff0000' }, true); |
creation
constructor( [options], [isDash] )
构造函数
参数:
- {Style.Fill Options}
[options]
:属性 {boolean} [isDash]
:是否是虚线
- {Style.Fill Options}
返回值: Style.Fill
options
{boolean} noClip
:禁用线裁剪。默认:true
{boolean} stroke
:是否需要线。默认:true
{number} weight
:边线的宽度。默认:3
{uint} color
:边线颜色。默认:#0088DD
{number} opacity
:边线透明度。默认:0.8
{boolean} fill
:是否需要面。默认:true
{uint} fillOpacity
:面的透明度。默认:0.5
{number} fillColor
:面的颜色。
properties
{Object} options
:属性{boolean} noClip
:禁用线裁剪。{boolean} stroke
:是否需要线。{number} weight
:边线的宽度。{uint} color
:边线颜色。{number} opacity
:边线透明度。{boolean} fill
:是否需要面。{uint} fillOpacity
:面的透明度。{number} fillColor
:面的颜色。
{boolean} isDash
:是否是虚线
methods
clone()
克隆对象。
- 返回值: Style.Fill
toJSON()
格式化为 JSON 对象。
- 返回值:
Object
- 返回值:
GL.Popup
气泡窗口
example
var popup = new GL.Popup(); |
creation
constructor( [options], [source] )
构造函数
参数:
- {Popup Options}
[options]
- {Overlay}
[source]
- {Popup Options}
返回值: Popup
options
{number} maxWidth
:最大宽度。单位为像素。默认:300
{number} minWidth
:最小宽度。单位为像素。默认:50
{number} maxHeight
:最大高度。单位为像素。{boolean} autoPan
:是否跟随地图自动移动。默认:true
{boolean} autoPanPaddingTopLeft
:{boolean} autoPanPaddingBottomRight
:{boolean} autoPanPadding
:{boolean} keepInView
:{boolean} closeButton
:是否显示关闭按钮。默认:true
{boolean} autoClose
:是否开启自动关闭。默认:true
{string} className
:自定义样式 className。
<!-- popup 整体的 html 结构,自定义的 className 会添加在最外面一层。如‘custom-popup’ --> |
methods
getLngLat()
返回 Popup 的位置。
- 返回值: LngLat
getContent()
返回 Popup 的内容。
- 返回值:
string | HTMLElement | Function
- 返回值:
getElement()
返回 Popup 的 DOM 节点。
- 返回值:
HTMLElement
- 返回值:
getEvents()
返回 Popup 上绑定的事件。
- 返回值:
Object
- 返回值:
setLngLat( lngLat )
设置 Popup 的位置。
参数:
- {LngLat}
lngLat
- {LngLat}
返回值:
this
setContent( content )
设置 Popup 的内容。
参数:
{string | HTMLElement | Function} content
返回值:
this
setAttachmentContent( content )
设置 Popup 附属框的内容。
参数:
{string | HTMLElement | Function} content
返回值:
this
getAttachmentContent()
返回 Popup 附属框的内容。
- 返回值:
string | HTMLElement | Function
- 返回值:
setAttachmentOptions( options )
设置 Popup 附属框的属性。
参数:
{string} attachmentPlacement
:附属框在 popup 主体内容的位置,left
、right
、top
。默认right
{string} attachmentCloseButton
:附属框是否显示关闭按钮{string} attachmentClassName
:附属框的自定义 class
返回值:
this
openAttachment()
打开 Popup 附属框。
- 返回值:
this
- 返回值:
closeAttachment()
关闭 Popup 附属框。
- 返回值:
this
- 返回值:
isAttachmentOpen()
判断 Popup 附属框是否打开。
- 返回值:
boolean
- 返回值:
isOpen()
判断 Popup 是否打开。
- 返回值:
boolean
- 返回值:
bringToBack()
将 Popup 浮到最下面。
- 返回值:
this
- 返回值:
bringToFront()
将 Popup 浮到最上面。
- 返回值:
this
- 返回值:
update()
刷新 Popup 的状态和位置。
动态改变Popup大小之后可用
- 返回值:
this
- 返回值:
GL.Tooltip
提示框
example
var tooltip = new GL.Tooltip(); |
creation
constructor( [options], [source] )
构造函数
参数:
- {Tooltip Options}
[options]
- {Overlay}
[source]
- {Tooltip Options}
返回值: Tooltip
options
{Array} offset
:偏移。默认:[0,0]
{string} direction
:方向。选项:right
,left
,top
,bottom
,center
,auto
.默认:auto
{boolean} permanent
:。默认:false
{boolean} sticky
:是否固定在覆盖物中心点。默认:false
{boolean} interactive
:是否开启鼠标事件交互。默认:false
{number} opacity
:透明度。默认:0.9
{string} className
:自定义样式 className。
<!-- tooltip 整体的 html 结构,自定义的 className 会添加在最外面一层。如‘custom-tooltip’ --> |
tooltip 的箭头 css:
custom-tooltip:before { |
methods
getLngLat()
返回 Tooltip 的位置。
- 返回值: LngLat
getContent()
返回 Tooltip 的内容。
- 返回值:
string | HTMLElement
- 返回值:
getElement()
返回 Tooltip 的 DOM 节点。
- 返回值:
HTMLElement
- 返回值:
getEvents()
返回 Tooltip 上绑定的事件。
- 返回值:
Object
- 返回值:
setLngLat( lngLat )
设置 Tooltip 的位置。
参数:
- {LngLat}
lngLat
- {LngLat}
返回值:
this
setContent( content )
设置 Tooltip 的内容。
参数:
{string | HTMLElement} lngLat
返回值:
this
isOpen()
判断 Tooltip 是否打开。
- 返回值:
boolean
- 返回值:
bringToBack()
将 Tooltip 浮到最下面。
- 返回值:
this
- 返回值:
bringToFront()
将 Tooltip 浮到最上面。
- 返回值:
this
- 返回值:
GL.Label
文字 Label
example
var label = new GL.Label(); |
creation
constructor( [options], [source] )
构造函数
参数:
- {Label Options}
[options]
- {Overlay}
[source]
- {Label Options}
返回值: Label
options
{Array} offset
:偏移。默认:[0,0]
{string} direction
:方向。选项:right
,left
,top
,bottom
,center
,auto
.默认:auto
{boolean} interactive
:是否开启鼠标事件交互。默认:false
{number} opacity
:透明度。默认:1
{string} className
:自定义样式 className。
<!-- label 整体的 html 结构,自定义的 className 会添加在最外面一层。如‘custom-label’ --> |
methods
getLngLat()
返回 Label 的位置。
- 返回值: LngLat
getContent()
返回 Label 的内容。
- 返回值:
string | HTMLElement
- 返回值:
getElement()
返回 Label 的 DOM 节点。
- 返回值:
HTMLElement
- 返回值:
getEvents()
返回 Label 上绑定的事件。
- 返回值:
Object
- 返回值:
setLngLat( lngLat )
设置 Label 的位置。
参数:
- {LngLat}
lngLat
- {LngLat}
返回值:
this
setContent( content )
设置 Label 的内容。
参数:
{string | HTMLElement} lngLat
返回值:
this
isOpen()
判断 Label 是否打开。
- 返回值:
boolean
- 返回值:
bringToBack()
将 Label 浮到最下面。
- 返回值:
this
- 返回值:
bringToFront()
将 Label 浮到最上面。
- 返回值:
this
- 返回值:
GL.Handler
地图交互处理程序的抽象类
creation
constructor( map )
构造函数
参数:
- {Map}
map
:地图对象。
- {Map}
返回值: GL.Handler
methods
enable()
开启交互程序。
- 返回值:
this
- 返回值:
disable()
关闭交互程序。
- 返回值:
this
- 返回值:
enabled()
判断交互程序是否开启。
- 返回值:
boolean
- 返回值:
GL.Handler.PointDrag
Point 拖动处理程序
creation
constructor( point )
构造函数
参数:
- {Point}
point
:点对象。
- {Point}
返回值: GL.Handler.PointDrag
methods
enable()
开启拖拽。
- 返回值:
this
- 返回值:
disable()
关闭拖拽。
- 返回值:
this
- 返回值:
enabled()
判断拖拽程序是否开启。
- 返回值:
boolean
- 返回值:
GL.Control
地图控件的基类
creation
constructor( [options], [callback] )
构造函数
参数:
- {Control Options}
[options]
{Function} [callback]
:默认 Control 的点击事件回调函数。
- {Control Options}
返回值: GL.Control
options
{string} position
:控件在地图上的位置。选项:topleft
、topright
、bottomleft
、bottomright
。默认:topright
methods
getPosition()
获取控件的位置。
- 返回值:
string
- 返回值:
setPosition( position )
设置控件的位置。
参数:
{string} position
:位置。
返回值:
this
getContainer()
获取控件的 DOM 节点。
- 返回值:
HTMLElement
- 返回值:
addTo( map )
添加控件到地图上。
参数:
- {Map}
map
:地图对象
- {Map}
返回值:
this
remove()
从地图上移除控件。
- 返回值:
this
- 返回值:
延伸的方法,每个继承 GL.Control 的控件都应该重写以下方法。
onAdd( map )
此方法在调用
control.addTo(map)
时被调用,方法需要返回一个HTMLElement
对象。
返回的HTMLElement
对象会被添加到地图中。参数:
- {Map}
map
:地图对象
- {Map}
返回值:
HTMLElement
onRemove( map )
此方法在调用
control.remove()
时被调用。
可选择性的重写,如果在控件被移除时需要处理业务或者关闭事件等情况下可进行重写。- 参数:
- {Map}
map
:地图对象
- {Map}
- 参数:
GL.Measure
测量
example
var measure = new GL.Measure(map); |
options
根据测量类型选择不同的 options
Polyline
- {Icon.Smart | Icon.Div}
icon
:绘制时顶点图标 - {Style}
style
:线的样式 {boolean} showLength
:是否显示距离。默认:true
Polygon
- {Icon.Smart | Icon.Div}
icon
:绘制时顶点图标 - {Style.Fill}
style
:面的样式 {boolean} showArea
:是否显示面积。默认:true
creation
methods
activate( type [, options] )
开始测量。
参数:
{string} type
:测量类型。选项:'Polyline'、'Polygon'
- Measure Options
[options]
:测量属性
返回值:
this
deactivate()
取消测量。
- 返回值:
this
- 返回值:
clear()
清空测量图层。
- 返回值:
this
- 返回值:
GL.DrawTool
绘制工具
options
根据绘制类型选择不同的 options
Point
- {Icon.Smart | Icon.Div}
icon
:图标 {boolean} repeatMode
:是否启用循环绘制。’默认:false’
Polyline
{boolean} allowIntersection
:是否忽略边界交叉检查。默认:true
{boolean} repeatMode
:是否启用循环绘制。默认:false
{Object} drawError
:错误信息属性。当allowIntersection
为 false 时生效。{uint} color
:发生错误时,线段颜色。’默认:#b00b00’{number} timeout
:错误信息显示时长。’默认:2500’
- {Icon.Smart | Icon.Div}
icon
:绘制时顶点图标 - {Style}
style
:线的样式 {boolean} showLength
:是否显示距离。默认:true
Polygon
{boolean} allowIntersection
:是否忽略边界交叉检查。默认:true
- `{boolean} repeatMode:是否启用循环绘制。’默认:false’
{Object} drawError
:错误信息属性。当allowIntersection
为 false 时生效。{uint} color
:发生错误时,面的边线段颜色。’默认:#b00b00’{number} timeout
:错误信息显示时长。’默认:2500’
- {Icon.Smart | Icon.Div}
icon
:绘制时顶点图标 - {Style.Fill}
style
:面的样式 {boolean} showArea
:是否显示面积。默认:true
Rectangle
{boolean} repeatMode
:是否启用循环绘制。’默认:false’- {Style.Fill}
style
:矩形的样式 {boolean} showArea
:是否显示面积。默认:true
Circle
{boolean} repeatMode
:是否启用循环绘制。’默认:false’- {Style.Fill}
style
:圆的样式 {boolean} showArea
:是否显示面积。默认:true
{boolean} showRadius
:是否显示半径。默认:true
static methods
activate( map, type, callback, [context], [options] )
开始绘制。
参数:
- Map
map
:地图对象 {string} type
:绘制类型。选项:'Point'、'Polyline'、'Polygon'、'Rectangle'、'Circle'
{Function} callback
:绘制回调函数{Object} [context]
:绘制回调函数上下文对象- DrawTool Options
[options]
:绘制属性
- Map
回调函数参数:
{Object} event
function drawEnd(e) {
if (e.status === 'created') {
console.log(e.feature);
}
}
GL.DrawTool.activate(map, 'Polygon', drawEnd, this);
deactivate()
取消绘制。
GL.EditTool
编辑工具,事件请见Point Event | Polyline Event | Polygon Event| Rectangle Event| Circle Event
options
根据绘制类型选择不同的 options
Polyline
{boolean} allowIntersection
:是否忽略边界交叉检查。默认:true
{Object} drawError
:错误信息属性。当allowIntersection
为 false 时生效。{uint} color
:发生错误时,线段颜色。’默认:#b00b00’{number} timeout
:错误信息显示时长。’默认:2500’
- {Icon.Smart | Icon.Div}
icon
:绘制时顶点图标 {Object} pathOptions
:编辑时线的样式。属性见Style Options{boolean} showLength
:是否显示距离。默认:true
{string} text
:设置编辑时提示内容。不设置将使用默认提示。
Polygon
{boolean} allowIntersection
:是否忽略边界交叉检查。默认:true
{Object} drawError
:错误信息属性。当allowIntersection
为 false 时生效。{uint} color
:发生错误时,线段颜色。’默认:#b00b00’{number} timeout
:错误信息显示时长。’默认:2500’
- {Icon.Smart | Icon.Div}
icon
:绘制时顶点图标 {Object} pathOptions
:编辑时面的样式。属性见Style.Fill Options{boolean} showArea
:是否显示面积。默认:true
{string} text
:设置编辑时提示内容。不设置将使用默认提示。
Rectangle
- {Icon.Smart | Icon.Div}
moveIcon
:改变位置的图标 - {Icon.Smart | Icon.Div}
resizeIcon
:改变大小的图标 {Object} pathOptions
:编辑时矩形的样式。属性见Style.Fill Options{boolean} showArea
:是否显示面积。默认:true
{string} text
:设置编辑时提示内容。不设置将使用默认提示。
Circle
- {Icon.Smart | Icon.Div}
moveIcon
:改变位置的图标 - {Icon.Smart | Icon.Div}
resizeIcon
:改变大小的图标 {Object} pathOptions
:编辑时圆的样式。属性见Style.Fill Options{boolean} showArea
:是否显示面积。默认:true
{boolean} showRadius
:是否显示半径。默认:true
{string} text
:设置编辑时提示内容。不设置将使用默认提示。
static methods
activate( overlay, [options] )
开始编辑。
deactivate()
取消编辑。
GL.BufferTool
缓冲工具
static methods
activate( overlay, callback, [context], [bufferStyle] )
开始编辑。
- 参数:
- Polyline | Polygon | Rectangle | Circle
overlay
:需要缓冲的覆盖物 {Function} callback
:缓冲完成时的回调函数。参数:feature
{Object} [context]
:回调函数上下文对象。- Style.Fill Options
[bufferStyle]
:缓冲是面的样式
- Polyline | Polygon | Rectangle | Circle
- 参数:
deactivate()
取消编辑。
buffer( overlay, distance )
返回对覆盖物进行缓冲指定距离之后的经纬度数组。
GL.H
基本工具类
static methods
stamp( obj )
获取对象唯一的 uuid,如果没有将为对象生成一个 uuid。
参数:
{Object} obj
:任意对象
返回值:
string
uuid( [prefix] )
生成一个 36 位的 uuid。
参数:
{string} [prefix]
:uuid,前缀。默认:'ID'
返回值:
string
getLevOfArr( arr )
获取数组的维数。
参数:
{Array} arr
返回值:
number
trim( str )
对字符串进行 trim 处理。
参数:
{string} str
返回值:
string
isObjBlank( obj )
判断对象是否为空对象(即无任何属性)。
参数:
{Object} obj
返回值:
boolean
isString( obj )
判断对象是否为字符串。
参数:
{Object} obj
返回值:
boolean
isNumber( obj )
判断对象是否为数字。
参数:
{Object} obj
返回值:
boolean
isArray( obj )
判断对象是否为数组。
参数:
{Object} obj
返回值:
boolean
isNotEmpty( str )
判断字符串是否不为空。
参数:
{string} str
返回值:
boolean
isEmpty( str )
判断字符串是否为空。
参数:
{string} str
返回值:
boolean
isEquals( str1, str2 )
判断两个字符串是否相等。
参数:
{string} str1
{string} str2
返回值:
boolean
isEqualsIgnoreCase( str1, str2 )
判断两个字符串是否相等(忽略大小写)。
参数:
{string} str1
{string} str2
返回值:
boolean
isChinese( str )
判断字符串是否是包含中文。
参数:
{string} str
返回值:
boolean
formatNum( num, [precision] )
格式化小数。
参数:
{number} num
:要格式化的数字{number} [precision]
:小数位数。默认:6
返回值:
number
extend( dest, …src )
将 src 的对象属性合并到 dest 并返回合并后的对象。
参数:
{Object} dest
:原始对象{...} src
:待合并的对象,可多个。(不定参)
返回值:
Object
splitWords( src )
将字符串按空格拆分为数组。
参数:
{string} src
返回值:
Array
falseFn()
返回一个 false。
- 返回值:
boolean
- 返回值:
setOptions( obj, options )
将 options 对象的属性和并到 obj 对象的 options 属性上。并返回合并后的 obj 的 options 属性。
参数:
{Object} obj
{Object} options
返回值:
Object
bind( fn, obj )
为指定方法绑定指定上下文对象,并返回绑定之后的新方法。
参数:
{Function} fn
:需要绑定上下文的方法。{Object} obj
:上下文对象。
返回值:
Function
requestAnimFrame( fn, [context], [immediate] )
使用
window.requestAnimationFrame
来执行绘制动画的方法。如果浏览器不支持将使用原生的setTimeout
代替。
并返回一个可以取消执行的 id。参数:
{Function} fn
:执行动画的函数。{Object} [context]
:绑定到函数的上下文对象。{boolean} [immediate]
:是否立即执行。
返回值:
number
cancelAnimFrame( id )
根据
requestAnimFrame
方法返回的 id 取消动画的执行- 参数:
{number} id
- 参数:
getRestUrl( url )
根据系统配置中的项目地址,
config.server.web (http://ip/projectName)
来组装完整 url 地址。
如果系统配置中没有配置项目地址,就默认根据当前浏览器地址的 ip 加项目名来组装。参数:
{string} url
:需要组装的 url 后缀。
返回值:
string
GL.H.Geometry
Geometry 相关工具类
static methods
isCoordStr( str )
是否为坐标串。
参数:
{string} str
返回值:
boolean
isLngLatStr( str )
是否经纬度串。
参数:
{string} str
返回值:
boolean
isFlat( lngLats )
判断经纬度数组是不是一维数组。
参数:
{Array} lngLats
返回值:
boolean
simplify( pixels , tolerance)
简化坐标数组。(减少点的数量)
distanceOfPointToLine( p, p1, p2)
计算点到线段的距离。
calculateDistanceOfLngLatToPoly( map , lngLat, poly, [uint])
计算点到线或面的距离。
distancePixelOfLngLat( map , lngLat, lngLat1 )
两点之间的平面距离。
distancePixelOfLngLatSegment( map , lngLat, lngLat1, lngLat2 )
点到两点之间的平面距离。
closestPointOnSegment( p, p1, p2)
返回点到线的垂足(平面)。
closestLngLatOnSegment( map, lngLat, lngLat1, lngLat2)
返回点到线的垂足(地理)。
clipPolyline( p, p1, boundary, [useLastCode], [round])
使用矩形裁剪线段。
clipPolygon( pixels, boundary, [round])
使用矩形裁剪多边形。
distance( coords )
返回线路总距离。单位:米。
accumulatedDistances( coords )
返回线路沿行的累计距离数组。单位:米。
area( coords )
获取多边形的面积。单位:平方米。
interpolateOnLngLatSegment( lngLat1, lngLat2, ratio )
返回位于线段的指定长度段的点。
interpolateOnPixelSegment( p1, p2, ratio )
返回两个平面点之间指定距离的一个平面点。
isIntersect( px1, py1, px2, py2, px3, py3, px4, py4)
判断两个线段是否相交。
参数:
{number} px1
:线段 1 的第 1 个点的 x 坐标{number} py1
:线段 1 的第 1 个点的 y 坐标{number} px2
:线段 1 的第 2 个点的 x 坐标{number} py2
:线段 1 的第 2 个点的 y 坐标{number} px3
:线段 2 的第 1 个点的 x 坐标{number} py3
:线段 2 的第 1 个点的 y 坐标{number} px4
:线段 2 的第 2 个点的 x 坐标{number} py4
:线段 2 的第 2 个点的 y 坐标
返回值:
boolean
belongsSegment( lngLat, lngLat1, lngLat2, [tolerance] )
判断点是否在线段上。
computeAngle( p1, p2 )
返回在该两点之间的水平角度。
computeSlope( p1, p2 )
返回两点之间的斜率。
rotateLngLat( map, lngLat, angleDeg, center )
返回根据指定角度和旋转中心点旋转过后的点。
bearing( lngLat, lngLat2 )
返回第一个点从正北(0 度)位置开始顺时针旋转到第二个点的度数。
destination( lngLat, angleDeg, distance )
在指定的原点根据指定的方向和距离生成一个点。
readableDistance( distance )
将距离转换为可读的距离字符串。
参数:
{number} distance
:距离(单位:米)
返回值:
string
readableArea( area )
将面积转化为可读的面积字符串。
参数:
{number} area
:面积(单位:平方米)
返回值:
string
GL.H.Transform
坐标转换工具类
static methods
transformBD09ToGCJ02( lng, lat )
百度坐标系 (BD-09)转火星坐标系 (GCJ-02)。
参数:
{number} lng
:经度{number} lat
:纬度
返回值:
[lng,lat]
transformGCJ02ToBD09( lng, lat )
火星坐标系 (GCJ-02)转百度坐标系 (BD-09)。
参数:
{number} lng
:经度{number} lat
:纬度
返回值:
[lng,lat]
transformWGS84ToGCJ02( lng, lat )
WGS84 转 GCj02。
参数:
{number} lng
:经度{number} lat
:纬度
返回值:
[lng,lat]
transformGCJ02ToWGS84( lng, lat )
GCJ02 转换为 WGS84。
参数:
{number} lng
:经度{number} lat
:纬度
返回值:
[lng,lat]
transformBD09ToWGS84( lng, lat )
百度坐标 BD09 转 WGS84。
参数:
{number} lng
:经度{number} lat
:纬度
返回值:
[lng,lat]
transformWGS84ToBD09( lng, lat )
WGS84 转 百度坐标 BD09。
参数:
{number} lng
:经度{number} lat
:纬度
返回值:
[lng,lat]
transformWGS84ToMercator( lng, lat )
WGS84 转墨卡托。
参数:
{number} lng
:经度{number} lat
:纬度
返回值:
[lng,lat]
transformMercatorToWGS84( lng, lat )
墨卡托转 WGS84。
参数:
{number} lng
:经度{number} lat
:纬度
返回值:
[lng,lat]
outOfChina( lng, lat )
判断坐标是否不在国内。
参数:
{number} lng
:经度{number} lat
:纬度
返回值:
boolean
encodeLngLat( lngLats )
加密经纬度(数组)。
参数:
{Array} lngLats
:经纬度数组。如:[lng,lat] 或 [[lng,lat],[lng,lat],[lng,lat]]
返回值:
string
decodeLngLat( encodedLngLat )
解密经纬度(数组)。
参数:
{string} encodedLngLat
:通过encodedLngLat
加密过的字符串。
返回值:
Array
GL.DomUtil
Dom 操作工具类
static methods
get( id )
根据 id 获取 HTMLElement 元素。
参数:
{ string } id
: id
返回值:
HTMLElement
getStyle( el, styleAttrib )
返回元素上某个样式属性的值,包括计算值或通过 CSS 设置的值。
参数:
{ HTMLElement } el
: HTMLElement 元素{ string } id
: CSS 属性名
返回值:
string
create( tagName, [className], [container] )
使用 tagName 创建 HTML 元素,将其类设置为 className,并可选择将其附加到容器元素。
参数:
{ string } tagName
: 要创建的 HTML 元素 tagName{ string } [className]
: className{ HTMLElement } [container]
: 要添加进的父元素
返回值:
HTMLElement
remove( el )
从其父元素中删除 HTML 元素。
参数:
{ HTMLElement } el
: HTMLElement 元素
返回值:
无
empty( el )
删除指定元素中所有的子元素。
参数:
{ HTMLElement } el
: HTMLElement 元素
返回值:
无
toFront( el )
将元素浮动到父元素中所有子元素的最上面。
参数:
{ HTMLElement } el
: HTMLElement 元素
返回值:
无
toBack( el )
将元素浮动到父元素中所有子元素的最下面。
参数:
{ HTMLElement } el
: HTMLElement 元素
返回值:
无
hasClass( el, className )
检查元素是否存在包含指定的 class。
参数:
{ HTMLElement } el
: HTMLElement 元素{ string } className
: className
返回值:
Boolean
addClass( el, className )
给元素添加 class。
参数:
{ HTMLElement } el
: HTMLElement 元素{ string } className
: className
返回值:
无
removeClass( el, className )
从元素中删除指定 class。
参数:
{ HTMLElement } el
: HTMLElement 元素{ string } className
: className
返回值:
无
setClass( el, className )
设置元素的 class。(会覆盖所有现有 class)
参数:
{ HTMLElement } el
: HTMLElement 元素{ string } className
: className
返回值:
无
getClass( el )
返回元素所有 class。
参数:
{ HTMLElement } el
: HTMLElement 元素
返回值:
string
setOpacity( el, opacity )
设置元素的不透明度(包括旧的 IE 支持)。不透明度必须是 0 到 1 之间的数字。
参数:
{ HTMLElement } el
: HTMLElement 元素{ Number } opacity
: 不透明度
返回值:
无
testProp( props )
遍历样式名称数组并返回第一个名称,该名称是元素的有效样式名称。如果找不到这样的名称,则返回 false。对于像转换这样的供应商前缀样式很有用。
参数:
{ strinig[] } props
: 样式名称
返回值:
string|false
setTransform( el, offset, [scale] )
重置 el 的 3D CSS 变换,使其由偏移像素转换,并可选择按比例缩放。如果浏览器不支持 3D CSS 变换,则无效。
参数:
{ HTMLElement } el
: HTMLElement 元素{ Point } offset
: 偏移像素{ Number } [scale]
: 缩放比例
返回值:
无
GL.DomEvent
Dom 事件工具类
static methods
on( el, types, fn, [context] )
将侦听器函数(fn)添加到元素 el 的特定 DOM 事件类型。您可以选择指定侦听器的上下文(this 关键字指向的对象)。您还可以传递多个以空格分隔的类型(例如“click dblclick”)。
参数:
{ HTMLElement } el
: HTMLElement 元素{ string } types
: 事件类型{ Function } fn
: 事件监听器函数{ Object } [context]
: 上下文对象
返回值:
this
on( el, eventMap, [context] )
添加一组类型/侦听器对,例如{click:onClick,mousemove:onMouseMove}。
参数:
{ HTMLElement } el
: HTMLElement 元素{ Object } eventMap
: 类型/侦听器对{ Object } [context]
: 上下文对象
返回值:
this
off( el, types, fn, [context] )
删除以前添加的侦听器功能。请注意,如果将自定义上下文传递给 on,则必须将相同的上下文传递给 off 才能删除侦听器。
参数:
{ HTMLElement } el
: HTMLElement 元素{ string } types
: 事件类型{ Function } fn
: 事件监听器函数{ Object } [context]
: 上下文对象
返回值:
this
off( el, eventMap, [context] )
删除一组类型/侦听器对,例如{click:onClick,mousemove:onMouseMove}
参数:
{ HTMLElement } el
: HTMLElement 元素{ Object } eventMap
: 类型/侦听器对{ Object } [context]
: 上下文对象
返回值:
this
stopPropagation( ev )
停止给定事件传播到父元素。在侦听器函数中使用:
GL.DomEvent.on(div, 'click', function (ev) {
GL.DomEvent.stopPropagation(ev);
});参数:
{ DOMEvent } ev
: DomEvent 对象
返回值:
this
disableScrollPropagation( el )
将 stopPropagation 添加到元素的’mousewheel’事件(以及浏览器变体)。
参数:
{ HTMLElement } el
: HTMLElement 元素
返回值:
this
disableClickPropagation( el )
将 stopPropagation 添加到元素的“click”,“doubleclick”,“mousedown”和“touchstart”事件(以及浏览器变体)。
参数:
{ HTMLElement } el
: HTMLElement 元素
返回值:
this
preventDefault( ev )
阻止 DOM 事件发生的默认操作(例如,跟随 a 元素的 href 中的链接,或者在提交
参数:
{ DOMEvent } ev
: DomEvent 对象
返回值:
this
stop( ev )
同时调用 stopPropagation 和 preventDefault。
参数:
{ DOMEvent } ev
: DomEvent 对象
返回值:
this
getMousePosition( ev, [el] )
获取 DOM 事件相对于容器(不包括边框)的标准化鼠标位置,如果未指定,则获取整个页面的标准化鼠标位置。
参数:
{ DOMEvent } ev
: DomEvent 对象{ HTMLElement } [el]
: HTMLElement 元素
返回值:
Point
getWheelDelta( ev )
从鼠标滚轮 DOM 事件获取标准化的轮增量,以垂直像素滚动(如果向下滚动则为负)。来自没有精确滚动的指点设备的事件被映射到 60 像素的最佳猜测。
参数:
{ DOMEvent } ev
: DomEvent 对象
返回值:
Number
GL.Service
常用数据查询服务代理类
static methods
searchFeatureInfoById( id, objectTypeId, callback )
根据 ID 查询 feature 配置的业务信息、属性
参数:
{string} id
:feature id{string} objectTypeId
:对象类别编码{Function} callback
:回调方法
用法:
GL.Service.searchFeatureInfoById('id-123465', 'otId-123456', function(data) {
console.log(data);
});searchPoiByKw( keyword, callback )
根据关键字查询 POI
参数:
{string} keyword
:关键字{Function} callback
:回调方法
用法:
GL.Service.searchPoiByKw('苏州市政府', function(data) {
console.log(data);
});searchSingleFeatureByLngLat( map, serverURL, lngLat, callback, [precision] )
根据经纬度查询图层服务中最近的业务 feature
参数:
用法:
let url = 'http://192.168.3.209:8399/arcgis/rest/services/framework/MapServer';
GL.Service.searchSingleFeatureByLngLat(map, url, map.getCenter(), function(data) {});searchSinglePoiByLngLat( location, callback, [distance] )
根据经纬度查询最近的基础 POI
参数:
- {LngLat}
location
:坐标 {Function} callback
:回调方法{number} distance
:查询缓冲距离。默认:10
- {LngLat}
用法:
GL.Service.searchSinglePoiByLngLat(new GL.LngLat('120.156,31.456'), function(data) {});
queryDynamicByFilter( layerId, objectTypeIds, bounds, callback )
动态图层查询数据
参数:
{string} layerId
:图层 id{Array} objectTypeIds
:图层下需要查询的对象类别 ids{string} bounds
:经纬度矩形范围,最小;最大(左下角;右上角){Function} callback
:回调方法
用法:
GL.Service.queryDynamicByFilter('layerId-123456', ['otId-1', 'otId-2'], '120.12,31.45;120.54,31.95', function(
data
) {});searchLayerTree( callback )
获取业务图层树
参数:
{Function} callback
:回调方法
用法:
GL.Service.searchLayerTree(function(data) {});
queryByAttributeSuggest( kw, callback, [suggestSize] )
根据关键字联想查询(属性查询)
参数:
{string} kw
:关键字{Function} callback
:回调方法{number} [suggestSize]
:联想数量。默认:10
用法:
GL.Service.queryByAttributeSuggest('苏州市', function(data) {});
queryByAttribute( kw, callback )
根据关键字查询(属性查询)
参数:
{string} kw
:关键字{Function} callback
:回调方法
用法:
GL.Service.queryByAttribute('苏州市政府', function(data) {});
queryFeatureTypesByGeometry( type, lnglats, radius, callback )
根据选择的范围去后台查询范围内数据类型
参数:
{string} type
:绘制图形的类别。{string} lnglats
:经纬度串。{number} radius
:缓冲距离。{Function} callback
:回调方法
用法:
GL.Service.queryFeatureTypesByGeometry('Polygon', '120.11,31.32;120.22,31.55;120.66,31.05', 500, function(data) {});
queryFeaturesByGeometryAndType( layerId, id, type, lnglats, radius, callback )
根据选择的范围和数据类型去后台查询范围内数据
参数:
{string} layerId
:图层的 id。{string} id
:类别的 id,如果点击的为图层 id 的值为 layerId,表示查找该图层下的所有类别的数据。{string} type
:绘制图形的类别。{string} lnglats
:经纬度串。{number} radius
:缓冲距离。{Function} callback
:回调方法
用法:
GL.Service.queryFeaturesByGeometryAndType(
laeyrId,
id,
'Polygon',
'120.11,31.32;120.22,31.55;120.66,31.05',
500,
function(data) {}
);queryByAttributeAndGeometry( params, callback )
根据选择的范围和和关键字查询数据
参数:
{Object} params
{string} keyword
:关键字{string} type
:绘制图形的类别。{string} lnglats
:经纬度串。{number} radius
:圆形半径
{Function} callback
:回调方法
用法:
var params = { keyword: '苏同黎' };
GL.Service.queryByAttributeAndGeometry(params, function(data) {});
GL.RouteServiceProxy
道路查询服务代理类
static methods
searchRoadsByKw( kw, callback )
根据关键字查询道路
参数:
{string} kw
:关键字{Function} callback
:回调方法
用法:
GL.Service.searchRoadsByKw('若水路', function(data) {});
searchSingleRoadByLngLat( location, callback )
根据经纬度查询最近的道路
参数:
- {LngLat}
location
:坐标 {Function} callback
:回调方法
- {LngLat}
用法:
GL.Service.searchSingleRoadByLngLat(new GL.LngLat('120.11,31.32'), function(data) {});
getPedal( nodes, callback )
获取点到道路的垂足
参数:
{string} nodes
: 经纬度串 (x1,y1;x2,y2;x3,y3){Function} callback
:回调方法
用法:
GL.Service.getPedal('120.11,31.32;120.22,31.55;120.66,31.05', function(data) {});
getRoute( sourceLngLat, targetLngLat, callback )
获取两点之间的最短路径
参数:
{string} sourceLngLat
:坐标字符串{string} targetLngLat
:坐标字符串{Function} callback
:回调方法
用法:
GL.RouteService.getRoute('120.11,31.32', '120.22,31.55', function(data) {});
getRoutes( nodes, callback )
获取多个点之间的最短路径
参数:
{string} nodes
:经纬度串 (x1,y1;x2,y2;x3,y3){Function} callback
:回调方法
用法:
GL.RouteService.getRoutes('120.11,31.32;120.22,31.55;120.66,31.05', function(data) {});
GL.SingleQuery
单点查询
可通过项目根目录中conf/singleQuery.json
配置
example
// activate |
options
{string} serviceUrl
:单点查询的静态服务地址{boolean} isPoiSearchEnable
:是否开启基础 POI 查询。默认:false
{boolean} isRouteSearchEnable
:是否开启道路查询。默认:false
{string} queryType
:查询类型。'1':鼠标单击查询,'2':鼠标移动悬停时查询。默认:'1'
{Function} callback
:回调函数,当查询到要素的时候。会将要素传到回调函数内。并阻止默认 popup 的弹出。{Object} displayKeyLabel
:默认 popup 的内容字段。配置需要显示的属性字段,并可以配置其在 popup 中展示的别名。例如:{
'name': '名称',
'address': '地址',
'categoryName': '类别',
'regionName': '所属辖区'
}
events
- GL.E.SingleQuery.Active:激活单点查询
GL.E.SingleQuery.Destroy:关闭单点查询
用法:
//active |
GL.Playback
轨迹回放
example
var playback = new GL.Playback(map, nTracks, function (cursor, tracks) { |
creation
constructor( map, [tracks], [callback], [options])
- 参数:
- Map
map
:地图 - Track Options[]
[tracks]
:轨迹数组 {Function} [callback]
:播放进度回调函数- Playback Options
[options]
:默认配置
- Map
- 参数:
options
{number} speed
:速度。默认为:1
- {Icon.Smart | Icon.Div}
marker
:移动的点位图标 - {Icon.Smart | Icon.Div}
startMarker
:起点图标 - {Icon.Smart | Icon.Div}
endMarker
:终点图标 {boolean} trajectory
:是否绘制轨迹。默认为:true
- {Style}
trajectoryStyle
:轨迹样式 - {Control}
playControl
:自定义控制器。默认为:true
{boolean} showControl
:是否显示控制器。默认为:true
track options
- LngLat[]
lngLats
:轨迹坐标。 {string} id
:轨迹id,当使用playback.addData()
的时候如果传入的数据和已经有的数据中轨迹id一致,将会直接将新数据追加到已有轨迹数据中。- {Icon.Smart | Icon.Div}
marker
:移动的点位图标。如未配置此属性,将默认使用Playback Options中的配置。 - {Icon.Smart | Icon.Div}
startMarker
:起点图标。如未配置此属性,将默认使用Playback Options中的配置。 - {Icon.Smart | Icon.Div}
endMarker
:终点图标。如未配置此属性,将默认使用Playback Options中的配置。 {boolean} trajectory
:是否绘制轨迹。默认为:true
。如未配置此属性,将默认使用Playback Options中的配置。- {Style}
trajectoryStyle
:轨迹样式。如未配置此属性,将默认使用Playback Options中的配置。
Play states
ready
:设置好数据但未播放playing
:正在播放pause
:暂停stop
:停止complete
:播放完成
events
- 用法:
GL.Hub.on(GL.E.Playback.StateChanged,function(e){
console.log(e.target);
console.log(e.state);
});
GL.Hub.on(GL.E.Playback.StepsChanged,function(e){
console.log(e.target);
console.log(e.steps);
console.log(e.oldSteps);
});
GL.Hub.on(GL.E.Playback.SpeedChanged,function(e){
console.log(e.target);
console.log(e.speed);
console.log(e.oldSpeed);
});
`
methods
addCallback( fn )
添加播放进度回调函数。
参数:
{Function} fn
返回值:
this
start()
开始播放。
- 返回值:
this
- 返回值:
pause()
暂停播放。
- 返回值:
this
- 返回值:
stop()
停止播放。
- 返回值:
this
- 返回值:
isPlaying()
是否正在播放。
- 返回值:
boolean
- 返回值:
getSpeed()
获取播放速度。
- 返回值:
number
- 返回值:
setSpeed( speed )
设置播放速度。
参数:
{number} speed
:速度。
返回值:
this
getSteps()
获取播放总步数。
- 返回值:
number
- 返回值:
getCursor()
获取播放进度(当前以播放步数)。
- 返回值:
number
- 返回值:
setCursor( cursor )
设置进度。
参数:
{number} cursor
:步数。
返回值:
this
getPlayState()
获取播放状态。状态列表请看States
- 返回值:
string
- 返回值:
getTrack( id )
获取指定轨迹对象。
返回值:
Object
用法:
var track = playback.getTrack('track-1');
var marker = track.getMarker(); //绘制过程中移动的点位 Point
var startMarker = track.getStartMarker(); //轨迹开始点位 Point
var endMarker = track.getEndMarker(); //轨迹结束点位 Point
var trajectory = track.getTrajectory(); //轨迹线 Polyline
getTracks()
获取所有轨迹对象(id / vlue)。
返回值:
Object
用法:
var tracks = playback.getTracks();
for (var k in tracks) {
var track = tracks[k];
var marker = track.getMarker(); //绘制过程中移动的点位 Point
var startMarker = track.getStartMarker(); //轨迹开始点位 Point
var endMarker = track.getEndMarker(); //轨迹结束点位 Point
var trajectory = track.getTrajectory(); //轨迹线 Polyline
}
clearData()
清空轨迹数据。
- 返回值:
this
- 返回值:
setData( tracks )
清空并重新设置轨迹数据。
参数:
- Track Options[]
[tracks]
:轨迹数组
- Track Options[]
返回值:
this
addData( tracks )
追加轨迹数据。
参数:
- Track Options[]
[tracks]
:轨迹数组
- Track Options[]
返回值:
this
GL.Toc
图层树
可通过项目根目录中conf/layerTree.json
配置
example
// activate |
options
{Array} exclude
:需要在树上忽略掉的节点id{Array} staticService
:静态图层数组{Object} layerInfo
:每个图层的个性化配置{Object} default
:默认配置。如图层没有个性化配置将使用默认配置。{number} interval
:刷新的间隔时间(动态图层){boolean} autoRefresh
:是否自动刷新(动态图层){string} state
:图层显示类型。
选项:'normal'、'cluster'。默认:'cluster'
(动态图层)- {Cluster Options}
clusterOptions
:聚合的个性化配置(动态图层) {Object} displayKeyLabel
:默认popup的内容字段。配置需要显示的属性字段,并可以配置其在popup中展示的别名。(动态图层){Function} callback
:为动态图层点击覆盖物时阻止默认popup弹出,并将覆盖物传入回调函数。为静态图层时查询到最近的在展示类型的要素,阻止默认popup弹出,并将要素传入回调函数。
例如:
{
layerInfo: {
default: {
interval: 60000,
state: 'cluster',
displayKeyLabel: {
'name': '名称',
'address': '地址',
'categoryName': '类别',
'regionName': '所属辖区'
},
clusterOptions:{
},
callback:null
}
},
staticService: [],
exclude: []
}
//例如现在有一个出租车动态图层,对其进行个性化配置,其他图层按照默认配置,如下:
{
layerInfo: {
default: {
interval: 60000,
state: 'cluster',
displayKeyLabel: {
'name': '名称',
'address': '地址',
'categoryName': '类别',
'regionName': '所属辖区'
},
clusterOptions:{
},
callback:null
},
TAXI:{
interval: 3000,
state: 'normal',
displayKeyLabel: {
'name': '车牌号',
'driver': '司机',
'speed': '速度'
},
callback:taxiCallback
}
},
staticService: [],
exclude: []
}
function taxiCallback(overlay){
}
`
events
- GL.E.Toc.DataInitFinish:图层数节点数据初始化完毕
- GL.E.Toc.ItemCheckChanged:图层数节点勾选状态改变
GL.E.Toc.ItemChildrenChanged:图层数节点的子节点数据变化
用法:
GL.Hub.on(GL.E.Toc.DataInitFinish, function() {
//init tree or dosomething
});
GL.Hub.on(GL.E.Toc.ItemCheckChanged, function(e) {
console.log(e.target);
console.log(e.state);
});
GL.Hub.on(GL.E.Toc.ItemChildrenChanged, function(e) {
console.log(e.target);
console.log(e.item);
});
methods
stateChange( items, state )
节点状态更改。
参数:
{Array} items
:TocItem 数组{boolean} state
:选中状态
返回值:
this
requestDynamicLayerData( layerNames )
请求动态图层数据。
参数:
{Array} layerNames
:图层名称数组
返回值:
this
requestStaticLayerData()
请求静态图层数据。
- 返回值:
this
- 返回值:
getOverlay( layerName, overlayId )
返回指定图层名称和 id 的覆盖物。
GL.TocUtil
图层树数据操作工具类
static methods
parseData( data )
解析 JSON 数据对象为 TocItem 数组
参数:
{Object} data
:图层树节点数据
返回值: TocItem[]
parseData2TocItem( data, [parentItem] )
将 JSON 格式的 item 数据解析为 TocItem 对象
getLayerItemByItem( subItem )
获取 TocItem 所属的 layerItem
getAllLayerItem( items, result, [isCheck] )
获取所有图层节点
- 参数:
- {TocItem[]}
items
:TocItem 数组 {Array} result
:结果数组{boolean} isCheck
:是否是选中状态(true,false,null) 设置为 null 时忽略是否选中。默认值:null
- {TocItem[]}
- 参数:
getItemById( id, items )
根据 id 获取 TocItem 对象
getItemByName( name, items )
根据 layerName 获取 TocItem 对象
getAllItems( items )
获取对象中的所有 item
getItemChildren( item,result )
获取 item 对象下的所有子 item
- 参数:
- {TocItem[]}
items
{Array} result
:结果数组
- {TocItem[]}
- 参数:
getAllLeafItem( items, result,i isCheck )
获取 items 中所有的对象类别 Item
- 参数:
- {TocItem[]}
items
{Array} result
:结果数组{boolean} isCheck
:获取选中的或获取没选中的,为null
时获取全部
- {TocItem[]}
- 参数:
getAllLeafItemId( items, result,i isCheck )
获取 items 中所有的对象类别 Item id
- 参数:
- {TocItem[]}
items
{Array} result
:结果数组{boolean} isCheck
:获取选中的或获取没选中的,为null
时获取全部
- {TocItem[]}
- 参数:
getAllLeafItemName( items, result,i isCheck )
获取 items 中所有的对象类别 Item name
- 参数:
- {TocItem[]}
items
{Array} result
:结果数组{boolean} isCheck
:获取选中的或获取没选中的,为null
时获取全部
- {TocItem[]}
- 参数:
changeItemsCheck( check, items )
改变对象的选中状态
- 参数:
{boolean} check
:是否选中- {TocItem[]}
items
- 参数:
delItemByField( data, fieldName, fieldVal )
删除 fieldName 属性的值为 fieldVal 的 节点
参数:
{Object} data
:图层树节点数据{string} fieldName
:属性名称{*} fieldVal
:属性值
返回值:
Object
getQueryData()
获取查询树数据(query 字段为 1 的)
- 返回值:
Object
- 返回值:
getQueryDataArr()
获取查询树数据(query 字段为 1 的)
- 返回值: TocItem[]
getVisibleData()
获取显示树数据(visible 字段为 1 的)
- 返回值:
Object
- 返回值:
getVisibleDataArr()
获取显示树数据(visible 字段为 1 的)
- 返回值: TocItem[]
GL.TocItem
图层树节点对象
properties
{string} id
:item id{string} layerId
:所属图层 id{string} type
:类型:layergroup,layer,LogicObjectType,objecttype{string} name
:图层名称{string} displayName
:树节点显示名称{string} featureType
:Point、Polyline、Polygon{string} objectTypeField
:TYPE:静态图层,DYNAMIC:动态图层,INDEX:索引图层{boolean} checkField
:是否选中{boolean} visible
:是否显示{boolean} query
:是否可以查询{boolean} edit
:是否可以编辑- {TocItem}
parentItem
:父节点 - {TocItem[]}
children
:子节点 {boolean} checkChanged
:选中状态是否改变过
methods
check( state )
改变选中状态
参数:
{boolean} state
返回值:
this
addChildItem( item )
添加子节点
参数:
- {TocItem}
item
- {TocItem}
返回值:
this
GL.Contextmenu
上下文菜单
example
// show |
options
{string} text
:菜单项的标题文本。{string} icon
:显示在标题前面的图标URL。{string} iconCls
:icon 的 CSS Class类。和 icon 属性二选一,使用 icon 的时候显示图片,使用 iconCls 为自定义样式
。{Function} callback
:回调函数,菜单项被选中点击时触发。{Object} context
:回调函数的上下文对象。{boolean} separator
:如果为 true, 将创建一个分隔符,而不是菜单项。(其他属性全部失效) 默认:false
{boolean} hideOnSelect
:选中菜单项后是否隐藏菜单。默认:true
分割线可以直接这样写:var items = [
{
...
},
{
...
},
'-',//分割线
{
...
}
];
events
- GL.E.Contextmenu.Show:显示上下文菜单
- 参数:
- {Pixel}
pixel
:上下文显示的平面坐标 - {ContextmenuItem Options []}
[items]
: 菜单项数组
- {Pixel}
- 参数:
- GL.E.Contextmenu.Hide:隐藏上下文菜单
Overlay
以下 Overlay 的基类,包含一些共有方法属性,事件类型等。
events
{Event} add
:在图层/覆盖物添加到地图后触发。{Event} remove
:图层/覆盖物从地图上移除后触发。{PopupEvent} popupopen
:当打开绑定到该层的 popup 时触发。{PopupEvent} popupclose
:当绑定到此层的 popup 关闭时触发。{TooltipEvent} tooltipopen
:当打开此层绑定的 tooltip 时触发。{TooltipEvent} tooltipclose
:当绑定到该层的 tooltip 已关闭时触发。
methods
bindPopup( content, [options] )
绑定 popup。
参数:
- {string | HTMLElement | Popup}
content
- {Popup Options}
[options]
- {string | HTMLElement | Popup}
返回值: ‘this’
unbindPopup()
取消绑定 popup。
- 返回值: ‘this’
openPopup( [lngLat] )
在指定位置打开 popup。没有指定位置将在覆盖物的中心点打开。
参数:
- {LngLat}
[lngLat]
- {LngLat}
返回值: ‘this’
closePopup()
关闭 popup。
- 返回值: ‘this’
togglePopup()
打开或关闭 popup。
- 返回值: ‘this’
isPopupOpen()
检查 popup 是否打开。
- 返回值: ‘boolean’
setPopupContent( content)
设置 popup 内容。
参数:
- {string | HTMLElement | Popup}
content
- {string | HTMLElement | Popup}
返回值: ‘this’
getPopup()
获取绑定的 popup 对象。
- 返回值: Popup
bindTooltip( content, [options] )
绑定 Tooltip。
参数:
- {string | HTMLElement | Tooltip}
content
- {Tooltip Options}
[options]
- {string | HTMLElement | Tooltip}
返回值: ‘this’
unbindTooltip()
取消绑定 Tooltip。
- 返回值: ‘this’
openTooltip( [lngLat] )
在指定位置打开 Tooltip。没有指定位置将在覆盖物的中心点打开。
参数:
- {LngLat}
[lngLat]
- {LngLat}
返回值: ‘this’
closeTooltip()
关闭 Tooltip。
- 返回值: ‘this’
toggleTooltip()
打开或关闭 Tooltip。
- 返回值: ‘this’
isTooltipOpen()
检查 Tooltip 是否打开。
- 返回值: ‘boolean’
setTooltipContent( content)
设置 Tooltip 内容。
参数:
- {string | HTMLElement | Tooltip}
content
- {string | HTMLElement | Tooltip}
返回值: ‘this’
getTooltip()
获取绑定的 Tooltip 对象。
- 返回值: Tooltip
bindLabel( content, [options] )
绑定 Label。
[Text](#GL-Text)不支持此方法。
参数:
- {string | HTMLElement | Label}
content
- {Label Options}
[options]
- {string | HTMLElement | Label}
返回值: ‘this’
unbindLabel()
取消绑定 Label。
[Text](#GL-Text)不支持此方法。
- 返回值: ‘this’
openLabel( [lngLat] )
在指定位置打开 Label(。没有指定位置将在覆盖物的中心点打开。
[Text](#GL-Text)不支持此方法。
参数:
- {LngLat}
[lngLat]
- {LngLat}
返回值: ‘this’
closeLabel()
关闭 Label。Text
不支持此方法。
- 返回值: ‘this’
toggleLabel()
打开或关闭 Label。Text
不支持此方法。
- 返回值: ‘this’
isLabelOpen()
检查 Label 是否打开。Text
不支持此方法。
- 返回值: ‘boolean’
setLabelContent( content)
设置 Label 内容。Text
不支持此方法。
参数:
- {string | HTMLElement | Label}
content
- {string | HTMLElement | Label}
返回值: ‘this’
getLabel()
获取绑定的 Label 对象。Text
不支持此方法。
- 返回值: Label
Event
地图、图层、覆盖物等对象的事件
methods
on( type, fn, [context])
将侦听器函数
fn
添加到对象的特定事件类型中。可以随意指定侦听器的上下文。参数:
{string} type
:事件类型{Function} fn
:侦听器{Object} [context]
:绑定到侦听器的上下文对象
返回值:
this
on( eventMap, [context] )
添加一组监听器
type/listener
。可以随意指定侦听器的上下文。参数:
{Object} eventMap
:事件类型/监听器对{Object} [context]
:绑定到侦听器的上下文对象
返回值:
this
用法:
point.on({
click: onClick,
mousemove: onMouseMove
});
|
off()
删除所有监听器。
- 返回值:
this
- 返回值:
fire( type, [data], [propagate])
触发指定类型的事件。可以给监听函数传递参数。事件可以选择性地传播到事件父级。
参数:
{string} type
:事件类型{Object} [data]
:事件参数{boolean} [propagate]
:事件是否传播到事件父级
返回值:
this
listens( type )
检查对象是否包含指定事件类型的监听器。
参数:
{string} type
:事件类型
返回值:
boolean
once( … )
和
on(...)
方法一样。但只会被监听一次,然后就会被删除。- 返回值:
this
- 返回值:
addEventParent( obj )
添加一个事件对象作为当前对象事件的父级,父级将收到传播事件。
参数:
{Evented} obj
:事件类型
返回值:
this
removeEventParent( obj )
删除事件父级,因此它将停止接收已传播的事件。
参数:
{Evented} obj
:事件类型
返回值:
this
addEventListener( … )
方法
on(...)
的别名- 返回值:
this
- 返回值:
removeEventListener( … )
方法
off(...)
的别名- 返回值:
this
- 返回值:
clearAllEventListeners()
方法
off()
的别名- 返回值:
this
- 返回值:
addOneTimeEventListener( … )
方法
once(...)
的别名- 返回值:
this
- 返回值:
fireEvent( … )
方法
fire(...)
的别名- 返回值:
this
- 返回值:
hasEventListeners( … )
方法
listens(...)
的别名- 返回值:
boolean
- 返回值: