Class: amapwms

amapwms(map, service, workspace, options, ogc)

用于封装前端和geoserver的交互,不考虑前端GIS技术框架,只考虑和标准的OGC服务交互(基于高德地图)

Constructor

new amapwms(map, service, workspace, options, ogc)

构造方法
Parameters:
Name Type Default Description
map String 高德地图实例
service String /geoserver GeoServer服务器地址,示例:http://localhost:8085/geoserver
workspace String GeoServer工作空间,示例:demo
options Object 选项配置
Properties
Name Type Attributes Description
supportClick Boolean <optional>
支持点击事件,值为true时,点击地图触发 queryclick 事件
supportRightClick Boolean <optional>
支持右键点击事件,值为true时,点击地图触发 queryrightclick 事件
autoHighlight Boolean <optional>
自动高亮选中的元素
autoCancelHighlight Boolean <optional>
自动取消高亮选中的元素(当未点击到地图元素时,是否取消之前的),始终高亮一个
WGS84TOGCJ02 Boolean <optional>
图层纠偏,由WGS84坐标转换为火星坐标,默认值为false
hcolor String <optional>
元素高亮颜色,仅在 autoHighlight = true 时有效
testconflict Boolean <optional>
是否进行点符号的重叠检测,取值为true时,对点符号进行重叠检测并抽稀;取值为false时,允许点符号重叠显示
ogc Object OGC选项配置
Properties
Name Type Attributes Description
version String <optional>
OGC版本,默认值 1.3.0
tileSize Number <optional>
OGC 分块大小,默认值 512
zIndex Number <optional>
OGC 显示层级,默认值 1
buffer Number <optional>
OGC 缓冲距离,处理点符号被剪切的情况,默认值60
Source:
Example
示例一:
var wms = new amapwms('http://localhost:8085/geoserver','demo')
wms.initialize().then(() => { console.log('加载完毕') })
示例二:
var wms = new amapwms('http://localhost:8085/geoserver','demo',{
 supportRightClick: true,
 hcolor: '#00ffff'
})
示例三:
var wms = new amapwms('http://localhost:8085/geoserver','demo',{
 supportRightClick: true,
 hcolor: '#00ffff'
},{
 tileSize:512,
 zIndex:1,
 buffer:60
})
wms.initialize().then(() => { console.log('加载完毕') })

Extends

Methods

_buildStyle(layer, icons)

构建指定图层的样式文件内容
Parameters:
Name Type Description
layer Object
icons Array
Overrides:
Source:

_buildStyleRule()

构建样式的rule部分
Overrides:
Source:

_deleteOldStyleFolder(exceptFolder)

删除历史样式资源文件夹,可排除指定文件夹
Parameters:
Name Type Description
exceptFolder string 排除文件夹名
Overrides:
Source:

_deleteStyleBatch(stylenames)

批量删除指定样式,即便是样式已关联到图层
Parameters:
Name Type Description
stylenames Array 样式名称集合
Overrides:
Source:

_findScale(zoom, isMin)

获取指定缩放级别的合适比例尺
Parameters:
Name Type Default Description
zoom number 缩放级别
isMin Boolean false 是否找最小比例尺
Overrides:
Source:

_formatIcon(data) → {object}

格式化图标信息
Parameters:
Name Type Description
data object
Properties
Name Type Attributes Default Description
fixed boolean <optional>
true 设备或者管线是否已矢量缩放的形式进行呈现,默认值为true
type string 设备类型id,不管是管道还是阀门还是其他设备,均需要填写该值
property object <optional>
设备业务属性对象
style object <optional>
设备样式属性
Properties
Name Type Attributes Description
content number <optional>
符号内容,即svg的xml字符串
title number <optional>
符号名称
zindex number <optional>
符号层级
size number <optional>
图标大小或者管线宽度,注意 fixed 为真是代表矢量缩放,此时size的单位为m,否则size的单位是px
color string <optional>
图标颜色或者管线颜色,16进制颜色值字符串
zoom Array.<number> <optional>
图标可见层级范围,参考高德地图
Overrides:
Source:
Returns:
返回格式化后的符号信息 return { title: properties:{}, content: minscale: maxscale: zindex: size: color: }
Type
object

(async) _paramSVGcolor(svg, param, multicolor)

参数化svg,用于通过geoserver wms的env参数动态改变svg颜色
Parameters:
Name Type Description
svg string svg内容
param string 变量名
multicolor boolean
Overrides:
Source:

(async) _uploadResourceBatchSync(folder, datas, multicolor)

按顺序批量上传图标的svg文件
Parameters:
Name Type Description
folder string 文件夹名
datas string 符号参数集合
multicolor string 是否是多色图标
Overrides:
Source:

