zz2d ( zzGIS for Leaflet )框架 API文档

在阅读API之前,您至少应该了解Leaflet和zz2d ( zzGIS for Leaflet )框架.


创建Map

框架的核心静态方法,它用来在页面中创建地图.

使用示例

 L.zz.createMap({
    id: "map",              //地图Div容器的id,
    url: "config.json",     //配置文件
    success: function (map, gisdata, jsondata) {
        //地图加载成功
    }
});查看运行效果 » 

创建地图

创建示例 说明
L.zz.createMap(<zzMap options> options) 将地图部署在给定ID的DIV容器中,并设置地图的选项.

Options参数选项

Option参数 参数类型 默认值 说明
id String 必须传入 地图Div容器的id。
url String url或data参数必须有一个有值 框架规定规范的地图配置信息的Json文件url地址
data Object url或data参数必须有一个有值 框架规定规范的地图配置信息的Json文件Object对象(与config.json不同的是只用传其map节点即可)
success function null

地图创建完成后的回调函数.

success: function (map, gisdata, jsondata) {
    //map       为leaflet规范的L.map地图对象
    //gisdata   为地图创建完成后的一些有用的对象集合,如控件、图层、配置等信息
    //jsondata  为url或data参数传入后读取到的json数据对象
}
serverURL String '' 会替换图层中配置的url地址中的$serverURL$参数为该值,用于统一配置url中GIS服务器的ip和端口,方便部署。
Option参数 参数类型 默认值 说明
* * * 支持所有L.map的参数,具体请参阅Leaflet API

Map类扩展

扩展L.Map类,加入一些方法。

方法

方法名 返回值 说明
convert2map(<LatLng> latlng) [lat,lng]

在不同坐标系情况下,转换“目标坐标值”至“地图坐标系”一致的坐标

convert2wgs(<LatLng> latlng) [lat,lng]

在不同坐标系情况下 ,获取地图上的坐标后,转为wgs标准坐标系坐标值

centerAt(<LatLng> center,<Zoom/pan options> options?) this

根据设置的center经纬度、平移参数options 地图视域定位至该中心点, 系统会自动处理层级,当地图级别小于此值时自动放大至配置的centerAutoLevel级别

centerAtByWgs(<LatLng> center,<Zoom/pan options> options?) this

根据设置的wgs84标准center经纬度、平移参数options 地图视域定位至该中心点, 系统会自动处理层级,当地图级别小于此值时自动放大至配置的centerAutoLevel级别

centerAtLayer(<Layer> layer) this

定位地图至该图层所在区域,可以是点、线、面、或LayerGroup图层组。

goHomeExtent() this

设置地图视域区域至默认配置的视域内

changeBaseMap(<String> name_or_id) this

根据配置信息,更换地图底图至指定name或id参数的地图

getLayer(<String> value,<String> keyname) Layer

根据值和指定的属性字段名称(默认为name名称)获取配置中的图层对象

getLayers(<String> value,<String> keyname) [Layer]

根据值和指定的属性字段名称(默认为name名称)获取配置中的图层数组

Marker类扩展

扩展L.Marker类,加入一些参数。

Options参数选项

Option参数 参数类型 默认值 说明
rotationAngle Number 0 顺时针旋转角度(以度为单位)。
rotationOrigin String 'center bottom' 旋转中心,可选值为CSS规则的transform-origin 。
默认rotationOrigin值将围绕底部中心点旋转,对应最常用图标的标记的“尖端”。 如果您的标记图标没有提示,或者您想围绕其中心旋转,请使用center center。

方法

方法名 返回值 说明
setRotationAngle(<Number> newAngle) this

设置旋转角度值。

setRotationOrigin(<String> newOrigin) this

设置旋转原点值。

TileLayer类扩展

扩展L.TileLayer类,加入一些参数。

Options参数选项

Option参数 参数类型 默认值 说明
zOffset Number 0 计算瓦片时,z值的偏移值,例如crs为EPSG4326时,加载天地图需要设置zOffset: 1 才能正常加载地图数据。

layer 图层相关处理类

L.zz.layer 该类是静态类,用于处理创建图层或图层相关。

方法

方法名 返回值 说明
createLayer(<Object> item, <String> serverURL, <function> layerToMap) Layer

用于创建地图图层,item为配置信息,详情参考配置项手册

L.zz.layer.createLayer({ type: "www_gaode", layer: "vec" }).addTo(map);

measure 量算类

L.zz.measure 该类是静态类,用于计算长度、面积、角度等信息。

方法

方法名 返回值 说明

pointconvert 坐标转换

L.zz.pointconvert 该类是静态类,提供百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、WGS84坐标系、Web墨卡托 等坐标之间的转换算法

该类的所有方法的“传入参数”和“返回结果”均是数组:[经度,纬度] ,与LatLng数组构成相反,请注意!

方法

方法名 返回值 说明
wgs2gcj([Number longitude,Number latitude]) [longitude,latitude]

加偏:标准WGS84坐标 转 国测局偏移坐标

gcj2wgs([Number longitude,Number latitude]) [longitude,latitude]

纠偏:国测局偏移坐标 转 标准WGS84坐标

gcj2bd([Number longitude,Number latitude]) [longitude,latitude]

国测局偏移坐标 转 百度经纬度坐标

bd2gcj([Number longitude,Number latitude]) [longitude,latitude]

百度经纬度坐标 转 国测局偏移坐标

wgs2bd([Number longitude,Number latitude]) [longitude,latitude]

标准WGS84坐标 转 百度经纬度坐标

bd2wgs([Number longitude,Number latitude]) [longitude,latitude]

百度经纬度坐标 转 标准WGS84坐标

jwd2mct([Number longitude,Number latitude]) [longitude,latitude]

经纬度坐标 转为 Web墨卡托坐标

mct2jwd([Number longitude,Number latitude]) [longitude,latitude]

Web墨卡托坐标 转为 经纬度坐标

