/**
* 3D笛卡尔点
* @typedef Cartesian3
* @property {Number} x The X component
* @property {Number} y The Y component
* @property {Number} z The Z component
*/
/**
* 2D笛卡尔点
* @typedef Cartesian2
* @property {Number} x The X component
* @property {Number} y The Y component
*/
/**
* 弧度坐标点
* @property {Number} longitude The longitude, in radians.
* @typedef Cartographic
* @property {Number} latitude The latitude, in radians.
* @property {Number} height The height, in meters, above the ellipsoid.
*/
/**
* 2D WGS84坐标点
* @typedef DegreePos
* @property {Number} x 经度X
* @property {Number} y 纬度y
*/
/**
* 3D WGS84坐标点
* @typedef DegreePosZ
* @property {Number} x 经度X
* @property {Number} y 纬度y
* @property {Number} z 高度z,单位米
*/
/**
* 体积量测结果.
* @typedef VolumeRes
* @property {boolean} minH - 区域高程最高值,单位:米(m)
* @property {boolean} maxH - 区域高程最低值,单位:米(m)
* @property {boolean} volume - 体积值,单位:立方米(m³)
*/
/**
* 多联级样式参数
* @typedef StyleFilter
* @property {String} key - 筛选条件关键词,将根据选择的字段关键字进行组合,比如图层所选关键字为"age",当前key设定为">10&&<30",则最终筛选条件为"age>10&&age<30"
* @property {BillboardOption | PolylineOption | PolygonOption} value - 样式参数,需根据图层类型不同选择
*/
/**
* 点参数
* @typedef PointOption
* @property {String} [color='#ff0000'] - 可选:点颜色,默认值 #ff0000
* @property {Number} [pixelSize=10.0] - 可选:点大小,默认值10.0
* @property {String} [outlineColor='#ffff00'] - 可选:轮廓线颜色,默认值 #ffff00
* @property {Number} [outlineWidth=3.0] - 可选:轮廓线宽度,默认值3.0
* @property {Number} [onGround=true] - 可选:是否贴地,默认自动贴地
*/
/**
* 广告版参数
* @typedef BillboardOption
* @property {Number} [scale=1.0] - 可选:放大倍比,默认1.0
* @property {Number} [width=64] - 可选:图标宽度,默认64px
* @property {Number} [height=64] - 可选:图标高度,默认64px
* @property {Boolean} [onGround=true] - 可选:是否贴地,默认自动贴地
* @property {String | HTMLCanvasElement} [image] - 广告版图标路径
* @property {Object} [style=null] - 多联级样式设置参数
* @property {String} style.key - 设定关键字,将根据选择的关键字来对Geojson图层分类并分别进行样式设置
* @property {Array<StyleFilter>} style.filter - 图层筛选和自定义样式条件
*/
/**
* Polyline线参数
* @typedef PolylineOption
* @property {Number} [width=5.0] - 可选:线段宽度,默认5.0
* @property {String} [color='#ffff00'] - 可选:线段颜色,默认为 #ffff00
* @property {Boolean} [onGround=true] - 可选:是否贴地,默认自动贴地
* @property {Number} [index=2] - 地图场景中,显示层级,值越高显示优先级越高,默认2
* @property {Object} [style=null] - 多联级样式设置参数
* @property {String} style.key - 设定关键字,将根据选择的关键字来对Geojson图层分类并分别进行样式设置
* @property {Array<StyleFilter>} style.filter - 图层筛选和自定义样式条件
*/
/**
* Polygon面参数
* @typedef PolygonOption
* @property {String} [fill='#65df43'] - 可选:面填充颜色,默认 #65df43
* @property {Boolean} [outline=true] - 可选:是否显示轮廓线,默认为true
* @property {String} [outlineColor='#fff000'] - 可选:只有在outline=true时生效,轮廓线颜色,默认为 #fff000
* @property {Number} [outlineWidth=1.0] - 可选:只有在outline=true时生效,轮廓线宽度,默认1.0
* @property {Boolean} [onGround=true] - 可选:是否贴地,默认自动贴地
* @property {Number} [index=1] - 地图场景中,显示层级,值越高显示优先级越高,默认1
* @property {Object} [style=null] - 多联级样式设置参数
* @property {String} style.key - 设定关键字,将根据选择的关键字来对Geojson图层分类并分别进行样式设置
* @property {Array<StyleFilter>} style.filter - 图层筛选和自定义样式条件
*/
/**
* GLTF模型参数
* @typedef GltfOption
* @property {Number} [scale=1.0] - 可选:模型放大倍比,默认1.0
* @property {Boolean} [shadow=true] - 可选:模型是否支持阴影效果,默认true
* @property {Boolean} [onGround=false] - 可选:模型是否贴地,默认自动贴地
* @property {Number} [heading=0.0] - 可选:模型角度heading值,默认0.0,单位:度
* @property {Number} [pitch=0.0] - 可选:模型角度pitch值,默认0.0,单位:度
* @property {Number} [roll=0.0] - 可选:模型角度roll值,默认0.0,单位:度
*/
/**
* 相机状态参数
* @typedef CameraStatus
* @property {DegreePosZ} degrees - WGS84坐标值
* @property {Cartesian3} position - 笛卡尔坐标值
* @property {Object} hpr - 欧拉角
* @property {Number} hpr.heading - 偏航角,绕Z周
* @property {Number} hpr.pitch - 俯仰角,绕Y轴
* @property {Number} hpr.roll - 滚动角,绕X轴
*/
/**
* 地图四至对象,WGS84坐标
* @typedef ViewExtent
* @property {Number} minx - 最小经度值
* @property {Number} miny - 最小纬度值
* @property {Number} maxx - 最大经度值
* @property {Number} maxy - 最大纬度值
*/
/**
* 视角参数
* @typedef ViewStatus
* @property {Cartesian3 | DegreePosZ} position - 笛卡尔坐标值
* @property {Object} hpr - 欧拉角
* @property {Number} hpr.heading - 偏航角,绕Z周,单位为弧度或者度
* @property {Number} hpr.pitch - 俯仰角,绕Y轴,单位为弧度或者度
* @property {Number} hpr.roll - 滚动角,绕X轴,单位为弧度或者度
*/
/**
* 标绘-点类-参数
* @typedef PlotPoint
* @property {String} [color='#ff0000'] - 点颜色,默认值 #ff0000
* @property {Number} [pixelSize=20.0] - 点大小,默认值20.0
* @property {String} [outlineColor='#ffff00'] - 轮廓线颜色,默认值 #ffff00
* @property {Number} [outlineWidth=3.0] - 轮廓线宽度,默认值3.0
*/
/**
* 标绘-广告版-参数
* @typedef PlotBillboard
* @property {String | HTMLCanvasElement} [image] - 广告版图标image
* @property {Number} [scale=1.0] - 缩放倍比,默认值1.0
*/
/**
* 标绘-折线类-参数
* @typedef PlotPolyline
* @property {String} [color='#FF0000'] - 线段颜色,默认值 #FF0000
* @property {Number} [width=10.0] - 线宽度,默认值10.0
*/
/**
* 标绘-阵型类-参数
* @typedef PlotFormation
* @property {Number} [geo=1] - 阵型类型,0-防御阵型,1-进攻阵型
* @property {String} [color='#FF0000'] - 线段颜色,默认值 #FF0000
* @property {Number} [width=10.0] - 线宽度,默认值10.0
*/
/**
* 标绘-多边形类-参数
* @typedef PlotPolygon
* @property {String} [fill='#FF0000'] - 填充颜色,默认值 #FF0000
* @property {Boolean} [outline=true] - 是否显示轮廓线,默认显示
* @property {String} [outlineColor='#FFFF00'] - 轮廓线颜色,仅outline=true时生效,默认值 #FFFF00
* @property {Number} [outlineWidth=10.0] - 轮廓线宽度,仅outline=true时生效,默认值10.0
* @property {Number} [counts=5] - 仅在绘制正多边形时有效,代表正多边形边的数量
*/
/**
* 标绘-旗标类-参数
* @typedef PlotFlag
* @property {Number} geo - 旗标类型,对应关系:0-曲线旗标;1-矩形旗标;2-正三角旗标;3-倒三角旗标;4-对三角旗标。
* @property {String} [fill='#FF0000'] - 填充颜色,默认值 #FF0000
* @property {Boolean} [outline=true] - 是否显示轮廓线,默认显示
* @property {String} [outlineColor='#FFFF00'] - 轮廓线颜色,仅outline=true时生效,默认值 #FFFF00
* @property {Number} [outlineWidth=10.0] - 轮廓线宽度,仅outline=true时生效,默认值10.0
*/
/**
* 标绘-简单颜色类-参数
* @typedef PlotColor
* @property {String} [color='#FF0000'] - 填充颜色,默认值 #FF0000
*/
/**
* 标绘-箭头类-参数
* @typedef PlotArrow
* @property {Number} geo - 箭头类型,对应关系:0-平尾,1-燕尾。
* @property {String} [fill='#FF0000'] - 填充颜色,默认值 #FF0000
* @property {Boolean} [outline=true] - 是否显示轮廓线,默认显示
* @property {String} [outlineColor='#FFFF00'] - 轮廓线颜色,仅outline=true时生效,默认值 #FFFF00
* @property {Number} [outlineWidth=10.0] - 轮廓线宽度,仅outline=true时生效,默认值10.0
*/
/**
* 标绘-文本类-参数
* @typedef PlotLabel
* @property {String} [color='#FFFFFF'] - 文本填充色,默认值 #FFFFFF
* @property {Number} [size=32] - 文本字体大小,默认值 32
* @property {String} [text='undefined'] - 文本内容,默认值 undefined
* @property {Boolean} [outline=false] - 是否显示文本轮廓,默认不显示
* @property {String} [outlineColor='#000'] - 文本轮廓颜色,默认值 #000000
* @property {Number} [outlineWidth=0] - 文本轮廓宽度,默认值 0
*/
/**
* LngLat坐标类型
* @typedef LngLat
* @property {Number} lng - 经度坐标
* @property {Number} lat - 纬度坐标
*/
/**
* 水枪粒子参数
* @typedef WaterGunOption
* @property {Number} [angle=30] 喷射角度,以垂直于底面位0°,单位:度(°)
* @property {Number} gravity 重力系数,控制水枪喷射过程水粒子下降程度,默认计算值为(-2.0 * dis) / (pos0.z - pos1.z)
* @property {Number} speed 喷射速度,默认计算值为Math.ceil(dis / 5)
*/
/**
* 行政区划对象
* @typedef RegionCode
* @property {string} label 地区名称
* @property {string} value 区划编码
* @property {Array<RegionCode>} children 子级行政区划对象
*/
/**
* 高德路径规划返回对象
* @typedef PathAnalysisGD
* @property {LngLat} origin 起始点位置,WGS84坐标
* @property {LngLat} destination 终点位置,WGS84坐标
* @property {Array<PathGD>} paths 路线集合
*/
/**
* 高德路径规划路线
* @typedef PathGD
* @property {Number} distance 距离,单位:米(m)
* @property {Number} duration 用时,单位:秒(s)
* @property {Array<StepGD>} steps 路线分段
*/
/**
* 高德路径规划路线分段
* @typedef StepGD
* @property {Number} distance 距离,单位:米(m)
* @property {Number} duration 用时,单位:秒(s)
* @property {String} instruction 行驶指示
* @property {String} orientation 进入道路方向
* @property {String} road_name 分段道路名称
* @property {Array<TmcGD>} tmcs 分段路况详情
*/
/**
* 高德路径规划路线分段路况
* @typedef TmcGD
* @property {Number} tmc_distance 从当前坐标点开始step中路况相同的距离
* @property {String} tmc_status 路况信息,包括:未知、畅通、缓行、拥堵、严重拥堵
* @property {Array<LngLat>} tmc_polyline 此段路况涉及的道路坐标集合,WGS84坐标系
*/
/**
* 高德POI搜索条件参数
* @typedef PoiGdParams
* @property {String} region 限制返回数据在区域内,默认全国范围搜索。行政区划编码或者名称,如"北京市","110000"。
* @property {Number} [count=20] 返回结果数量
*/
/**
* 高德POI搜索结果对象
* @typedef PoiResultGd
* @property {String} address poi详细地址
* @property {String} adname poi所属区县
* @property {String} cityname poi所属城市
* @property {String} pname poi所属省份
* @property {String} name poi名称
* @property {String} type poi所属类型
* @property {LngLat} location poi经纬度坐标,WGS84坐标
*/
/**
* 高德地理编码结果
* @typedef GeocodeGd
* @property {String} province 地址所在的省份名
* @property {String} city 地址所在的城市名
* @property {String} district 地址所在的区
* @property {String} street 街道
* @property {String} number 门牌
* @property {LngLat} location 坐标点位置,WGS84坐标
*/
/**
* 高德逆地理编码结果
* @typedef ReGeocodeGd
* @property {String} province 坐标点所在的省份名
* @property {String} city 坐标点所在的城市名
* @property {String} district 坐标点所在的区
* @property {String} township 坐标点所在乡镇/街道
* @property {String} address 坐标点格式化地址
*/
/**
* 热力图数据类型
* @typedef HeatmapDatas
* @property {Array<Number>} lnglat 经纬度坐标,WGS84坐标系,如:[120,35]
* @property {Number} value 热力值,用于绘制热力图的数值
*/
/**
* 热力图参数
* @typedef HeatmapOptions
* @property {Number} [radius=10] 可选 热力图绘制半径,参考值
* @property {Object} [gradient={ '.3': 'blue', '.5': 'green', '.7': 'yellow', '.95': 'red'}] 热力图配色梯度值,key为递变百分比位置,值为颜色值,如"red","#ff0000"
* @property {Number} [baseHeight=0] 可选,基准高度,仅限于3D热力图生效
* @property {String} [primitiveType='TRIANGLES'] 可选,热力图形式,仅限于3D热力图生效。"TRIANGLES"-三角形基元,其中每个三个顶点(或索引)是一个三角形。三角形不一定共享边;"LINES"-线基元,其中每个两个顶点(或索引)都是一个线段。线段不一定连接。
*/
/**
* DOM跟随对象参数
* @typedef DomOptions
* @property {Cartesian2} [offset={x:0,y:0}] 视角偏移
* @property {Number} [maxHeight=50000000] 最高可视距离,指的是相机距离,超过该距离元素就被隐藏
*/
/**
* 热点面板参数
* @typedef PanelOptions
* @property {String} id 热点面板ID,具有唯一性
* @property {Cartesian3} position 热点面板空间位置,笛卡尔坐标
* @property {String} text 热点面板内容
* @property {Number} maxHeight 热点面板最大可视距离,超过该距离将移除
* @property {String} [type='hot'] 热点面板类型。'hot'-普通热点面板;'process'-进度热点面板
*/
/**
* 体元栅格数据参数(三维)
* @typedef VoxelsData
* @property {Number} x 经度值,WGS84坐标
* @property {Number} y 纬度值,WGS84坐标
* @property {Number} z 高度值,建议海拔高度
* @property {Number} value 待计算体元值
*/
/**
* Geoserver发布的WMTS数据参数
* @typedef GeoserverWmtsOptions
* @property {String} [id] 唯一标识ID
* @property {String} layer 图层名称
* @property {String} sourceUrl geoserver发布wmts的根地址,如:https://ip:port/geoserver/gwc/service/wmts/rest,可以在geoserver首页查询
* @property {String} [style=''] 数据样式
* @property {String} [format='image/png'] 瓦片格式类型
* @property {String} [tileMatrixSetID='EPSG:4326'] 坐标系
* @property {Number} [maximumLevel=20] 最大显示层级
* @property {Number} [alpha=1.0] 透明度
*/
/**
* Mapbox切片服务参数
* @typedef MapboxOption
* @property {String} userName 用户名
* @property {String} styleId 图层样式唯一ID
* @property {String} token token指令
*/