在阅读API之前,您至少应该了解Leaflet和zz2d ( zzGIS for Leaflet )框架.
框架的核心静态方法,它用来在页面中创建地图.
L.zz.createMap({
id: "map", //地图Div容器的id,
url: "config.json", //配置文件
success: function (map, gisdata, jsondata) {
//地图加载成功
}
});查看运行效果 »
创建示例 | 说明 |
---|---|
L.zz.createMap( |
将地图部署在给定ID的DIV容器中,并设置地图的选项. |
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
id |
String
| 必须传入 |
地图Div容器的id。 |
url |
String
| url或data参数必须有一个有值 |
框架规定规范的地图配置信息的Json文件url地址 |
data |
Object
| url或data参数必须有一个有值 |
框架规定规范的地图配置信息的Json文件Object对象(与config.json不同的是只用传其map节点即可) |
success |
function
| null |
地图创建完成后的回调函数.
|
serverURL |
String
| '' |
会替换图层中配置的url地址中的$serverURL$ 参数为该值,用于统一配置url中GIS服务器的ip和端口,方便部署。 |
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
* |
*
| * |
支持所有L.map的参数,具体请参阅Leaflet API |
扩展L.Map类,加入一些方法。
方法名 | 返回值 | 说明 |
---|---|---|
convert2map( |
[lat,lng] |
在不同坐标系情况下,转换“目标坐标值”至“地图坐标系”一致的坐标 |
convert2wgs( |
[lat,lng] |
在不同坐标系情况下 ,获取地图上的坐标后,转为wgs标准坐标系坐标值 |
centerAt( |
this |
根据设置的center经纬度、平移参数options 地图视域定位至该中心点, 系统会自动处理层级,当地图级别小于此值时自动放大至配置的centerAutoLevel级别 |
centerAtByWgs( |
this |
根据设置的wgs84标准center经纬度、平移参数options 地图视域定位至该中心点, 系统会自动处理层级,当地图级别小于此值时自动放大至配置的centerAutoLevel级别 |
centerAtLayer( |
this |
定位地图至该图层所在区域,可以是点、线、面、或LayerGroup图层组。 |
goHomeExtent() |
this |
设置地图视域区域至默认配置的视域内 |
changeBaseMap( |
this |
根据配置信息,更换地图底图至指定name或id参数的地图 |
getLayer( |
Layer |
根据值和指定的属性字段名称(默认为name名称)获取配置中的图层对象 |
getLayers( |
[Layer] |
根据值和指定的属性字段名称(默认为name名称)获取配置中的图层数组 |
扩展L.Marker类,加入一些参数。
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
rotationAngle |
Number
| 0 |
顺时针旋转角度(以度为单位)。 |
rotationOrigin |
String
| 'center bottom' |
旋转中心,可选值为CSS规则的transform-origin 。 默认rotationOrigin值将围绕底部中心点旋转,对应最常用图标的标记的“尖端”。 如果您的标记图标没有提示,或者您想围绕其中心旋转,请使用center center。 |
方法名 | 返回值 | 说明 |
---|---|---|
setRotationAngle( |
this |
设置旋转角度值。 |
setRotationOrigin( |
this |
设置旋转原点值。 |
扩展L.TileLayer类,加入一些参数。
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
zOffset |
Number
| 0 |
计算瓦片时,z值的偏移值,例如crs为EPSG4326时,加载天地图需要设置zOffset: 1 才能正常加载地图数据。 |
L.zz.layer 该类是静态类,用于处理创建图层或图层相关。
方法名 | 返回值 | 说明 |
---|---|---|
createLayer( |
Layer |
用于创建地图图层,item为配置信息,详情参考配置项手册
|
cloneLayer( |
Layer |
克隆图层为新图层 |
isInPoly( |
Boolean |
点是否在面内,面可以是矩形、圆、多边形 |
getLatlngs( |
LatLng[] |
获取点线面图层的坐标数组 |
getPopupByConfig( |
String |
根据配置信息获取用于绑定Popup的html信息
|
getMarkerOptionsByConfig( |
String |
根据配置信息获取Marker对象的options信息
|
getPolyOptionsByConfig( |
String |
根据配置信息获取线面对象的path options信息
|
L.zz.measure 该类是静态类,用于计算长度、面积、角度等信息。
方法名 | 返回值 | 说明 |
---|---|---|
length( |
Number |
返回长度测量结果数值(单位:米) |
lengthstr( |
String |
返回长度测量结果数值带单位的格式化字符串,小于1公里时为米,大于1公里时为公里 |
area( |
Number |
返回面积测量结果数值(单位:平方米) |
areastr( |
String |
返回面积测量结果数值带单位的格式化字符串,小于1平方公里时为平方米,大于1公里时为平方公里 |
getAngle( |
Number 0-360 |
返回坐标连线的角度度数
|
L.zz.pointconvert 该类是静态类,提供百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、WGS84坐标系、Web墨卡托 等坐标之间的转换算法
该类的所有方法的“传入参数”和“返回结果”均是数组:[经度,纬度] ,与LatLng数组构成相反,请注意!
方法名 | 返回值 | 说明 |
---|---|---|
wgs2gcj([ |
[longitude,latitude] |
加偏:标准WGS84坐标 转 国测局偏移坐标 |
gcj2wgs([ |
[longitude,latitude] |
纠偏:国测局偏移坐标 转 标准WGS84坐标 |
gcj2bd([ |
[longitude,latitude] |
国测局偏移坐标 转 百度经纬度坐标 |
bd2gcj([ |
[longitude,latitude] |
百度经纬度坐标 转 国测局偏移坐标 |
wgs2bd([ |
[longitude,latitude] |
标准WGS84坐标 转 百度经纬度坐标 |
bd2wgs([ |
[longitude,latitude] |
百度经纬度坐标 转 标准WGS84坐标 |
jwd2mct([ |
[longitude,latitude] |
经纬度坐标 转为 Web墨卡托坐标 |
mct2jwd([ |
[longitude,latitude] |
Web墨卡托坐标 转为 经纬度坐标 |
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( |
给定一个地理坐标点和options参数可构成一个Marker |
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 |
单击点标记时回调事件方法
|
dblclick |
function
| undefined |
双击点标记时回调事件方法
|
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
name |
Object
| null |
包括jd,wd,mc三个键值,用于定义传入arrdata数组中对象的经度、纬度、名称(文本显示)的字段名称。
|
fontsize |
Number
| 13 |
显示文字层的文字大小。 |
isCenter |
Boolean
| true |
是否在完成加载数据后,将地图视域定位至数据所在的区域 |
icon |
Icon或function
| * |
显示marker点标记的icon图标对象, 也可以是function,如:
|
bindPopup |
function
| undefined |
绑定Popup单击弹窗
|
bindTooltip |
function
| undefined |
绑定Tooltip鼠标移入后提示
|
方法名 | 返回值 | 说明 |
---|---|---|
showData( |
null |
加载显示点数据arrdata,并且根据参数options设置相关样式和绑定事件。 |
clear() |
null |
清除所有数据 |
visible( |
null |
设置图层的显示与隐藏 |
getData() |
Object[] |
获取当前加载的原始数据数组,通过showData方法传入的arrdata参数 |
getLayer() |
featureGroup |
获取点标记图层. |
getItemById( |
Object |
根据id主键获取指定的arrdata数组中的对象 |
getMarkerById( |
Marker |
根据id主键获取指定的图层中的Marker点标记对象 |
centerAt( |
Boolean |
定位地图视域至 指定id主键的点标记所在位置,参数hasAnimation为true,时产生定位特效,特效时长6秒 |
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( |
根据相关参数创建一个标绘控制器 |
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
map |
Map
| 必须传入 |
当前的L.Map地图对象 |
layer |
featureGroup
| * |
标绘绘制的矢量数据的图层的集合图层,如果为空时内部会自动创建。 |
onEvnet |
Boolean
| true |
是否初始化时就绑定相关交互事件,如果传入false,后续需要手动调用onEvnet方法绑定。 |
isOnly |
Boolean
| false |
是否唯一模式,绘制时图上只有一个矢量对象,绘制第2个时会自动清除已有数据。 |
hasDel |
Boolean
| false |
是否可以右键删除对象 |
onCreate |
function
| undefined |
创建一个新的矢量对象后回调
|
onChange |
function
| undefined |
修改矢量对象后回调
|
onStartEditing |
function
| undefined |
开始编辑矢量对象之前回调
|
onStopEditing |
function
| undefined |
停止编辑矢量对象之后回调
|
名称 | type值 | 可选值 |
---|---|---|
文字 |
text
|
|
字体图标点 |
font-marker
|
|
点标记 |
marker
|
|
线 |
polyline
|
|
面 |
polygon
|
|
矩形 |
rectangle
|
|
圆 |
circle
|
|
图片 |
image
|
|
方法名 | 返回值 | 说明 |
---|---|---|
startDraw( |
null |
激活开始标绘,type可用值为:marker、text、font-marker、polyline、rectangle、circle、polygon、image DrawStyle为object对象,里面可以传入任意值绑定到矢量对象上properties属性上,其中style为样式信息
|
stopDraw() |
this |
停止释放绘制 |
clearDraw() |
this |
清除已绘制的所有数据 |
hasEdit( |
this |
设置是否可以编辑数据 |
hasDraw() |
Boolean |
是否有绘制的数据 |
updateProperties( |
layer |
根据attr参数,更新layer矢量对象的样式等信息,attr中需要有type和style属性 |
toJson() |
String |
将所有绘制的矢量数据转换为标准GeoJson格式的字符串并返回 |
jsonToLayer( |
layers[] |
将GeoJson数据转换为可编辑的标绘对象并显示 |
getLayer() |
featureGroup |
获取存储所有矢量数据的featureGroup图层,如果在创建Draw有传入layer参数,返回的是该layer对象。 |
getFeatures() |
layers[] |
返回所有绘制的矢量对象集合数组,如果是isOnly模式,返回的是不是数组,单个layer对象 |
onEvnet() |
this |
手动绑定相关事件,options中onEvnet为false时需要手动调用该方法 |
offEvent() |
this |
手动解除相关已绑定的事件 |
destroy( |
this |
销毁控制器,包括停止绘制,解绑事件,清除数据(noclear指定是否不清除) |
L.zz.MeasureTool 类用于在地图测量长度、面积,内部封装了相关处理,方便快捷使用。
var measureTool = new L.zz.MeasureTool({ map: map });
measureTool.measureLength();//测量长度
measureTool.measureArea();//测量面积
measureTool.clear();//清除
创建示例 | 说明 |
---|---|
L.zz.MeasureTool( |
根据相关参数创建一个量算控制器 |
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
map |
Map
| 必须传入 |
当前的L.Map地图对象 |
isactivate |
Boolean
| true |
是否激活控制器,绑定相关事件,特殊场景下可以设置为false,后续调用activate方法激活。 |
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
unit |
String或function
| null |
指定显示测试结果的的计量单位,未指定时内部会自动处理显示。
长度高度可选值有:km(公里)、mile(海里)、m(米)、zhang(丈)、 面积可选值有: m(平方米)、km(平方公里)、mu(亩)、ha(公顷亩) |
showResult |
function
| null |
返回测量结果的回调方法,用于在其他界面显示测量结果。
|
drawend |
function
| null |
绘制完成后回调方法
|
方法名 | 返回值 | 说明 |
---|---|---|
measureLength( |
this |
激活图上绘制线,开始量算长度 |
measureArea( |
this |
激活图上绘制线,开始量算面积 |
clear() |
this |
清除已绘制的所有数据 |
updateLengthUnit( |
this |
按指定unit计量单位,更新当前地图已测量的长度显示结果 |
updateAreaUnit( |
this |
按指定unit计量单位,更新当前地图已测量的面积显示结果 |
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( |
ArcGIS标准切片的瓦片地图服务的基本URL和选项对象的实例化瓦片图层对象。基本URL为瓦片数据目录的“_alllayers”的上一级目录地址 |
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 zoom 或flyTo() )
会在整个缩放级别更新网格图层。设置此选项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 | 说明 |
---|---|---|
popupopen
| ||
popupclose
|
Event | Data | 说明 |
---|---|---|
tooltipopen
| ||
tooltipclose
|
方法名 | 返回值 | 说明 |
---|---|---|
padLeft0( |
this |
按length指定的长度,补全numStr字符串左边不够的为0,例如
|
方法名 | 返回值 | 说明 |
---|---|---|
setUrl( |
this |
更新图层的URL模板和重绘它(除非noredraw设置为true). |
createTile( |
HTMLElement |
仅在内部调用,覆盖GridLayer |
方法名 | 返回值 | 说明 |
---|---|---|
bringToFront() |
this |
将图层置于所有图层之上 |
bringToBack() |
this |
将图层置于所有图层之下 |
getContainer() |
HTMLElement |
返回一个包含这个图层瓦片的html节点 |
setOpacity( |
this |
改变这个栅格图层的透明度 |
setZIndex( |
this |
改变栅格图层的叠放顺序 |
isLoading() |
Boolean |
如果栅格图层中的所有瓦片都没结束加载,则返回true |
redraw() |
this |
使图层清除所有图块,并再次请求后重新绘制。 |
getTileSize() |
Point |
将tileSize option归一化为一个点。用于该createTile()方法。 |
方法名 | 返回值 | 说明 |
---|---|---|
addTo( |
this |
将图层添加到给定的地图 |
remove() |
this |
从当前处于活动状态的地图中移除图层。 |
removeFrom( |
this |
从给定的地图上移除图层 |
getPane( |
HTMLElement |
返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。 |
getAttribution() |
String |
用于attribution control,返回attribution参数. |
方法名 | 返回值 | 说明 |
---|---|---|
bindPopup( |
this |
将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。 |
unbindPopup() |
this |
移除当前通过bindpopup方法绑定的弹窗 |
openPopup( |
this |
在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。 |
closePopup() |
this |
关闭打开的弹窗 |
togglePopup() |
this |
根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗. |
isPopupOpen() |
boolean |
如果当前绑定的弹窗是打开的,则返回true |
setPopupContent( |
this |
如设定绑定在图层上的弹窗的内容. |
getPopup() |
Popup |
返回当前绑定在图层上的弹窗. |
方法名 | 返回值 | 说明 |
---|---|---|
bindTooltip( |
this |
将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。 |
unbindTooltip() |
this |
移除之前通过bindTooltip方法绑定的提示框 |
openTooltip( |
this |
在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。 |
closeTooltip() |
this |
如果提示框是打开的,则关闭绑定到图层的提示框. |
toggleTooltip() |
this |
根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框. |
isTooltipOpen() |
boolean |
如果当前绑定到图层的提示框是打开的,则返回true |
setTooltipContent( |
this |
设置当前绑定到图层的提示框的内容 |
getTooltip() |
Tooltip |
返回当前绑定到图层的提示框 |
方法名 | 返回值 | 说明 |
---|---|---|
on( |
this |
将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。 |
on( |
this |
添加一组类型/侦听器对,例如 {click: onClick, mousemove: onMouseMove} |
off( |
this |
删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。 |
off( |
this |
删除一组类型/侦听器对。 |
off() |
this |
删除绑定到对象上的所有事件。 |
fire( |
this |
触发指定类型的事件。您可以选择提供数据对象 - 监听器函数的第一个参数将包含其属性。该事件可以可选地传播到事件的父级。 |
listens( |
Boolean |
如果特定事件类型具有附加的侦听器,则返回true。 |
once(…) |
this |
与 |
addEventParent( |
this |
添加一个它的父级将接收传播的事件 |
removeEventParent( |
this |
删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件 |
addEventListener(…) |
this |
|
removeEventListener(…) |
this |
|
clearAllEventListeners(…) |
this |
|
addOneTimeEventListener(…) |
this |
|
fireEvent(…) |
this |
|
hasEventListeners(…) |
Boolean |
|
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( |
给出WMTS服务的基本URL和WMTS参数/选项对象的实例化WMTS瓦片图层对象。 |
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 zoom 或flyTo() )
会在整个缩放级别更新网格图层。设置此选项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 | 说明 |
---|---|---|
popupopen
| ||
popupclose
|
Event | Data | 说明 |
---|---|---|
tooltipopen
| ||
tooltipclose
|
方法名 | 返回值 | 说明 |
---|---|---|
setUrl( |
this |
更新图层的URL模板和重绘它(除非noredraw设置为true). |
createTile( |
HTMLElement |
仅在内部调用,覆盖GridLayer |
方法名 | 返回值 | 说明 |
---|---|---|
bringToFront() |
this |
将图层置于所有图层之上 |
bringToBack() |
this |
将图层置于所有图层之下 |
getContainer() |
HTMLElement |
返回一个包含这个图层瓦片的html节点 |
setOpacity( |
this |
改变这个栅格图层的透明度 |
setZIndex( |
this |
改变栅格图层的叠放顺序 |
isLoading() |
Boolean |
如果栅格图层中的所有瓦片都没结束加载,则返回true |
redraw() |
this |
使图层清除所有图块,并再次请求后重新绘制。 |
getTileSize() |
Point |
将tileSize option归一化为一个点。用于该createTile()方法。 |
方法名 | 返回值 | 说明 |
---|---|---|
addTo( |
this |
将图层添加到给定的地图 |
remove() |
this |
从当前处于活动状态的地图中移除图层。 |
removeFrom( |
this |
从给定的地图上移除图层 |
getPane( |
HTMLElement |
返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。 |
getAttribution() |
String |
用于attribution control,返回attribution参数. |
方法名 | 返回值 | 说明 |
---|---|---|
bindPopup( |
this |
将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。 |
unbindPopup() |
this |
移除当前通过bindpopup方法绑定的弹窗 |
openPopup( |
this |
在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。 |
closePopup() |
this |
关闭打开的弹窗 |
togglePopup() |
this |
根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗. |
isPopupOpen() |
boolean |
如果当前绑定的弹窗是打开的,则返回true |
setPopupContent( |
this |
如设定绑定在图层上的弹窗的内容. |
getPopup() |
Popup |
返回当前绑定在图层上的弹窗. |
方法名 | 返回值 | 说明 |
---|---|---|
bindTooltip( |
this |
将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。 |
unbindTooltip() |
this |
移除之前通过bindTooltip方法绑定的提示框 |
openTooltip( |
this |
在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。 |
closeTooltip() |
this |
如果提示框是打开的,则关闭绑定到图层的提示框. |
toggleTooltip() |
this |
根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框. |
isTooltipOpen() |
boolean |
如果当前绑定到图层的提示框是打开的,则返回true |
setTooltipContent( |
this |
设置当前绑定到图层的提示框的内容 |
getTooltip() |
Tooltip |
返回当前绑定到图层的提示框 |
方法名 | 返回值 | 说明 |
---|---|---|
on( |
this |
将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。 |
on( |
this |
添加一组类型/侦听器对,例如 {click: onClick, mousemove: onMouseMove} |
off( |
this |
删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。 |
off( |
this |
删除一组类型/侦听器对。 |
off() |
this |
删除绑定到对象上的所有事件。 |
fire( |
this |
触发指定类型的事件。您可以选择提供数据对象 - 监听器函数的第一个参数将包含其属性。该事件可以可选地传播到事件的父级。 |
listens( |
Boolean |
如果特定事件类型具有附加的侦听器,则返回true。 |
once(…) |
this |
与 |
addEventParent( |
this |
添加一个它的父级将接收传播的事件 |
removeEventParent( |
this |
删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件 |
addEventListener(…) |
this |
|
removeEventListener(…) |
this |
|
clearAllEventListeners(…) |
this |
|
addOneTimeEventListener(…) |
this |
|
fireEvent(…) |
this |
|
hasEventListeners(…) |
Boolean |
|
L.MarkerClusterGroup 用于加载显示大量大Marker点数据,聚合效果访问更流畅,
更多介绍请查看GitHub 。
继承自FeatureGroup
var layers = L.markerClusterGroup();
layers.addLayer(L.marker(getRandomLatLng(map)));
... Add more layers ...
map.addLayer(layers);
创建示例 | 说明 |
---|---|
L.markerClusterGroup( |
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 |
自定义创建集群图标的功能
|
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
| ||
layerremove
|
Event | Data | 说明 |
---|---|---|
popupopen
| ||
popupclose
|
Event | Data | 说明 |
---|---|---|
tooltipopen
| ||
tooltipclose
|
方法名 | 返回值 | 说明 |
---|---|---|
getVisibleParent( |
this |
如果MarkerClusterGroup中有一个标记,并且想要获取它的可见父项(自身或包含在其中的群集当前在地图上可见)。 如果标记及其父集合当前不可见,则返回null(它们不在可见视点附近) |
refreshClusters( |
this |
如果您已自定义群集图标以使用所包含标记中的某些数据,并且之后数据发生更改,请使用此方法强制刷新群集图标。 你可以这样使用:
|
hasLayer( |
this |
如果给定图层(标记)位于MarkerClusterGroup中,则返回true。 |
zoomToShowLayer( |
this |
缩放以显示给定的标记(如果需要的话,spiderfying),当标记在地图上可见时调用回调。 |
方法名 | 返回值 | 说明 |
---|---|---|
setStyle( |
this |
设置给定的patn参数去给每个图层设置样式 |
bringToFront() |
this |
将图层组移动到所有其他图层的顶部 |
bringToBack() |
this |
将图层组移动到所有其他图层的底部 |
getBounds() |
LatLngBounds |
返回图层组的LatLngBounds(从其所有子项的边界和坐标计算)。 |
方法名 | 返回值 | 说明 |
---|---|---|
toGeoJSON() |
Object |
返回 |
addLayer( |
this |
增加一个图层到图层组中去 |
removeLayer( |
this |
从图层组中移除给定的图层 |
removeLayer( |
this |
从组中删除具有给定内部ID的图层。 |
hasLayer( |
Boolean |
如果给定图层当前已添加到组中,则返回true。 |
clearLayers() |
this |
从组中删除所有图层。 |
invoke( |
this |
调用图层组中包含methodName的每个图层,传递任何其他参数。如果包含的图层不实现,则不起作用methodName。 |
eachLayer( |
this |
遍历当前的图层组,可以选择指定上下文的迭代器函数.
|
getLayer( |
Layer |
通过给定的id来返回对应的图层 |
getLayers() |
Layer[] |
返回添加到组中的所有图层的数组。 |
setZIndex( |
this |
调用setZIndex此组中包含的每个图层,传递z-index。 |
getLayerId( |
Number |
返回图层的id |
方法名 | 返回值 | 说明 |
---|---|---|
addTo( |
this |
将图层添加到给定的地图 |
remove() |
this |
从当前处于活动状态的地图中移除图层。 |
removeFrom( |
this |
从给定的地图上移除图层 |
getPane( |
HTMLElement |
返回指定Pane窗格的HTMLElement对象。如果name省略,则返回此图层所在的Pane窗格。 |
getAttribution() |
String |
用于attribution control,返回attribution参数. |
方法名 | 返回值 | 说明 |
---|---|---|
bindPopup( |
this |
将弹出窗口绑定到已传递的层,content并设置必要的事件侦听器。如果参数是一个Function方法被传递,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。 |
unbindPopup() |
this |
移除当前通过bindpopup方法绑定的弹窗 |
openPopup( |
this |
在特定的位置打开弹窗,如果latlng没有设置则在默认的所在位置打开。 |
closePopup() |
this |
关闭打开的弹窗 |
togglePopup() |
this |
根据弹窗现在的状态来打开或关闭绑定到图层上的弹窗. |
isPopupOpen() |
boolean |
如果当前绑定的弹窗是打开的,则返回true |
setPopupContent( |
this |
如设定绑定在图层上的弹窗的内容. |
getPopup() |
Popup |
返回当前绑定在图层上的弹窗. |
方法名 | 返回值 | 说明 |
---|---|---|
bindTooltip( |
this |
将工具提示绑定到已传递的层content并设置必需的事件侦听器。如果是传入一个Function方法做参数,它将接收该层作为第一个参数,并应返回一个String或HTMLElement。 |
unbindTooltip() |
this |
移除之前通过bindTooltip方法绑定的提示框 |
openTooltip( |
this |
在特定的位置打开绑定的提示框,如果位置没有设置,则在默认的位置打开。 |
closeTooltip() |
this |
如果提示框是打开的,则关闭绑定到图层的提示框. |
toggleTooltip() |
this |
根据当前的提示框状态来确定是打开还是关闭绑定到图层的提示框. |
isTooltipOpen() |
boolean |
如果当前绑定到图层的提示框是打开的,则返回true |
setTooltipContent( |
this |
设置当前绑定到图层的提示框的内容 |
getTooltip() |
Tooltip |
返回当前绑定到图层的提示框 |
方法名 | 返回值 | 说明 |
---|---|---|
on( |
this |
将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。 |
on( |
this |
添加一组类型/侦听器对,例如 {click: onClick, mousemove: onMouseMove} |
off( |
this |
删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。 |
off( |
this |
删除一组类型/侦听器对。 |
off() |
this |
删除绑定到对象上的所有事件。 |
fire( |
this |
触发指定类型的事件。您可以选择提供数据对象 - 监听器函数的第一个参数将包含其属性。该事件可以可选地传播到事件的父级。 |
listens( |
Boolean |
如果特定事件类型具有附加的侦听器,则返回true。 |
once(…) |
this |
与 |
addEventParent( |
this |
添加一个它的父级将接收传播的事件 |
removeEventParent( |
this |
删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件 |
addEventListener(…) |
this |
|
removeEventListener(…) |
this |
|
clearAllEventListeners(…) |
this |
|
addOneTimeEventListener(…) |
this |
|
fireEvent(…) |
this |
|
hasEventListeners(…) |
Boolean |
|
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 () {
}
})
Option参数 | 参数类型 | 默认值 | 说明 |
---|---|---|---|
resources |
String[]
| null |
该模块依赖的外部js、css资源文件,会在实例化之前加入的页面中。 |
view |
Object
| null |
定义模块的view页面配置信息,为空时表示当前模块无关联页面 |
方法名 | 返回值 | 说明 |
---|---|---|
activateBase() |
|
激活模块初始方法,基类内部使用 |
disableBase() |
|
释放模块初始方法,基类内部使用 |
init() |
|
模块初始化之前触发该方法,仅首次初始化执行1次 |
create() |
|
模块初始化,仅首次初始化执行1次 |
winCreateOK( |
|
每个view窗口或页面创建完成后调用 |
activate() |
|
打开激活模块 |
disable() |
|
关闭释放模块 |
getHtml( |
|
获取指定url的html信息 |
winFull() |
|
窗口最大化后触发 |
winMin() |
|
窗口最小化后触发 |
winRestore() |
|
窗口最大、小化后,被还原时触发 |
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( |
|
按配置信息初始化widget管理类 |
activate( |
|
激活指定的模块,item可以是id或者uri或模块配置信息对象 |
disable( |
|
释放指定id或uri的widget |
disableAll( |
|
释放所有Widget,可以指定id或uri的widget不释放 |
getWidget( |
Object |
获取指定id或uri的widget配置信息 |
getClass( |
BaseWidget |
获取指定id或uri的widget的对应的实例化BaseWidget类 |
bindClass( |
实例化后的对象 |
绑定继承BaseWidget类的类到当前对应js的widget中 |
removeDebugeBar() |
|
移除Widget测试栏 |
getDefWindowOptions() |
Objcet |
获取全局默认的view配置信息 |
getCacheVersion() |
String |
获取当前配置的版本信息,用于清除浏览器缓存 |