Marker 点标记处理

L.zz.Marker 类用于在地图上显示点数据的封装类,内部封装了关联文字显示、聚合等功能,方便快捷使用。

使用示例

var work = new L.zz.Marker({
    map: map,
    textShowZoom: 13,   //文本显示层级,大于该基本显示
    minZoom: 4,
    maxZoom: 18,
    isCluster: true,    //是否聚合
    click: function (item,layer) {
        haoutil.msg('你单击了:' + item.mc);
    },
    dblclick: function (item,layer) {
        haoutil.msg('你双击了:' + item.mc);
    }
});
//加载数据
var arrMarkers = [{ mc: "数据1", jd: 110.123, wd: 31.324 }, { mc: "数据2", jd: 111.345, wd: 30.324 }];
work.showData(arrMarkers, {
    name: { jd: 'jd', wd: 'wd',   mc: 'mc' }, //经度、纬度、名称 在数组对象中的字段名称
    icon: L.icon({
        iconUrl: 'img/marker/303.png',
        iconSize: [20, 20],
        iconAnchor: [10, 10]
    }),
    bindPopup: function (item) {
        var inhtml =  item.mc;
        return inhtml;
    }
});

创建对象

创建示例 说明
L.zz.Marker(<zzMarker options> options) 给定一个地理坐标点和options参数可构成一个Marker

Options参数选项

Option参数 参数类型 默认值 说明
map Map 必须传入 当前的L.Map地图对象
isCluster Boolean false 是否聚合显示所有点标记数据
isAutoZoomSize Boolean false 是否在缩放地图时,对点标记对象的图标大小进行同步缩放处理。
minZoom Number undefined 最小缩放等级,点标记在小于minZoom的级别时不显示.
maxZoom Number undefined 最大缩放等级,点标记在大于maxZoom的级别不显示.
textShowZoom Number 12 在小于textShowZoom的级别不显示点标记关联的名称Label信息. 如设置有聚合(isCluster为true),大于或等于textShowZoom级别不聚合。
click function undefined 单击点标记时回调事件方法
click: function (item,layer) {
    //item为传入数据的原始对象,layer为点击的marker点标记对象
    haoutil.msg('你单击了:' + item.mc);
},
dblclick function undefined 双击点标记时回调事件方法
dblclick: function (item,layer) {
    //item为传入数据的原始对象,layer为双击的marker点标记对象
    haoutil.msg('你双击了:' + item.mc);
},

showData Options参数选项

showData方法内第2个参数值,可选Options参数选项,以下说明中的arrdata均为showData方法的第1个参数值。
Option参数 参数类型 默认值 说明
name Object null 包括jd,wd,mc三个键值,用于定义传入arrdata数组中对象的经度、纬度、名称(文本显示)的字段名称。
name: { jd: 'jd', wd: 'wd',   mc: 'mc' },
//相应的数据为
var arrdata = [{ mc: "数据1", jd: 110.123, wd: 31.324 }, { mc: "数据2", jd: 111.345, wd: 30.324 }];
fontsize Number 13 显示文字层的文字大小。
isCenter Boolean true 是否在完成加载数据后,将地图视域定位至数据所在的区域
icon Icon或function * 显示marker点标记的icon图标对象, 也可以是function,如:
 icon: function (item) {
    //item为传入的arrdata数组的单个对象值
    if (item.type == 1) {
         return L.icon({
            iconUrl: 'img/marker/fx1.png',
            iconSize: [30, 30],
            iconAnchor: [15, 15]
        });
    }
    else {
        return L.icon({
            iconUrl: 'img/marker/fx2.png',
            iconSize: [30, 30],
            iconAnchor: [15, 15]
        });
    }
},
bindPopup function undefined 绑定Popup单击弹窗
bindPopup: function (item) {
    //item为传入arrdata数据的原始对象
    var inhtml = item.mc;
    return inhtml;
}
bindTooltip function undefined 绑定Tooltip鼠标移入后提示
bindTooltip: function (item) {
    //item为传入arrdata数据的原始对象
    var inhtml = item.mc;
    return inhtml;
}

方法

包括数据的加载或清除、图层的显示隐藏等方法
方法名 返回值 说明
showData(<Object[]> arrdata,<showData options> options?) null

加载显示点数据arrdata,并且根据参数options设置相关样式和绑定事件。

clear() null

清除所有数据

visible(<Boolean> value) null

设置图层的显示与隐藏

getData() Object[]

获取当前加载的原始数据数组,通过showData方法传入的arrdata参数

getLayer() featureGroup

获取点标记图层.

getItemById(<String> id,<String> columnName?) Object

根据id主键获取指定的arrdata数组中的对象

getMarkerById(<String> id,<String> columnName?) Marker

根据id主键获取指定的图层中的Marker点标记对象

centerAt(<String> id,<String> columnName?,<Boolean> hasAnimation?) Boolean

定位地图视域至 指定id主键的点标记所在位置,参数hasAnimation为true,时产生定位特效,特效时长6秒

Draw 图上标绘处理

L.zz.Draw 类用于在地图绘制点、文字、线面等矢量数据,内部封装了相关处理,方便快捷使用。

使用示例

var workDraw = new L.zz.Draw({
    map: map,
    hasDel: true, //是否可以删除
    onCreate: function (e) {
        //创建完成后回调
    },
    onChange: function (e) {
        //编辑修改后回调
    }
});

workDraw.startDraw('text');     //标绘文字
workDraw.startDraw('marker');	//标绘点
workDraw.startDraw('polyline');	//绘制线
workDraw.startDraw('polygon');	//绘制面
workDraw.startDraw('rectangle');//绘制矩形
workDraw.startDraw('circle');	//绘制圆

创建对象

创建示例 说明
L.zz.Draw(<Draw options> options) 根据相关参数创建一个标绘控制器

Options参数选项