(async) _uploadStyleBatch(styles)

批量上传样式并设置为默认样式
Parameters:
Name Type Description
styles Array 样式配置集合
Overrides:
Source:

addCustomLayer(layerName, featureopt, coloropt, twinkleopt, durationopt)

新建自定义临时图层(自定义图层)
Parameters:
Name Type Attributes Default Description
layerName String 图层名称
feature String | Object | Array <optional>
要素
color String <optional>
#00ffff 要素默认高亮颜色,十六进制格式,示意:'#00ffff'
twinkle Boolean <optional>
false 是否闪烁该图层,默认值为false
duration Boolean <optional>
1000 闪烁图层动画时长,默认值为1000
Source:
Example
示例一:this.addCustomLayer('BASELAYER','pipe.1','#00ffff') // 设置一个高亮要素,pipe.1的高亮颜色为 '#00ffff'
示例二:this.addCustomLayer('BASELAYER',{id:'pipe.1'},'#00ffff') // 设置一个高亮要素,pipe.1的高亮颜色为 '#00ffff'
示例三:this.addCustomLayer('BASELAYER',{id:'pipe.1',color:'#00ffff'}) // 设置一个高亮要素,pipe.1的高亮颜色为 '#00ffff'
示例四:this.addCustomLayer('BASELAYER',['pipe.1','pipe.2'],'#00ffff') // 设置两个高亮要素,pipe.1、pipe.2的高亮颜色为 '#00ffff'
示例五:this.addCustomLayer('BASELAYER',[{id:'pipe.1'},{id:'pipe.2'}],'#00ffff') // 设置两个高亮要素,pipe.1、pipe.2的高亮颜色为 '#00ffff'
示例六:this.addCustomLayer('BASELAYER',[{id:'pipe.1',color:'#00ffff'},{id:'pipe.2',color:'#00ffff'}]) // 设置两个高亮要素,pipe.1、pipe.2的高亮颜色为 '#00ff00',注意此情况时一般使用 示例七,需要设置默认高亮色
示例七:this.addCustomLayer('BASELAYER',[{id:'pipe.1',color:'#00ff00'},{id:'pipe.2'}],'#00ffff') // 设置两个高亮要素,pipe.1的高亮颜色为 '#00ff00',pipe.2的高亮颜色为默认值 #00ffff'
示例八:this.addCustomLayer('BASELAYER') // 清除自定义临时图层

addExtraLayer(featureopt, coloropt, twinkleopt, durationopt)

新建自定义临时图层(拓展图层)
Parameters:
Name Type Attributes Default Description
feature String | Object | Array <optional>
要素
color String <optional>
#00ffff 要素默认高亮颜色,十六进制格式,示意:'#00ffff'
twinkle Boolean <optional>
false 是否闪烁该图层,默认值为false
duration Boolean <optional>
1000 闪烁图层动画时长,默认值为1000
Source:
Example
示例一:this.addExtraLayer('pipe.1','#00ffff') // 设置一个高亮要素,pipe.1的高亮颜色为 '#00ffff'
示例二:this.addExtraLayer({id:'pipe.1'},'#00ffff') // 设置一个高亮要素,pipe.1的高亮颜色为 '#00ffff'
示例三:this.addExtraLayer({id:'pipe.1',color:'#00ffff'}) // 设置一个高亮要素,pipe.1的高亮颜色为 '#00ffff'
示例四:this.addExtraLayer(['pipe.1','pipe.2'],'#00ffff') // 设置两个高亮要素,pipe.1、pipe.2的高亮颜色为 '#00ffff'
示例五:this.addExtraLayer([{id:'pipe.1'},{id:'pipe.2'}],'#00ffff') // 设置两个高亮要素,pipe.1、pipe.2的高亮颜色为 '#00ffff'
示例六:this.addExtraLayer([{id:'pipe.1',color:'#00ffff'},{id:'pipe.2',color:'#00ffff'}]) // 设置两个高亮要素,pipe.1、pipe.2的高亮颜色为 '#00ff00',注意此情况时一般使用 示例七,需要设置默认高亮色
示例七:this.addExtraLayer([{id:'pipe.1',color:'#00ff00'},{id:'pipe.2'}],'#00ffff') // 设置两个高亮要素,pipe.1的高亮颜色为 '#00ff00',pipe.2的高亮颜色为默认值 #00ffff'
示例八:this.addExtraLayer() // 清除高亮要素

addPoint(datas) → {Promise}