Option参数 参数类型 默认值 说明
map Map 必须传入 当前的L.Map地图对象
layer featureGroup * 标绘绘制的矢量数据的图层的集合图层,如果为空时内部会自动创建。
onEvnet Boolean true 是否初始化时就绑定相关交互事件,如果传入false,后续需要手动调用onEvnet方法绑定。
isOnly Boolean false 是否唯一模式,绘制时图上只有一个矢量对象,绘制第2个时会自动清除已有数据。
hasDel Boolean false 是否可以右键删除对象
onCreate function undefined 创建一个新的矢量对象后回调
onCreate: function (event) {
    var layer = event.layer;
},
onChange function undefined 修改矢量对象后回调
onChange: function (event) {
    var layer = event.layer;
},
onStartEditing function undefined 开始编辑矢量对象之前回调
onStartEditing: function (layer) {

},
onStopEditing function undefined 停止编辑矢量对象之后回调
onStopEditing: function (layer) {
},

startDraw Options参数选项

startDraw方法内第2个参数值,参数中style值可以设置的参数说明
名称 type值 可选值
文字 text
"style": {
    "text": "文字",
    "opacity": 1,
    "color": "#0081c2",
    "font_size": 30,
    "font_family": "黑体",
    "font_style": "normal",
    "font_weight": "normal",
    "background": false,
    "background_color": "#ccc",
    "border": false,
    "border_color": "#5928de",
    "border_width": 3,
    "border_style": "solid"
}
字体图标点 font-marker
"style": {
    "opacity": 1,
    "size": 50,
    "color": "#000000",
    "iconClass": "fa fa-crosshairs"
}
点标记 marker
"style": {
    "opacity": 1,
    "iconUrl": "img/icon.png",
    "iconSize0": 25,
    "iconSize1": 41,
    "iconAnchor0": 12,
    "iconAnchor1": 41
}
线 polyline
"style": {
    "color": "#3388ff",
    "weight": 3,
    "opacity": 1,
    "dashArray": ""
}
polygon
"style": {
    "stroke": true,
    "color": "#3388ff",
    "weight": 2,
    "opacity": 1,
    "dashArray": "",
    "fill": true,
    "fillColor": "#3388ff",
    "fillOpacity": 0.3
}
矩形 rectangle
"style": {
    "stroke": true,
    "color": "#3388ff",
    "weight": 2,
    "opacity": 1,
    "dashArray": "",
    "fill": true,
    "fillColor": "#3388ff",
    "fillOpacity": 0.3
}
circle
"style": {
    "radius": 0,
    "stroke": true,
    "color": "#3388ff",
    "weight": 2,
    "opacity": 1,
    "dashArray": "",
    "fill": true,
    "fillColor": "#3388ff",
    "fillOpacity": 0.3,
    "isSemicircle": false,
    "startAngle": 0,
    "stopAngle": 0
}
图片 image
"style": {
    "iconUrl": "",
    "opacity": 1
}

方法

包括数据的加载或清除、图层的显示隐藏等方法
方法名 返回值 说明
startDraw(<String> type,<DrawStyle options> options?) null

激活开始标绘,type可用值为:marker、text、font-marker、polyline、rectangle、circle、polygon、image

DrawStyle为object对象,里面可以传入任意值绑定到矢量对象上properties属性上,其中style为样式信息

//标绘点
workDraw.startDraw('marker',{ style: {
    "opacity": 1,
    "iconUrl": "img/icon.png",
    "iconSize0": 25,
    "iconSize1": 41,
    "iconAnchor0": 12,
    "iconAnchor1": 41
} });	
stopDraw() this

停止释放绘制

clearDraw() this

清除已绘制的所有数据

hasEdit(<Boolean> val) this

设置是否可以编辑数据

hasDraw() Boolean

是否有绘制的数据

updateProperties(<Layer> layer?,DrawStyle options attr ) layer

根据attr参数,更新layer矢量对象的样式等信息,attr中需要有type和style属性

toJson() String

将所有绘制的矢量数据转换为标准GeoJson格式的字符串并返回

jsonToLayer(<String> geojson,<Boolean> isClear?) layers[]

将GeoJson数据转换为可编辑的标绘对象并显示

getLayer() featureGroup

获取存储所有矢量数据的featureGroup图层,如果在创建Draw有传入layer参数,返回的是该layer对象。

getFeatures() layers[]

返回所有绘制的矢量对象集合数组,如果是isOnly模式,返回的是不是数组,单个layer对象

onEvnet() this

手动绑定相关事件,options中onEvnet为false时需要手动调用该方法

offEvent() this

手动解除相关已绑定的事件

destroy(<Boolean> noclear?) this

销毁控制器,包括停止绘制,解绑事件,清除数据(noclear指定是否不清除)

MeasureTool 量算处理类

L.zz.MeasureTool 类用于在地图测量长度、面积,内部封装了相关处理,方便快捷使用。

使用示例

var measureTool = new L.zz.MeasureTool({ map: map });
measureTool.measureLength();//测量长度
measureTool.measureArea();//测量面积
measureTool.clear();//清除

创建对象

创建示例 说明
L.zz.MeasureTool(<measure options> options) 根据相关参数创建一个量算控制器

Options参数选项

Option参数 参数类型 默认值 说明
map Map 必须传入 当前的L.Map地图对象
isactivate Boolean true 是否激活控制器,绑定相关事件,特殊场景下可以设置为false,后续调用activate方法激活。

measureLength或measureArea方法 Options参数选项

measureLength或measureArea方法参数值,可选Options参数选项
Option参数 参数类型 默认值 说明
unit String或function null 指定显示测试结果的的计量单位,未指定时内部会自动处理显示。
长度高度可选值有:km(公里)、mile(海里)、m(米)、zhang(丈)、
面积可选值有: m(平方米)、km(平方公里)、mu(亩)、ha(公顷亩)
showResult function null 返回测量结果的回调方法,用于在其他界面显示测量结果。
showResult: function (text, value) {
   //text为带计量单位的结果,value为数值(米,平方米)
}
drawend function null 绘制完成后回调方法
drawend: function () {
}

方法

包括数据的加载或清除、图层的显示隐藏等方法
方法名 返回值 说明
measureLength(<measurefun options> options?) this

激活图上绘制线,开始量算长度

measureArea(<measurefun options> options?) this

激活图上绘制线,开始量算面积

clear() this

清除已绘制的所有数据

updateLengthUnit(<String> unit) this

按指定unit计量单位,更新当前地图已测量的长度显示结果

updateAreaUnit(<String> unit) this

按指定unit计量单位,更新当前地图已测量的面积显示结果

ArcGISTile图层

L.TileLayer.ArcGISTile 用于加载显示自行通过Http发布的ArcGIS标准切片的瓦片地图服务。继承自TileLayer.

其url格式如:tile\_alllayers\L05\R0000001B\C00000004.jpg

使用示例

var  layer = L.tileLayer.arcGISTile("http://127.0.0.1:8888/mapcache/china_mercator_vec", {
    isUpper:true,
    imgType:".png"
});

创建对象

创建示例 说明
L.tileLayer.arcGISTile(<String> baseUrl, <ArcGISTile options> options?) ArcGIS标准切片的瓦片地图服务的基本URL和选项对象的实例化瓦片图层对象。基本URL为瓦片数据目录的“_alllayers”的上一级目录地址

Options参数选项

定义瓦片url的规则
Option参数 参数类型 默认值 说明
isUpper Boolean true Url路径名称是否大写
imgType String .jpg 瓦片图片的格式,即瓦片的后缀名称,常见的为 .png 和 .jpg
Option参数 参数类型 默认值 说明
minZoom Number 0 最小的缩放级别
maxZoom Number 18 最大的缩放级别
maxNativeZoom Number null 瓦片来源可用的最大缩放倍数。如果指定,则所有缩放级别上的图块maxNativeZoom将高于将从maxNativeZoom级别加载并自动缩放。
minNativeZoom Number null 瓦片来源可用的最小缩放数。如果指定,所有缩放级别上的图块minNativeZoom将从minNativeZoom级别加载并自动缩放。
subdomains String|String[] 'abc' 瓦片服务的子域名。可以以一个字符串的形式(每个字母都是子域名)或一个字符串数组的形式传递。
errorTileUrl String '' 显示加载瓦片失败时,显示的图片的url
zoomOffset Number 0 用此值来补偿URL中地图的缩放级别.
tms Boolean false 如果此值为true,反转切片Y轴的编号(对于TMS服务需将此项打开).
zoomReverse Boolean false 如果设置为true,则URL网址中使用的缩放z数字将被颠倒(maxZoom - zoom而不是zoom).
detectRetina Boolean false 如果此项为true,并且用户是视网膜显示模式,会请求规定大小一般的四个切片和一个地区内一个更大的缩放级别来利用高分辨率.
crossOrigin Boolean false 如果为true,则所有图块将其crossOrigin属性设置为“'。如果要访问像素数据,则需要这样做。
Option参数 参数类型 默认值 说明
tileSize Number|Point 256 网格中瓦片的宽度和高度。如果宽度和高度相等,则使用数字,否则L.point(width, height)。
opacity Number 1.0 瓦片的不透明度。可以在createTile()功能中使用
updateWhenIdle Boolean depends 如果false在平移期间加载新的瓦片,否则只能在其后(为了更好的性能)。默认情况下true,在移动浏览器上false。
updateWhenZooming Boolean true 默认情况下,平滑缩放动画(touch zoomflyTo()) 会在整个缩放级别更新网格图层。设置此选项false将仅在平滑动画结束时更新网格层。
updateInterval Number 200 当平移时,updateInterval毫秒不会更新一次瓦片。
zIndex Number 1 瓦片层的显式zIndex。
bounds LatLngBounds undefined 如果设置, 将仅加载 LatLngBounds中的集合数据。
minZoom Number 0 最小缩放级别。默认为0,整个地图。
maxZoom Number undefined 最大缩放级别。
noWrap Boolean false 该层是否在子午线断面。 如果为true,GridLayer只能在低缩放级别显示一次。当地图CRS 不包围时,没有任何效果。 可以结合使用bounds 以防止在CRS限制之外请求瓦片。
pane String 'tilePane' 网格层将添加地图pane窗格的位置。
className String '' 要分配给瓦片图层的自定义类名称。默认为空。
keepBuffer Number 2 当平移地图时,在卸载它们之前,先保留许多行和列的数据块。
Option参数 参数类型 默认值 说明
attribution String null 在attribution版权控件中展示的字符串,描述图层的版权信息(例如:"© Mapbox")

事件

Event Data 说明
loading Event 当栅格图层开始加载瓦片时触发
tileunload TileEvent 当瓦片移除时触发
tileloadstart TileEvent 当瓦片请求或开始加载时触发
tileerror TileErrorEvent 当加载瓦片出错时触发
tileload TileEvent 当加载瓦片时触发
load Event 当栅格图层加载可视瓦片时触发
Event Data 说明
add Event 在图层添加到地图上之后触发
remove Event 在图层从地图上移除之后触发
Event Data 说明
popupopen PopupEvent 当绑定到当前图层的Popup弹窗打开时触发
popupclose PopupEvent 当绑定到当前图层的Popup弹窗关闭时触发
Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定到这个图层并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定到这个图层并关闭时触发.

方法

方法名 返回值 说明
padLeft0(<Object> numStr, <Number> length) this

按length指定的长度,补全numStr字符串左边不够的为0,例如

//在图层内部的getTileUrl: function (tilePoint)方法中如下所示使用
var strz = "L" + this.padLeft0(tilePoint.z.toString(), 2);
var strx = "R" + this.padLeft0(tilePoint.y.toString(16), 8);
var stry = "C" + this.padLeft0(tilePoint.x.toString(16), 8);
方法名 返回值 说明
setUrl(<String> url, <Boolean> noRedraw?) this 更新图层的URL模板和重绘它(除非noredraw设置为true).
createTile(<Object> coords, <Function> done?) HTMLElement

仅在内部调用,覆盖GridLayercreateTile() 以返回一个<img>给定适当的图像URL 的HTML元素coords。在瓦片已经加载回调被调用done 。

方法名 返回值 说明
bringToFront() this

将图层置于所有图层之上

bringToBack() this

将图层置于所有图层之下

getContainer() HTMLElement

返回一个包含这个图层瓦片的html节点

setOpacity(<Number> opacity) this

改变这个栅格图层的透明度

setZIndex(<Number> zIndex) this

改变栅格图层的叠放顺序

isLoading() Boolean

如果栅格图层中的所有瓦片都没结束加载,则返回true

redraw() this

使图层清除所有图块,并再次请求后重新绘制。

getTileSize() Point

tileSize option归一化为一个点。用于该createTile()方法。

方法名 返回值 说明
addTo(<Map> map) this

将图层添加到给定的地图

remove() this

从当前处于活动状态的地图中移除图层。

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

方法名 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

setPopupContent(<String|HTMLElement|Popup> content) this

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

方法名 返回值 说明
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

setTooltipContent(<String|HTMLElement|Tooltip> content) this

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

方法名 返回值 说明
on(<String> type, <Function> fn, <Object> context?) this

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

添加一组类型/侦听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

删除一组类型/侦听器对。

off() this

删除绑定到对象上的所有事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供数据对象 - 监听器函数的第一个参数将包含其属性。该事件可以可选地传播到事件的父级。

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

添加一个它的父级将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

addEventListener() this

on(…)的别名,兼容不同用户的命名习惯

removeEventListener() this

off(…)的别名,兼容不同用户的命名习惯

clearAllEventListeners() this

off()的别名,兼容不同用户的命名习惯

addOneTimeEventListener() this

once(…)的别名,兼容不同用户的命名习惯

fireEvent() this

fire(…)的别名,兼容不同用户的命名习惯

hasEventListeners() Boolean

listens(…)的别名,兼容不同用户的命名习惯

TileLayer.WMTS图层

L.TileLayer.WMTS 用于加载显示OGC标准的 WMTS地图服务。继承自TileLayer.

使用示例

//浙江天地图
var  layer = L.tileLayer.wmts("http://srv{s}.zjditu.cn/ZJEMAP_2D/wmts", {
    layer: "TDT_ZJEMAP",
    style: "default",
    tilematrixSet: "TileMatrixSet0",
    format: "image/png",
    zOffset: 1,
    subdomains: "0123456"
}).addTo(map);

创建对象

创建示例 说明
L.tileLayer.wmts(<String> baseUrl, <wmts options> options) 给出WMTS服务的基本URL和WMTS参数/选项对象的实例化WMTS瓦片图层对象。

Options参数选项

定义瓦片url的规则
Option参数 参数类型 默认值 说明
layer String '' 必须传入,要显示的WMTS图层,逗号分隔列表
tileSize Number 256 wmts服务对应的tileSize参数
version String '1.0.0' wmts服务对应的version参数
style String 'default' wmts服务对应的style参数
format String 'image/png' wmts服务对应的format参数
tilematrixSet String '' wmts服务对应的tilematrixSet参数
matrixIds String[] 每层对应的'zoom' wmts服务对应的tilematrix参数,按地图层级定义的字符串数组,默认是zoom值
Option参数 参数类型 默认值 说明
minZoom Number 0 最小的缩放级别
maxZoom Number 18 最大的缩放级别
maxNativeZoom Number null 瓦片来源可用的最大缩放倍数。如果指定,则所有缩放级别上的图块maxNativeZoom将高于将从maxNativeZoom级别加载并自动缩放。
minNativeZoom Number null 瓦片来源可用的最小缩放数。如果指定,所有缩放级别上的图块minNativeZoom将从minNativeZoom级别加载并自动缩放。
subdomains String|String[] 'abc' 瓦片服务的子域名。可以以一个字符串的形式(每个字母都是子域名)或一个字符串数组的形式传递。
errorTileUrl String '' 显示加载瓦片失败时,显示的图片的url
zoomOffset Number 0 用此值来补偿URL中地图的缩放级别.
tms Boolean false 如果此值为true,反转切片Y轴的编号(对于TMS服务需将此项打开).
zoomReverse Boolean false 如果设置为true,则URL网址中使用的缩放z数字将被颠倒(maxZoom - zoom而不是zoom).
detectRetina Boolean false 如果此项为true,并且用户是视网膜显示模式,会请求规定大小一般的四个切片和一个地区内一个更大的缩放级别来利用高分辨率.
crossOrigin Boolean false 如果为true,则所有图块将其crossOrigin属性设置为“'。如果要访问像素数据,则需要这样做。
Option参数 参数类型 默认值 说明
tileSize Number|Point 256 网格中瓦片的宽度和高度。如果宽度和高度相等,则使用数字,否则L.point(width, height)。
opacity Number 1.0 瓦片的不透明度。可以在createTile()功能中使用
updateWhenIdle Boolean depends 如果false在平移期间加载新的瓦片,否则只能在其后(为了更好的性能)。默认情况下true,在移动浏览器上false。
updateWhenZooming Boolean true 默认情况下,平滑缩放动画(touch zoomflyTo()) 会在整个缩放级别更新网格图层。设置此选项false将仅在平滑动画结束时更新网格层。
updateInterval Number 200 当平移时,updateInterval毫秒不会更新一次瓦片。
zIndex Number 1 瓦片层的显式zIndex。
bounds LatLngBounds undefined 如果设置, 将仅加载 LatLngBounds中的集合数据。
minZoom Number 0 最小缩放级别。默认为0,整个地图。
maxZoom Number undefined 最大缩放级别。
noWrap Boolean false 该层是否在子午线断面。 如果为true,GridLayer只能在低缩放级别显示一次。当地图CRS 不包围时,没有任何效果。 可以结合使用bounds 以防止在CRS限制之外请求瓦片。
pane String 'tilePane' 网格层将添加地图pane窗格的位置。
className String '' 要分配给瓦片图层的自定义类名称。默认为空。
keepBuffer Number 2 当平移地图时,在卸载它们之前,先保留许多行和列的数据块。
Option参数 参数类型 默认值 说明
attribution String null 在attribution版权控件中展示的字符串,描述图层的版权信息(例如:"© Mapbox")

事件

Event Data 说明
loading Event 当栅格图层开始加载瓦片时触发
tileunload TileEvent 当瓦片移除时触发
tileloadstart TileEvent 当瓦片请求或开始加载时触发
tileerror TileErrorEvent 当加载瓦片出错时触发
tileload TileEvent 当加载瓦片时触发
load Event 当栅格图层加载可视瓦片时触发
Event Data 说明
add Event 在图层添加到地图上之后触发
remove Event 在图层从地图上移除之后触发
Event Data 说明
popupopen PopupEvent 当绑定到当前图层的Popup弹窗打开时触发
popupclose PopupEvent 当绑定到当前图层的Popup弹窗关闭时触发
Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定到这个图层并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定到这个图层并关闭时触发.

方法

方法名 返回值 说明
setUrl(<String> url, <Boolean> noRedraw?) this 更新图层的URL模板和重绘它(除非noredraw设置为true).
createTile(<Object> coords, <Function> done?) HTMLElement

仅在内部调用,覆盖GridLayercreateTile() 以返回一个<img>给定适当的图像URL 的HTML元素coords。在瓦片已经加载回调被调用done 。

方法名 返回值 说明
bringToFront() this

将图层置于所有图层之上

bringToBack() this

将图层置于所有图层之下

getContainer() HTMLElement

返回一个包含这个图层瓦片的html节点

setOpacity(<Number> opacity) this

改变这个栅格图层的透明度

setZIndex(<Number> zIndex) this

改变栅格图层的叠放顺序

isLoading() Boolean

如果栅格图层中的所有瓦片都没结束加载,则返回true

redraw() this

使图层清除所有图块,并再次请求后重新绘制。

getTileSize() Point

tileSize option归一化为一个点。用于该createTile()方法。

方法名 返回值 说明
addTo(<Map> map) this

将图层添加到给定的地图

remove() this

从当前处于活动状态的地图中移除图层。

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

方法名 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

setPopupContent(<String|HTMLElement|Popup> content) this

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

方法名 返回值 说明
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

setTooltipContent(<String|HTMLElement|Tooltip> content) this

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

方法名 返回值 说明
on(<String> type, <Function> fn, <Object> context?) this

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

添加一组类型/侦听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

删除一组类型/侦听器对。

off() this

删除绑定到对象上的所有事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供数据对象 - 监听器函数的第一个参数将包含其属性。该事件可以可选地传播到事件的父级。

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

添加一个它的父级将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

addEventListener() this

on(…)的别名,兼容不同用户的命名习惯

removeEventListener() this

off(…)的别名,兼容不同用户的命名习惯

clearAllEventListeners() this

off()的别名,兼容不同用户的命名习惯

addOneTimeEventListener() this

once(…)的别名,兼容不同用户的命名习惯

fireEvent() this

fire(…)的别名,兼容不同用户的命名习惯

hasEventListeners() Boolean

listens(…)的别名,兼容不同用户的命名习惯

MarkerClusterGroup点聚合图层

L.MarkerClusterGroup 用于加载显示大量大Marker点数据,聚合效果访问更流畅, 更多介绍请查看GitHub 。 继承自FeatureGroup

使用示例

var layers = L.markerClusterGroup();
layers.addLayer(L.marker(getRandomLatLng(map)));
... Add more layers ...
map.addLayer(layers);

创建对象

创建示例 说明
L.markerClusterGroup(<markerClusterGroup options> options?)

Options参数选项

定义瓦片url的规则
Option参数 参数类型 默认值 说明
zoomToBoundsOnClick Boolean true 当你点击一个集群时,是否缩放到它的边界。
showCoverageOnHover Boolean true 将鼠标悬停在集群上时,是否显示其标记的边界。
polygonOptions PolygonOptions null 集群的边界的样式,默认为空,显示的是Path的默认值。
maxClusterRadius Number或function 80 集群将从中央标记覆盖的最大半径(以像素为单位)。减少会使更多,更小的群集。 您也可以使用接受当前地图缩放的函数,并以像素为单位返回最大群集半径。
singleMarkerMode Boolean false 如果设置为true,则覆盖所有添加标记的图标,使其显示为1尺寸的群集。注意:标记不会被集群对象替换,只会替换它们的图标。因此,他们仍然对正常事件作出反应,选项disableClusteringAtZoom不会恢复其以前的图标(
removeOutsideVisibleBounds Boolean true 当离开视图太远的集群和标记,是否将其从地图中移除以获得性能。
spiderfyOnMaxZoom Boolean true 当在最底层级别时,点击一个集群时,如果他们重叠着,我们是否可以通过spiderLeg连接线散开方式看到它的所有标记。
spiderLegPolylineOptions PolylineOptions { weight: 1.5, color: '#222', opacity: 0.5 } 允许你指定聚群单击散开的连接线样式。
spiderfyDistanceMultiplier Number 1 从1增加增加距离中心的距离,spiderfied marker被放置。如果您使用大标记图标,则使用
animate Boolean true 在缩放时是否有平滑分割/合并群集子项的动画。如果L.DomUtil.TRANSITION为false,则此选项不起作用(不可能有动画)
chunkedLoading Boolean false 在执行addLayer方法时,将处理分成很小的时间间隔,这样页面就不会冻结。
chunkInterval Number 200 在执行addLayer方法时, 暂停之前让页面的其他部分处理的时间间隔(以毫秒为单位)。 特别是,这样可以防止页面在添加大量标记时被冻结。
chunkDelay Number 50 在执行addLayer方法时, 连续处理周期之间的时间延迟(以毫秒为单位)
chunkProgress function null 在每个chunkInterval结尾调用的回调函数。通常用于实现进度指示器。
iconCreateFunction function null 自定义创建集群图标的功能
iconCreateFunction: function (cluster) {
	var markers = cluster.getAllChildMarkers();
	var n = 0;
	for (var i = 0; i < markers.length; i++) {
		n += markers[i].number;
	}
	return L.divIcon({ html: n, className: 'mycluster', iconSize: L.point(40, 40) });
},
Option参数 参数类型 默认值 说明
pane String 'overlayPane' 默认情况下,图层将添加到地图的 overlay pane. 中。覆盖此选项将导致默认情况下将该图层放置在另一个窗格上。
attribution String null 在attribution版权控件中展示的字符串,描述图层的版权信息(例如:"© Mapbox")

事件

Event Data 说明
cluster + 'eventname' Event 要接收“集群”相关鼠标交互事件,例如:clusterclick,clustermouseover,clustermouseout等。
animationend Event 当标记聚类/非聚集动画完成时触发
spiderfied Event 当重叠的标记被spiderified时触发(Contains cluster和markersattributes)
unspiderfied Event 当重叠标记得到隐藏时触发(Contains cluster和markersattributes)
Event Data 说明
layeradd LayerEvent 当从FeatureGroup对象中添加图层时触发
layerremove LayerEvent 当从FeatureGroup对象中删除图层时触发
Event Data 说明
add Event 在图层添加到地图上之后触发
remove Event 在图层从地图上移除之后触发
Event Data 说明
popupopen PopupEvent 当绑定到当前图层的Popup弹窗打开时触发
popupclose PopupEvent 当绑定到当前图层的Popup弹窗关闭时触发
Event Data 说明
tooltipopen TooltipEvent 当Tooltip提示框绑定到这个图层并打开时触发
tooltipclose TooltipEvent 当Tooltip提示框绑定到这个图层并关闭时触发.

方法

方法名 返回值 说明
getVisibleParent(<Marker>myMarker) this

如果MarkerClusterGroup中有一个标记,并且想要获取它的可见父项(自身或包含在其中的群集当前在地图上可见)。 如果标记及其父集合当前不可见,则返回null(它们不在可见视点附近)

refreshClusters(<Marker或[]>layers?) this

如果您已自定义群集图标以使用所包含标记中的某些数据,并且之后数据发生更改,请使用此方法强制刷新群集图标。 你可以这样使用:

  • without arguments to force all cluster icons in the Marker Cluster Group to be re-drawn.
  • with an array or a mapping of markers to force only their parent clusters to be re-drawn.
  • with an L.LayerGroup. The method will look for all markers in it. Make sure it contains only markers which are also within this Marker Cluster Group.
  • with a single marker.
markers.refreshClusters();
markers.refreshClusters([myMarker0, myMarker33]);
markers.refreshClusters({id_0: myMarker0, id_any: myMarker33});
markers.refreshClusters(myLayerGroup);
markers.refreshClusters(myMarker);
hasLayer(<Marker>layer) this

如果给定图层(标记)位于MarkerClusterGroup中,则返回true。

zoomToShowLayer(<Marker>layer,<function>callback) this

缩放以显示给定的标记(如果需要的话,spiderfying),当标记在地图上可见时调用回调。

方法名 返回值 说明
setStyle(<Path options> style) this

设置给定的patn参数去给每个图层设置样式

bringToFront() this

将图层组移动到所有其他图层的顶部

bringToBack() this

将图层组移动到所有其他图层的底部

getBounds() LatLngBounds

返回图层组的LatLngBounds(从其所有子项的边界和坐标计算)。

方法名 返回值 说明
toGeoJSON() Object

返回GeoJSON格式对象(作为GeoJSON GeometryCollection)。

addLayer(<Layer> layer) this

增加一个图层到图层组中去

removeLayer(<Layer> layer) this

从图层组中移除给定的图层

removeLayer(<Number> id) this

从组中删除具有给定内部ID的图层。

hasLayer(<Layer> layer) Boolean

如果给定图层当前已添加到组中,则返回true。

clearLayers() this

从组中删除所有图层。

invoke(<String> methodName, ) this

调用图层组中包含methodName的每个图层,传递任何其他参数。如果包含的图层不实现,则不起作用methodName。

eachLayer(<Function> fn, <Object> context?) this

遍历当前的图层组,可以选择指定上下文的迭代器函数.

group.eachLayer(function (layer) {
    layer.bindPopup('Hello');
});
getLayer(<Number> id) Layer

通过给定的id来返回对应的图层

getLayers() Layer[]

返回添加到组中的所有图层的数组。

setZIndex(<Number> zIndex) this

调用setZIndex此组中包含的每个图层,传递z-index。

getLayerId(<Layer> layer) Number

返回图层的id

方法名 返回值 说明
addTo(<Map> map) this

将图层添加到给定的地图

remove() this

从当前处于活动状态的地图中移除图层。

removeFrom(<Map> map) this

从给定的地图上移除图层

getPane(<String> name?) HTMLElement

返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。

getAttribution() String

用于attribution control,返回attribution参数.

方法名 返回值 说明
bindPopup(<String|HTMLElement|Function|Popup> content, <Popup options> options?) this

将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindPopup() this

移除当前通过bindpopup方法绑定的弹窗

openPopup(<LatLng> latlng?) this

在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。

closePopup() this

关闭打开的弹窗

togglePopup() this

根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗.

isPopupOpen() boolean

如果当前绑定的弹窗是打开的,则返回true

setPopupContent(<String|HTMLElement|Popup> content) this

如设定绑定在图层上的弹窗的内容.

getPopup() Popup

返回当前绑定在图层上的弹窗.

方法名 返回值 说明
bindTooltip(<String|HTMLElement|Function|Tooltip> content, <Tooltip options> options?) this

将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。

unbindTooltip() this

移除之前通过bindTooltip方法绑定的提示框

openTooltip(<LatLng> latlng?) this

在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。

closeTooltip() this

如果提示框是打开的,则关闭绑定到图层的提示框.

toggleTooltip() this

根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框.

isTooltipOpen() boolean

如果当前绑定到图层的提示框是打开的,则返回true

setTooltipContent(<String|HTMLElement|Tooltip> content) this

设置当前绑定到图层的提示框的内容

getTooltip() Tooltip

返回当前绑定到图层的提示框

方法名 返回值 说明
on(<String> type, <Function> fn, <Object> context?) this

将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。

on(<Object> eventMap) this

添加一组类型/侦听器对,例如 {click: onClick, mousemove: onMouseMove}

off(<String> type, <Function> fn?, <Object> context?) this

删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。

off(<Object> eventMap) this

删除一组类型/侦听器对。

off() this

删除绑定到对象上的所有事件。

fire(<String> type, <Object> data?, <Boolean> propagate?) this

触发指定类型的事件。您可以选择提供数据对象 - 监听器函数的第一个参数将包含其属性。该事件可以可选地传播到事件的父级。

listens(<String> type) Boolean

如果特定事件类型具有附加的侦听器,则返回true。

once() this

on(…)类似,区别在于监听器只执行1次,并且执行后自动释放。

addEventParent(<Evented> obj) this

添加一个它的父级将接收传播的事件

removeEventParent(<Evented> obj) this

删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件

addEventListener() this

on(…)的别名,兼容不同用户的命名习惯

removeEventListener() this

off(…)的别名,兼容不同用户的命名习惯

clearAllEventListeners() this

off()的别名,兼容不同用户的命名习惯

addOneTimeEventListener() this

once(…)的别名,兼容不同用户的命名习惯

fireEvent() this

fire(…)的别名,兼容不同用户的命名习惯

hasEventListeners() Boolean

listens(…)的别名,兼容不同用户的命名习惯

BaseWidget 模块基础类

L.widget.BaseWidget 类是平台所有widget功能模块的基础类,开发widget时需要继承该类。 该类不是直接new实例化使用的,是新建一个类继承该类后使用。

使用示例

var MyWidget = L.widget.BaseWidget.extend({
    map: null,//框架会自动对map赋值
    options: {
        resources: ['style.css'],
        view: {
            type: "window",
            url: "view.html",
            windowOptions: {width: 250, height: 300}
        },
    },
    //初始化[仅执行1次]
    create: function () {
    },
    viewWindow:null,
    //每个窗口创建完成后调用
    winCreateOK: function (opt, result) {
        this.viewWindow = result;
    },
    //打开激活
    activate: function () {
    },
    //关闭释放
    disable: function () {
    }
})

Options参数选项

Option参数 参数类型 默认值 说明
resources String[] null 该模块依赖的外部js、css资源文件,会在实例化之前加入的页面中。
view Object null 定义模块的view页面配置信息,为空时表示当前模块无关联页面

方法

包括模块初始化、激活、释放时相关方法。
方法名 返回值 说明
activateBase()

激活模块初始方法,基类内部使用

disableBase()

释放模块初始方法,基类内部使用

init()

模块初始化之前触发该方法,仅首次初始化执行1次

create()

模块初始化,仅首次初始化执行1次

winCreateOK(<String> opt,<String> result)

每个view窗口或页面创建完成后调用

activate()

打开激活模块

disable()

关闭释放模块

getHtml(<String> url,<function> callback)

获取指定url的html信息

winFull()

窗口最大化后触发

winMin()

窗口最小化后触发

winRestore()

窗口最大、小化后,被还原时触发

widget 模块管理类

L.widget 类是静态类,是平台widget模块统一管理维护的类

使用示例

var jsondata= {
    "debugger": true,
    "version": "20210825",
    "defaultOptions": {
        "windowOptions": {
            "position": "rt",
            "maxmin": false,
            "resize": true
        },
        "autoDisable": true,
        "disableOther": true
    },
    "widgetsAtStart": [
        {
            "name": "POI查询",
            "uri": "widgets/queryBaiduPOI/widget.js"
        }
    ],
    "widgets": [
        {
            "id": "manageBasemaps",
            "name": "底图控制",
            "uri": "widgets/manageBasemaps/widget.js",
            "windowOptions": {
                "position": {
                    "left": 50,
                    "bottom": 25
                }
            },
            "autoDisable": false,
            "disableOther": false
        },
        {
            "name": "测量",
            "uri": "widgets/measure/widget.js"
        }
    ]
};
L.widget.init(map, jsondata);

方法

包括模块初始化,激活释放指定模块等方法
方法名 返回值 说明
init(<Map> map,<Object> jsondata)

按配置信息初始化widget管理类

activate(<Object> item,<Boolean> noDisableOther)

激活指定的模块,item可以是id或者uri或模块配置信息对象

disable(<String> id或uri)

释放指定id或uri的widget

disableAll(<String> nodisableid?)

释放所有Widget,可以指定id或uri的widget不释放

getWidget(<String> id或uri) Object

获取指定id或uri的widget配置信息

getClass(<String> id或uri) BaseWidget

获取指定id或uri的widget的对应的实例化BaseWidget类

bindClass(<BaseWidget> class) 实例化后的对象

绑定继承BaseWidget类的类到当前对应js的widget中

removeDebugeBar()

移除Widget测试栏

getDefWindowOptions() Objcet

获取全局默认的view配置信息

getCacheVersion() String

获取当前配置的版本信息,用于清除浏览器缓存