添加点要素(或集合)
Parameters:
Name Type Description
datas Array.<object> | object 点要素对象(或集合)
Properties
Name Type Attributes Default Description
fixed boolean <optional>
false 是否使用矢量缩放,即要素是否按地图单位(米)绘制-会在size参数上加m作为米的单位后缀,否则按像素单位绘制
lng number 经度或横坐标
lat number 维度或纵坐标
type string 设备类型id
property object <optional>
属性对象
style object <optional>
样式对象
Properties
Name Type Attributes Description
color string <optional>
16进制颜色值字符串
size number <optional>
大小
Overrides:
Source:
Returns:
返回新建点的结果
Type
Promise
Example
let data = {
 fixed:false,
 lng:105,
 lat:30,
 type:'',
 property:{
   status:0,
 },
 style:{
   color:'#ff0000',
   size:20,
 }
}
addPoint(data)或addPoint[(data]);

addPolyline(datas) → {object}

添加线要素(或集合)
Parameters:
Name Type Description
datas Array.<object> | object 线要素对象(或集合)
Properties
Name Type Attributes Default Description
fixed boolean <optional>
true 是否使用矢量缩放,即要素是否按地图单位(米)绘制-会在size参数上加m作为米的单位后缀,否则按像素单位绘制
path Array.<object> 坐标点集合,长度大于1
path[][0 number 经度或横坐标
path[][1 number 维度或纵坐标
type string 设备类型id
property object <optional>
属性对象
style object <optional>
样式对象
style.color string <optional>
线颜色,16进制颜色值字符串
style.size number <optional>
线宽
Overrides:
Source:
Returns:
返回格式化后点对象
Type
object
Example
let data = {
 fixed:false,
 path:[[103,30],[103,31]]
 type:'',
 property:{
   status:0,
 },
 style:{
   color:'#ff0000',
   size:20,
 }
}
addPolyline(data)或addPolyline([data]);

clear()

清理地图
Source:

clearBaseLayer()

新建BASE图层(底图)
Source:

clearCustomLayer(layerName)

新建自定义临时图层(自定义图层)
Parameters:
Name Type Description
layerName String 图层名称
Source:

clearExtraLayer()

清理自定义临时图层(拓展图层)
Source:

clearTwinkle()

清理图层闪烁动画
Source:

createFeature(features:) → {Promise}

创建地图要素
Parameters:
Name Type Description
features: Object | Array [{ name:'fitting'//图层名 features:[{//该图层需要新增的要素集合 properties:{name:'',x:'',y:''}//属性对象,具体属性由gis数据结构决定 geometry:{}//几何图形的geojson格式对象 }] }]
Overrides:
Source:
Returns:
创建结果
Type
Promise

createGetWMS(ogc, extra)

构建基于get wms请求的图层
Parameters:
Name Type Description
ogc *
extra *
Source:

createPostWMS(ogc, extra, offsetX, offsetY)

构建基于post wms的图层
Parameters:
Name Type Description
ogc *
extra *
offsetX number 是否进行火星坐标纠偏,投影坐标系偏移量
offsetY number 是否进行火星坐标纠偏,投影坐标系偏移量
Source:

(async) createWorkspace(optionopt)

创建工作空间
Parameters:
Name Type Attributes Description
option object <optional>
配置信息,缺少时会参考当前实例的参数 注意:不指定完整的数据库连接信息时,需要保证geoserver上已有postgis的存储,新建时会复用该存储的数据库连接信息
Properties
Name Type Attributes Description
service string <optional>
geoserver服务地址
workspace string <optional>
工作空间
database string <optional>
数据库实例名
host string <optional>
数据库host
port number <optional>
数据库端口
user string <optional>
数据库访问用户
passwd string <optional>
数据库访问密码
Overrides:
Source:
Example
var wms = new mapwms('http://localhost:8085/geoserver','demo')
示例一:
//wms.initialize().then(() => { console.log('加载完毕') })//由于demo不存在,故不用调用initialize方法
//新建工作空间demo
wms.createWorkspace()
示例二:
//新建工作空间demo2
wms.createWorkspace({
 workspace:'demo2'
})
示例三:
//在新geoserver上创建工作空间demo3
wms.createWorkspace({
 service:'http://192.168.10.212:8080/geoserver',
 workspace:'demo3'
})
示例四:
//新建工作空间dem04,指定完整的数据库连接信息
wms.createWorkspace({
       workspace: 'dem04',
       database: 'dem3_DB',
       host: '127.0.0.1',
       port: 2345,
       user: 'postgres',
       passwd:'admin'
   }

emit(eventName, args) → {eventbus}

触发当前实例上的事件。附加参数都会传给监听器回调。
Parameters:
Name Type Description
eventName String 事件名称
args Array 参数
Overrides:
Source:
Returns:
返回当前事件对象
Type
eventbus

filterAttribute(attribute)

过滤要素,通过要素属性匹配
Parameters:
Name Type Description
attribute Object 属性匹配
Overrides:
Source:
Example
示例一:
this.filterAttribute({
     color:'#0040FF',
     subtype:'c2246ddf-36b8-4067-b498-ac6b002513f0'
 })
示例二:
this.filterAttribute({
     color:['#0040FF','#FF8C00'],
     subtype:'c2246ddf-36b8-4067-b498-ac6b002513f0'
 })
示例三:
this.filterAttribute({
     color:['#0040FF','#FF8C00'],
     subtype:['c2246ddf-36b8-4067-b498-ac6b002513f0']
 })

filterFeature(feature)

过滤要素
Parameters:
Name Type Description
feature String | Array.<String> 要素id或要素id列表,不输入值时代表不执行过滤操作
Overrides:
Source:

filterGeometry(pointList, relationshipopt)

空间过滤要素
Parameters:
Name Type Attributes Default Description
pointList Array (WGS84)坐标集合,可构成多边形,可以是多个多边形构成的多边形数组
relationship string <optional>
INTERSECTS 几何关系,默认为‘INTERSECTS’-相交关系;可取值为INTERSECTS, DISJOINT, CONTAINS, WITHIN, TOUCHES,CROSSES, OVERLAPS and RELATE
Overrides:
Source:
Example
示例五:过滤一个空间
this.filterGeometry([
   [105.816212, 32.433169],
   [105.816985, 32.428826],
   [105.820346, 32.424186],
   [105.829448, 32.43186],
   [105.826919, 32.43769],
   [105.817788, 32.437362],
   [105.816212, 32.433169],
 ])
示例六:只过滤空间,并指定空间关系WITHIN-包含关系
this.filterGeometry([
   [105.816212, 32.433169],
   [105.816985, 32.428826],
   [105.820346, 32.424186],
   [105.829448, 32.43186],
   [105.826919, 32.43769],
   [105.817788, 32.437362],
   [105.816212, 32.433169],
 ],'WITHIN')
示例七:过滤多个空间
this.filterGeometry([[
   [105.816212, 32.433169],
   [105.816985, 32.428826],
   [105.820346, 32.424186],
   [105.829448, 32.43186],
   [105.826919, 32.43769],
   [105.817788, 32.437362],
   [105.816212, 32.433169],
 ],[
          [105.856212, 32.433169],
          [105.856985, 32.428826],
          [105.860346, 32.424186],
          [105.869448, 32.43186],
          [105.866919, 32.43769],
          [105.857788, 32.437362],
          [105.856212, 32.433169],
        ]])

fitView(feature)

设置地图缩放合适的视野级别
Parameters:
Name Type Description
feature String | Array.<String> 要素ID或要素ID数组
Source:
Example
this.fitView('pipe.131')
this.fitView(['pipe.132', 'pipe.133', 'pipe.131'])

forceLayerGroup(group)

强制指定工作空间使用哪个图层组
Parameters:
Name Type Description
group String 强制指定使用某图层组
Overrides:
Source:

(async) getLayers(是否强制刷新图层信息,不使用缓存的信息)

查询图层详细信息
Parameters:
Name Type Description
是否强制刷新图层信息,不使用缓存的信息 boolean
Overrides:
Source:

hierarchicalAnalytical(featureopt, coloropt)

数据层次解析
Parameters:
Name Type Attributes Default Description
feature String | Object | Array <optional>
要素
color String <optional>
#00ffff 要素默认高亮颜色,十六进制格式,示意:'#00ffff'
Overrides:
Source:
Example
示例一:this.setHilightFeature('pipe.1','#00ffff') // 设置一个高亮要素,pipe.1的高亮颜色为 '#00ffff'
示例二:this.setHilightFeature({id:'pipe.1'},'#00ffff') // 设置一个高亮要素,pipe.1的高亮颜色为 '#00ffff'
示例三:this.setHilightFeature({id:'pipe.1',color:'#00ffff'}) // 设置一个高亮要素,pipe.1的高亮颜色为 '#00ffff'
示例四:this.setHilightFeature(['pipe.1','pipe.2'],'#00ffff') // 设置两个高亮要素,pipe.1、pipe.2的高亮颜色为 '#00ffff'
示例五:this.setHilightFeature([{id:'pipe.1'},{id:'pipe.2'}],'#00ffff') // 设置两个高亮要素,pipe.1、pipe.2的高亮颜色为 '#00ffff'
示例六:this.setHilightFeature([{id:'pipe.1',color:'#00ffff'},{id:'pipe.2',color:'#00ffff'}]) // 设置两个高亮要素,pipe.1、pipe.2的高亮颜色为 '#00ff00',注意此情况时一般使用 示例七,需要设置默认高亮色
示例七:this.setHilightFeature([{id:'pipe.1',color:'#00ff00'},{id:'pipe.2'}],'#00ffff') // 设置两个高亮要素,pipe.1的高亮颜色为 '#00ff00',pipe.2的高亮颜色为默认值 #00ffff'
示例八:this.setHilightFeature() // 清除高亮要素

(async) initialize()

执行初始化操作 OGC标准的WMS地图服务的GetMap接口的参数,包括VERSION、LAYERS、STYLES、FORMAT、TRANSPARENT等,CRS、BBOX、REQUEST、WIDTH、HEIGHT等参数请勿添加,例如: { LAYERS: 'topp:states', VERSION:'1.3.0', FORMAT:'image/png' }
Overrides:
Source:
Fires:

mask(color)

设置要素遮罩颜色
Parameters:
Name Type Description
color String 要素遮罩颜色
Overrides:
Source:

off(event, fn) → {EventTarget}

移除自定义事件监听器。 如果没有提供参数,则移除所有的事件监听器; 如果只提供了事件,则移除该事件所有的监听器; 如果同时提供了事件与回调,则只移除这个回调的监听器
Parameters:
Name Type Description
event String 事件名称
fn function 回调函数
Overrides:
Source:
Returns:
返回当前事件对象
Type
EventTarget

on(event, fn) → {eventbus}

监听当前实例上的自定义事件。事件可以由 emit 触发。回调函数会接收所有传入事件触发函数的额外参数。
Parameters:
Name Type Description
event String 事件名称
fn function 回调函数
Overrides:
Source:
Returns:
返回当前事件对象
Type
eventbus

once(event, fn) → {eventbus}

监听一个自定义事件,但是只触发一次。一旦触发之后,监听器就会被移除。
Parameters:
Name Type Description
event String 事件名称
fn function 回调函数
Overrides:
Source:
Returns:
返回当前事件对象
Type
eventbus

onProgressLoaded()

触发 wms:upload 事件
Overrides:
Source:
Fires:

onProgressLoading()

触发 wms:upload 事件
Overrides:
Source:
Fires:

onQueryClick()

触发点击事件
Source:
Fires:

onQueryRightClick()

触发右键点击事件
Source:
Fires:

onWmsUpload()

触发 wms:upload 事件
Overrides:
Source:
Fires:

query(X, Y, WIDTH, HEIGHT, BBOX, CRSopt, LAYERSopt, QUERY_LAYERSopt, VERSIONopt, FEATURE_COUNTopt, INFO_FORMATopt, TRANSPARENTopt) → {Promise}

执行空间查询,并以Promise的形式返回查询结果,当前仅支持基于 X、 Y、 WIDTH、 HEIGHT、 BBOX、 CRS、 LAYERS 方式进行查询
Parameters:
Name Type Attributes Default Description
X Number X,示意:721
Y Number Y,示意:207
WIDTH Number WIDTH,示意:1564
HEIGHT Number HEIGHT,示意: 784
BBOX String BBOX,示意:'32.43657757416502,105.83224442481992,32.44012705802473,105.8406343746185'
CRS String <optional>
EPSG:4326 CRS,示意:'EPSG:4326'
LAYERS String <optional>
查询图层,默认值为null,代表取自动取值
QUERY_LAYERS String <optional>
查询图层,默认值为null,代表取LAYERS的值
VERSION String <optional>
1.1.1 版本,默认 '1.1.1'
FEATURE_COUNT Number <optional>
1 FEATURE_COUNT,示意:1
INFO_FORMAT String <optional>
application/json INFO_FORMAT,示意:'application/json'
TRANSPARENT Boolean <optional>
true TRANSPARENT,示意:true
Overrides:
Source:
Fires:
Returns:
查询结果
Type
Promise

queryFeature(featureopt, propertyopt, countopt, layersopt)

通过要素id和要素业务属性查询要素
Parameters:
Name Type Attributes Description
feature String | Array.<String> <optional>
查询要素的id或id数组
property Object <optional>
查询业务属性
count Number <optional>
最大返回数量,默认值 undefined,代表无限制
layers String <optional>
查询图层,默认值 undefined,代表从当前对象中读取显示图层,数据值示意:d3:pe,d3:line
Overrides:
Source:

refresh()

刷新底图
Overrides:
Source:

removeFeature(featureId:需要删除的要素的ID集合,数组) → {Promise}

通过地图要素ID删除要素
Parameters:
Name Type Description
featureId:需要删除的要素的ID集合,数组 String | Array
Overrides:
Source:
Returns:
操作结果
Type
Promise

removeFeatureByCondition(condition) → {Promise}

通过筛选条件移除要素
Parameters:
Name Type Description
condition Object | Array 筛选条件(或集合)
Properties
Name Type Attributes Description
layer string 图层类型
geometry object <optional>
空间范围条件
where Array <optional>
属性条件,用And连接多个条件
Properties
Name Type Description
key string 属性名
value object 属性值
Overrides:
Source:
Returns:
操作结果
Type
Promise

(async) removeWorkspace(optionopt)

删除工作空间
Parameters:
Name Type Attributes Description
option object <optional>
配置信息,缺少时会参考当前实例的参数
Properties
Name Type Attributes Description
service string <optional>
geoserver服务地址
workspace string <optional>
工作空间
Overrides:
Source:

setConflict(testconflictopt)

设置是否进行点符号的重叠检测(使用前请保证地图使用了最新的样式)
Parameters:
Name Type Attributes Default Description
testconflict Boolean <optional>
true 是否进行点符号的重叠检测,默认为true
Overrides:
Source:

setHierarchyFeature(featureopt, coloropt, layerNameopt)

设置分层要素
Parameters:
Name Type Attributes Default Description
feature String | Object | Array <optional>
分层要素
color String <optional>
#00ffff 要素默认高亮颜色,十六进制格式,示意:'#00ffff'
layerName String | Object | Array <optional>
分层名,默认值为常量 EXTRALAYER
Overrides:
Source:
Fires:
Example
示例一:this.setHierarchyFeature('pipe.1','#00ffff') // 设置分层要素,pipe.1的高亮颜色为 '#00ffff'
示例二:this.setHierarchyFeature({id:'pipe.1'},'#00ffff') //设置分层要素,pipe.1的高亮颜色为 '#00ffff'
示例三:this.setHierarchyFeature({id:'pipe.1',color:'#00ffff'}) // 设置分层要素,pipe.1的高亮颜色为 '#00ffff'
示例四:this.setHierarchyFeature(['pipe.1','pipe.2'],'#00ffff') // 设置分层要素,pipe.1、pipe.2的高亮颜色为 '#00ffff'
示例五:this.setHierarchyFeature([{id:'pipe.1'},{id:'pipe.2'}],'#00ffff') // 设置分层要素,pipe.1、pipe.2的高亮颜色为 '#00ffff'
示例六:this.setHierarchyFeature([{id:'pipe.1',color:'#00ffff'},{id:'pipe.2',color:'#00ffff'}]) // 设置分层要素,pipe.1、pipe.2的高亮颜色为 '#00ff00',注意此情况时一般使用 示例七,需要设置默认高亮色
示例七:this.setHierarchyFeature([{id:'pipe.1',color:'#00ff00'},{id:'pipe.2'}],'#00ffff') // 设置分层要素,pipe.1的高亮颜色为 '#00ff00',pipe.2的高亮颜色为默认值 #00ffff'
示例八:this.setHierarchyFeature() // 清除分层要素

setHilightFeature(featureopt, coloropt)

设置要素高亮
Parameters:
Name Type Attributes Default Description
feature String | Object | Array <optional>
高亮要素
color String <optional>
#00ffff 要素默认高亮颜色,十六进制格式,示意:'#00ffff'
Overrides:
Source:
Fires:
Example
示例一:this.setHilightFeature('pipe.1','#00ffff') // 设置一个高亮要素,pipe.1的高亮颜色为 '#00ffff'
示例二:this.setHilightFeature({id:'pipe.1'},'#00ffff') // 设置一个高亮要素,pipe.1的高亮颜色为 '#00ffff'
示例三:this.setHilightFeature({id:'pipe.1',color:'#00ffff'}) // 设置一个高亮要素,pipe.1的高亮颜色为 '#00ffff'
示例四:this.setHilightFeature(['pipe.1','pipe.2'],'#00ffff') // 设置两个高亮要素,pipe.1、pipe.2的高亮颜色为 '#00ffff'
示例五:this.setHilightFeature([{id:'pipe.1'},{id:'pipe.2'}],'#00ffff') // 设置两个高亮要素,pipe.1、pipe.2的高亮颜色为 '#00ffff'
示例六:this.setHilightFeature([{id:'pipe.1',color:'#00ffff'},{id:'pipe.2',color:'#00ffff'}]) // 设置两个高亮要素,pipe.1、pipe.2的高亮颜色为 '#00ff00',注意此情况时一般使用 示例七,需要设置默认高亮色
示例七:this.setHilightFeature([{id:'pipe.1',color:'#00ff00'},{id:'pipe.2'}],'#00ffff') // 设置两个高亮要素,pipe.1的高亮颜色为 '#00ff00',pipe.2的高亮颜色为默认值 #00ffff'
示例八:this.setHilightFeature() // 清除高亮要素

setMap(map)

设置高德地图对象
Parameters:
Name Type Description
map AMap 高德地图实例
Source:
Fires:
  • amapwms#wms:initialized 初始化完成事件

setNozoom(nozoom)

设置是否使用无缩放级别的显示,可在添加临时图层前使用
Parameters:
Name Type Default Description
nozoom Boolean true 是否使用无缩放级别的显示,默认为true
Overrides:
Source:

(async) syncDeviceStyle(icondata, category, multicoloropt) → {Promise}

同步业务系统的设备样式到geoserver,按指定属性集合分类渲染
Parameters:
Name Type Attributes Default Description
icondata Array.<object> 符号信息集合
category number 点线类型标识,0-管线,否则为管点
icondata[].fixed boolean <optional>
true 设备或者管线是否已矢量缩放的形式进行呈现,默认值为true
icondata[].type string 设备类型id,不管是管道还是阀门还是其他设备,均需要填写该值
icondata[].property object <optional>
设备业务属性对象
icondata[].style object <optional>
设备样式属性
icondata[].style.content number <optional>
符号内容,即svg的xml字符串
icondata[].style.title number <optional>
符号名称
icondata[].style.zindex number <optional>
符号层级,默认与传入参数的顺序一致,有zindex值会绘制在无zindex值的符号上面,另外默认符号始终在最低层,线图层始终在点图层下面
icondata[].style.size number <optional>
图标大小或者管线宽度,注意 fixed 为真是代表矢量缩放,此时size的单位为m,否则size的单位是px
icondata[].style.color string <optional>
图标颜色或者管线颜色,16进制颜色值字符串
icondata[].style.zoom Array.<number> <optional>
图标可见层级范围,参考高德地图,级别范围3-20
multicolor boolean <optional>
false 是否是多色图标,使用多色图标但该参数不为true时会导致符号不能高亮
Overrides:
Source:
Returns:
Type
Promise
Example
var icondata={
   category: 0,
   fixed: true,
   type: '20ab312e-d505-4c37-8b85-ac75007e2a31',
   property: {
       status:0
   },
   style:{
       title:'正常阀门',
       content:'<svg/>',
       zindex:1,
       size: 8,
       color: '#ffffff'
       zoom:[15,19]
   }
}

util.syncDeviceStyle([icondata])

twinkle(layerName, options)

使指定图层闪烁
Parameters:
Name Type Description
layerName String 图层名称
options Object animejs 动画参数
Source:
See:

updateFeature(feature)

更新要素
Parameters:
Name Type Description
feature object | Array 要素(集合) [ { id:'',//要素id properties:{},//{name:'',x:'',y:''}//属性对象,可选参数,具体属性由gis数据结构决定 geometry:{},几何图形的geosjon格式对象,可选参数 } ]
Overrides:
Source:

updateFeatureByCondition(layertype, valuses, filteropt) → {Promise}

按过滤条件更新要输属性
Parameters:
Name Type Attributes Description
layertype string 图层
valuses object 属性对象
filter object <optional>
过滤条件,缺失时表示修改该图层所有数据
Overrides:
Source:
Returns:
Type
Promise
Example
暂时采用如下格式,并用And连接
let filter={
    where:[
        {
            key:'',
            value:''
       },{
            key:'',
            value:''
        }
    ]
 }

updatePoint(data) → {Promise}

更新点要素(或集合)
Parameters:
Name Type Description
data object | Array 点要素对象(或集合)
Properties
Name Type Attributes Default Description
id string 要素id
fixed boolean <optional>
false 是否使用矢量缩放,即要素是否按地图单位(米)绘制-会在size参数上加m作为米的单位后缀,否则按像素单位绘制
lng number <optional>
经度或横坐标
lat number <optional>
维度或纵坐标
type string <optional>
设备类型id
property object <optional>
属性对象
style object <optional>
样式对象
Properties
Name Type Attributes Description
color string <optional>
16进制颜色值字符串
size number <optional>
大小
Overrides:
Source:
Returns:
返回新建点的结果
Type
Promise
Example
let data = {
 id:'fitting.8',
 fixed:false,
 lng:105,
 lat:30,
 type:'',
 property:{
   status:0,
 },
 style:{
   color:'#ff0000',
   size:20,
 }
}
updatePoints(data)或updatePoints([data]);

updatePolyline(data) → {object}

更新线要素(或集合)
Parameters:
Name Type Description
data object | Array 线要素对象(或集合)
Properties
Name Type Attributes Default Description
id string 要素id
fixed boolean <optional>
true 是否使用矢量缩放,即要素是否按地图单位(米)绘制-会在size参数上加m作为米的单位后缀,否则按像素单位绘制
path Array.<object> <optional>
坐标点集合,长度大于1
path[][0] number <optional>
经度或横坐标
path[][1] number <optional>
维度或纵坐标
type string <optional>
设备类型id
property object <optional>
属性对象
style object <optional>
样式对象
Properties
Name Type Attributes Description
color string <optional>
线颜色,16进制颜色值字符串
size number <optional>
线宽
Overrides:
Source:
Returns:
返回格式化后点对象
Type
object
Example
let data = {
 id:'pipe.8',
 fixed:false,
 path:[[103,30],[103,31]]
 type:'',
 property:{
   status:0,
 },
 style:{
   color:'#ff0000',
   size:20,
 }
}
updatePolylines(data)或updatePolylines([data]);

uploadOverlays(高德元素对象或者高德元素对象数组) → {Promise}

上传高德地图元素覆盖物,当前仅支持 Map.Marker 和 AMap.Polyline 高德元素对象需设置 extData 数据
Parameters:
Name Type Description
高德元素对象或者高德元素对象数组 Object | Array
Source:
Returns:
Type
Promise
Example
var overlay = new AMap.Marker()

overlay.setExtData({
   // *必填项,设备或者管线是否已矢量缩放的形式进行呈现,默认值为true
   fixed: true,
   // *必填项,设备类型id,不管是管道还是阀门还是其他设备,均需要填写该值
   type: '20ab312e-d505-4c37-8b85-ac75007e2a31',
   // 选填项,设备业务属性,支持自定义对象
   property: {

   },
   // 选填项,设备样式属性,对于管线而言size是线宽度,对于点而言,size是图标大小
   style:{
       // 选填项,符号层级
       zindex:1,
       // 选填项,图标大小或者管线宽度,注意 fixed 为真是代表矢量缩放,此时size的单位为m,否则size的单位是px
       size: 8,
       // 选填项,图标颜色或者管线颜色,
       color: '#ffffff'
       zoom:[15,19]?暂不能实现
   }
})

util.uploadOverlays(overlay) 或者 util.uploadOverlays([overlay])

useAuth(user, pwd)

使用权限认证,传入用户名,密码,以使用geoserver的数据编辑接口 (暂时采用Basic认证方式,使用时配合https更安全)
Parameters:
Name Type Description
user string 用户名
pwd * 密码
Overrides:
Source:

Events

queryclick

地图点击查询事件
Type:
  • Object
Properties:
Name Type Description
lnglat Object 经纬度
Properties
Name Type Description
lng Number 经度
lat Number 纬度
others Object 其他参数,注意这是others不是代表属性名,而是代表有其他的变量
Source:

queryclick

地图点击查询事件
Type:
  • Object
Properties:
Name Type Description
lnglat Object 经纬度
Properties
Name Type Description
lng Number 经度
lat Number 纬度
others Object 其他参数,注意这是others不是代表属性名,而是代表有其他的变量
Source:

queryrightclick

地图右键点击查询事件
Type:
  • Object
Properties:
Name Type Description
lnglat Object 经纬度
Properties
Name Type Description
lng Number 经度
lat Number 纬度
others Object 其他参数,注意这是others不是代表属性名,而是代表有其他的变量
Source:

queryrightclick

地图右键点击查询事件
Type:
  • Object
Properties:
Name Type Description
lnglat Object 经纬度
Properties
Name Type Description
lng Number 经度
lat Number 纬度
others Object 其他参数,注意这是others不是代表属性名,而是代表有其他的变量
Source:

progress:loaded

加载完成事件
Overrides:
Source:

progress:loading

正在加载事件
Overrides:
Source:

wms:upload

创建WMS格式图层,事件包含三个参数,第一个参数为图层名称,第二个参数为OGC参数对象或者数组,第三个参数extras为额外的参数
Parameters:
Name Type Attributes Description
layerName String 图层名称
ogc Object OGC对象
Properties
Name Type Description
url String 请求地址
service String 服务,默认 wms
version String 版本,默认 1.3.0
request String
crs String 坐标系,默认 EPSG:3857
layers String
format String 输出格式,默认 image/png
transparent String 是否透明,默认true
tileSize String 瓦片大小,默认 512
zIndex String 层级
extras Object <optional>
额外的参数,可选参考值 ENV, CQL_FILTER
Overrides:
Source: