/**
* Mars3D三维可视化平台 mars3d
*
* 版本信息:v3.4.1
* 编译日期:2022-07-25 16:20:12
* 版权所有:Copyright by 火星科技 http://mars3d.cn
* 使用单位:免费公开版 ,2022-06-01
*/
import * as Cesium from "mars3d-cesium"
export { Cesium }
export { Resource } from "mars3d-cesium"
declare const version: string
declare const update: string
declare const name: string
declare const proj4: any
declare const provider: any
/**
* 国内偏移坐标系 枚举
*/
declare enum ChinaCRS {
/**
* 标准无偏坐标系
*/
WGS84 = "WGS84",
/**
* 国测局(GCJ02)偏移坐标系
*/
GCJ02 = "GCJ02",
/**
* 百度(BD09) 偏移坐标系
*/
BAIDU = "BD09"
}
/**
* 裁剪模型类型
*/
declare enum ClipType {
/**
* z水平面, 切底部
*/
Z = 1,
/**
* z水平面,切顶部
*/
ZR = 2,
/**
* x垂直面,切西向
*/
X = 3,
/**
* x垂直面,切东向
*/
XR = 4,
/**
* y垂直面, 切南向
*/
Y = 5,
/**
* y垂直面,切北向
*/
YR = 6
}
/**
* 控件类型
*/
declare enum ControlType {
clockAnimate,
compass,
distanceLegend,
locationBar,
mapSplit,
mouseDownView,
overviewMap,
zoom
}
/**
* 坐标系 枚举
*/
declare enum CRS {
/**
* Web墨卡托投影坐标系
*/
EPSG3857 = "EPSG:3857",
/**
* WGS84地理坐标系
*/
EPSG4326 = "EPSG:4326",
/**
* 中国大地2000 (CGCS2000)地理坐标系
*/
EPSG4490 = "EPSG:4490",
/**
* CGCS2000 Gauss-Kruger Zone 平面投影,3度分带,横坐标前加带号。
* 范围:EPSG:4513 到 EPSG:4533
*/
CGCS2000_GK_Zone_3 = "CGCS2000_GK_Zone_3",
/**
* CGCS2000 Gauss-Kruger Zone 平面投影,6度分带,横坐标前加带号。
* 范围:EPSG:4491 到 EPSG:4501
*/
CGCS2000_GK_Zone_6 = "CGCS2000_GK_Zone_6",
/**
* CGCS2000 Gauss-Kruger CM 平面投影,3度分带,横坐标前不加带号。
* 范围:EPSG:4534 到 EPSG:4554
*/
CGCS2000_GK_CM_3 = "CGCS2000_GK_CM_3",
/**
* CGCS2000 Gauss-Kruger CM 平面投影,6度分带,横坐标前不加带号。
* 范围:EPSG:4502 到 EPSG:4512
*/
CGCS2000_GK_CM_6 = "CGCS2000_GK_CM_6"
}
/**
* 特效类型
*/
declare enum EffectType {
blackAndWhite,
bloom,
brightness,
depthOfField,
fog,
inverted,
mosaic,
nightVision,
outline,
rain,
snow,
snowCover
}
/**
* 事件类型 枚举(所有事件统一的入口)
*/
declare enum EventType {
/**
* 添加对象(本身)
*/
add = "add",
/**
* 移除对象(本身)
*/
remove = "remove",
/**
* 对象中添加了一项内容
*/
addItem = "addItem",
/**
* 对象中移除了一项内容
*/
removeItem = "removeItem",
/**
* 添加矢量数据时[图层上监听时使用]
*/
addGraphic = "addGraphic",
/**
* 移除矢量数据时[图层上监听时使用]
*/
removeGraphic = "removeGraphic",
/**
* 添加图层[map上监听时使用]
*/
addLayer = "addLayer",
/**
* 移除图层[map上监听时使用]
*/
removeLayer = "removeLayer",
/**
* 地图上添加控件
*/
addControl = "addControl",
/**
* 从地图上移除控件
*/
removeControl = "removeControl",
/**
* 地图上添加Effect特效
*/
addEffect = "addEffect",
/**
* 从地图上移除Effect特效
*/
removeEffect = "removeEffect",
/**
* 更新了对象
*/
update = "update",
/**
* 更新了坐标位置
*/
updatePosition = "updatePosition",
/**
* 更新了style对象
*/
updateStyle = "updateStyle",
/**
* 更新了attr对象
*/
updateAttr = "updateAttr",
/**
* 显示了对象
*/
show = "show",
/**
* 隐藏了对象
*/
hide = "hide",
/**
* 开始
*/
start = "start",
/**
* 变化了
*/
change = "change",
/**
* 多个数据异步分析时,完成其中一个时的回调事件
*/
endItem = "endItem",
/**
* 多个数据异步分析时,完成所有的回调事件
*/
end = "end",
/**
* 完成
*/
stop = "stop",
/**
* 完成加载,但未做任何其他处理前
*/
loadBefore = "loadBefore",
/**
* 完成加载,执行所有内部处理后
*/
load = "load",
/**
* 出错了
*/
error = "error",
/**
* 完成加载配置信息
*/
loadConfig = "loadConfig",
/**
* popup弹窗打开后
*/
popupOpen = "popupOpen",
/**
* popup弹窗关闭
*/
popupClose = "popupClose",
/**
* tooltip弹窗打开后
*/
tooltipOpen = "tooltipOpen",
/**
* tooltip弹窗关闭
*/
tooltipClose = "tooltipClose",
/**
* 右键菜单 打开后
*/
contextMenuOpen = "contextMenuOpen",
/**
* 右键菜单 关闭
*/
contextMenuClose = "contextMenuClose",
/**
* 右键菜单 单击某一项后
*/
contextMenuClick = "contextMenuClick",
/**
* highlight高亮后
*/
highlightOpen = "highlightOpen",
/**
* highlight关闭后
*/
highlightClose = "highlightClose",
/**
* 左键单击 鼠标事件
*/
click = "click",
/**
* 左键单击到矢量或模型数据时 鼠标事件
*/
clickGraphic = "clickGraphic",
/**
* 左键单击到wms或arcgis瓦片服务的对应矢量数据时
*/
clickTileGraphic = "clickTileGraphic",
/**
* 左键单击地图空白(未单击到矢量或模型数据)时 鼠标事件
*/
clickMap = "clickMap",
/**
* 左键双击 鼠标事件
*/
dblClick = "dblClick",
/**
* 左键鼠标按下 鼠标事件
*/
leftDown = "leftDown",
/**
* 左键鼠标按下后释放 鼠标事件
*/
leftUp = "leftUp",
/**
* 鼠标移动 鼠标事件
*/
mouseMove = "mouseMove",
/**
* 鼠标移动(拾取目标,并延迟处理) 鼠标事件
*/
mouseMoveTarget = "mouseMoveTarget",
/**
* 鼠标滚轮滚动 鼠标事件
*/
wheel = "wheel",
/**
* 右键单击 鼠标事件
*/
rightClick = "rightClick",
/**
* 右键鼠标按下 鼠标事件
*/
rightDown = "rightDown",
/**
* 右键鼠标按下后释放 鼠标事件
*/
rightUp = "rightUp",
/**
* 中键单击 鼠标事件
*/
middleClick = "middleClick",
/**
* 中键鼠标按下 鼠标事件
*/
middleDown = "middleDown",
/**
* 中键鼠标按下后释放 鼠标事件
*/
middleUp = "middleUp",
/**
* 在触摸屏上两指缩放开始 鼠标事件
*/
pinchStart = "pinchStart",
/**
* 在触摸屏上两指缩放结束 鼠标事件
*/
pinchEnd = "pinchEnd",
/**
* 在触摸屏上两指移动 鼠标事件
*/
pinchMove = "pinchMove",
/**
* 鼠标按下 [左中右3键都触发] 鼠标事件
*/
mouseDown = "mouseDown",
/**
* 鼠标按下后释放 [左中右3键都触发] 鼠标事件
*/
mouseUp = "mouseUp",
/**
* 鼠标移入 鼠标事件
*/
mouseOver = "mouseOver",
/**
* 鼠标移出 鼠标事件
*/
mouseOut = "mouseOut",
/**
* 按键按下 键盘事件
*/
keydown = "keydown",
/**
* 按键按下后释放 键盘事件
*/
keyup = "keyup",
/**
* 开始绘制 标绘事件
*/
drawStart = "drawStart",
/**
* 正在移动鼠标中,绘制过程中鼠标移动了点 标绘事件
*/
drawMouseMove = "drawMouseMove",
/**
* 绘制过程中增加了点 标绘事件
*/
drawAddPoint = "drawAddPoint",
/**
* 绘制过程中删除了最后一个点 标绘事件
*/
drawRemovePoint = "drawRemovePoint",
/**
* 创建完成 标绘事件
*/
drawCreated = "drawCreated",
/**
* 开始编辑 标绘事件
*/
editStart = "editStart",
/**
* 移动鼠标按下左键(LEFT_DOWN)标绘事件
*/
editMouseDown = "editMouseDown",
/**
* 正在移动鼠标中,正在编辑拖拽修改点中(MOUSE_MOVE) 标绘事件
*/
editMouseMove = "editMouseMove",
/**
* 编辑修改了点(LEFT_UP)标绘事件
*/
editMovePoint = "editMovePoint",
/**
* 编辑新增了点 标绘事件
*/
editAddPoint = "editAddPoint",
/**
* 编辑删除了点 标绘事件
*/
editRemovePoint = "editRemovePoint",
/**
* 图上编辑修改了相关style属性 标绘事件
*/
editStyle = "editStyle",
/**
* 停止编辑 标绘事件
*/
editStop = "editStop",
/**
* 标绘事件
*/
move = "move",
/**
* 3dtiles模型,模型瓦片初始化完成
* 该回调只执行一次
*/
initialTilesLoaded = "initialTilesLoaded",
/**
* 3dtiles模型,当前批次模型加载完成
* 该回调会执行多次,视角变化后重新加载一次完成后都会回调
*/
allTilesLoaded = "allTilesLoaded",
/**
* 栅格瓦片图层,添加单个瓦片,开始加载瓦片(请求前)
*/
addTile = "addTile",
/**
* 栅格瓦片图层,添加单个瓦片 加载瓦片完成
*/
addTileSuccess = "addTileSuccess",
/**
* 栅格瓦片图层,添加单个瓦片 加载瓦片出错了
*/
addTileError = "addTileError",
/**
* 栅格瓦片图层,移除单个瓦片
*/
removeTile = "removeTile",
/**
* 相机开启移动前 场景事件
*/
cameraMoveStart = "cameraMoveStart",
/**
* 相机移动完成后 场景事件
*/
cameraMoveEnd = "cameraMoveEnd",
/**
* 相机位置完成 场景事件
*/
cameraChanged = "cameraChanged",
/**
* 场景更新前 场景事件
*/
preUpdate = "preUpdate",
/**
* 场景更新后 场景事件
*/
postUpdate = "postUpdate",
/**
* 场景渲染前 场景事件
*/
preRender = "preRender",
/**
* 场景渲染后 场景事件
*/
postRender = "postRender",
/**
* 场景渲染失败(需要刷新页面)
*/
renderError = "renderError",
/**
* 场景模式(2D/3D/哥伦布)变换前 场景事件
*/
morphStart = "morphStart",
/**
* 完成场景模式(2D/3D/哥伦布)变换 场景事件
*/
morphComplete = "morphComplete",
/**
* 时钟跳动 场景事件
*/
clockTick = "clockTick",
/**
* 地形变化 事件
*/
terrainChange = "terrainChange",
/**
* 地形初始化加载layer.json失败 事件
*/
terrainLoadError = "terrainLoadError",
/**
* 地形初始化加载layer.json完成 事件
*/
terrainLoadSuccess = "terrainLoadSuccess",
/**
* 地图中瓦片加载进度变化 事件
*/
tileLoadProgress = "tileLoadProgress"
}
/**
* 矢量数据类型
*/
declare enum GraphicType {
label,
labelP,
point,
pointP,
billboard,
divBillboard,
fontBillboard,
billboardP,
model,
modelP,
modelC,
plane,
planeP,
box,
boxP,
circle,
circleP,
ellipse,
cylinder,
cylinderP,
coneTrack,
coneTrackP,
ellipsoid,
ellipsoidP,
polyline,
curve,
polylineP,
polylineSP,
polylineC,
polylineVolume,
polylineVolumeP,
path,
roamLine,
dynamicRoamLine,
corridor,
corridorP,
wall,
wallP,
polygon,
polygonP,
polygonC,
rectangle,
rectangleP,
frustum,
water,
waterC,
div,
divLightPoint,
divUpLabel,
divBoderLabel,
particleSystem,
video2D,
video3D,
flatBillboard,
lightCone,
scrollWall,
diffuseWall,
dynamicRiver,
road,
rectangularSensor,
pit,
tetrahedron,
distanceMeasure,
distanceSurfaceMeasure,
sectionMeasure,
areaMeasure,
areaSurfaceMeasure,
volumeMeasure,
heightMeasure,
heightTriangleMeasure,
angleMeasure,
attackArrow,
attackArrowPW,
attackArrowYW,
doubleArrow,
fineArrow,
fineArrowYW,
straightArrow,
lune,
sector,
regular,
isosTriangle,
closeVurve,
gatheringPlace,
camberRadar,
conicSensor,
rectSensor,
satelliteSensor,
satellite
}
/**
* SDK内部使用的一些图标配置,方便外部覆盖(建议Map构造前覆盖)。
* 如:默认右键菜单
*/
declare enum Icon {
/**
* 删除
*/
Delete = "fa fa-trash-o",
/**
* 查看此处坐标
*/
Coordinates = "fa fa-info-circle",
/**
* 查看当前视角
*/
CameraInfo = "fa fa-camera-retro",
/**
* 视角切换
*/
Camera = "fa fa-street-view",
/**
* 禁止进入地下
*/
UndergroundNo = "fa fa-ban",
/**
* 允许进入地下
*/
UndergroundYes = "fa fa-sort-amount-desc",
/**
* 绕此处环绕飞行
*/
RotatePointStart = "fa fa-retweet",
/**
* 关闭环绕飞行
*/
RotatePointStop = "fa fa-remove",
/**
* 移动到此处
*/
FlyToPoint = "fa fa-send-o",
/**
* 第一视角站到此处
*/
FirstPerspective = "fa fa-male",
/**
* 开启键盘漫游
*/
KeyboardRoamYes = "fa fa-keyboard-o",
/**
* 关闭键盘漫游
*/
KeyboardRoamNo = "fa fa-keyboard-o",
/**
* 跟踪锁定
*/
TrackedEntityYes = "fa fa-lock",
/**
* 取消锁定
*/
TrackedEntityNo = "fa fa-unlock-alt",
/**
* 三维模型
*/
Tileset = "fa fa-building-o",
/**
* 显示模型三角网
*/
TilesetWireframeYes = "fa fa-connectdevelop",
/**
* 关闭模型三角网
*/
TilesetWireframeNo = "fa fa-connectdevelop",
/**
* 显示模型包围盒
*/
TilesetBoundingVolumeYes = "fa fa-codepen",
/**
* 关闭模型包围盒
*/
TilesetBoundingVolumeNo = "fa fa-codepen",
/**
* 地形服务
*/
Terrain = "fa fa-globe",
/**
* 开启地形
*/
TerrainYes = "fa fa-medium",
/**
* 关闭地形
*/
TerrainNo = "fa fa-medium",
/**
* 显示地形三角网
*/
TerrainWireframeYes = "fa fa-connectdevelop",
/**
* 关闭地形三角网
*/
TerrainWireframeNo = "fa fa-connectdevelop",
/**
* 图上量算
*/
Measure = "fa fa-share-alt",
/**
* 距离
*/
MeasureDistance = "fa fa-minus",
/**
* 面积
*/
MeasureArea = "fa fa-medium",
/**
* 高度差
*/
MeasureHeight = "fa fa-sort-amount-asc",
/**
* 角度
*/
MeasureAngle = "fa fa-road",
/**
* 图上标记
*/
Draw = "fa fa-eyedropper",
/**
* 标记点
*/
DrawPoint = "fa fa-map-marker",
/**
* 标记线
*/
DrawPolyline = "fa fa-reorder",
/**
* 标记面
*/
DrawPolygon = "fa fa-medium",
/**
* 标记圆
*/
DrawCircle = "fa fa-genderless",
/**
* 标记矩形
*/
DrawRectangle = "fa fa-retweet",
/**
* 允许编辑
*/
DrawEditYes = "fa fa-pencil",
/**
* 禁止编辑
*/
DrawEditNo = "fa fa-pencil-square",
/**
* 导出GeoJSON
*/
DrawDownJson = "fa fa-file-text-o",
/**
* 特效效果
*/
Effect = "fa fa-rss",
/**
* 开启下雨
*/
RainEffectYes = "fa fa-tint",
/**
* 关闭下雨
*/
RainEffectNo = "fa fa-tint",
/**
* 开启下雪
*/
SnowEffectYes = "fa fa-yelp",
SnowEffectNo = "fa fa-yelp",
/**
* 开启雾天气
*/
FogEffectYes = "fa fa-spinner",
/**
* 关闭雾天气
*/
FogEffectNo = "fa fa-spinner",
/**
* 开启泛光
*/
BloomEffectYes = "fa fa-bullseye",
/**
* 关闭泛光
*/
BloomEffectNo = "fa fa-bullseye",
/**
* 开启亮度
*/
BrightnessEffectYes = "fa fa-trello",
/**
* 关闭亮度
*/
BrightnessEffectNo = "fa fa-trello",
/**
* 开启夜视
*/
NightVisionEffectYes = "fa fa-dashboard",
/**
* 关闭夜视
*/
NightVisionEffectNo = "fa fa-dashboard",
/**
* 开启黑白
*/
BlackAndWhiteEffectYes = "fa fa-star-half-full",
/**
* 关闭黑白
*/
BlackAndWhiteEffectNo = "fa fa-star-half-full",
/**
* 开启拾取高亮
*/
OutlineEffectYes = "fa fa-ticket",
/**
* 关闭拾取高亮
*/
OutlineEffectNo = "fa fa-ticket",
/**
* 场景设置
*/
Scene = "fa fa-gear",
/**
* 开启深度监测
*/
DepthTestYes = "fa fa-eye-slash",
/**
* 关闭深度监测
*/
DepthTestNo = "fa fa-eye",
/**
* 显示星空背景
*/
SkyBoxYes = "fa fa-moon-o",
/**
* 关闭星空背景
*/
SkyBoxNo = "fa fa-moon-o",
/**
* 开启日照阴影
*/
ShadowYes = "fa fa-sun-o",
/**
* 关闭日照阴影
*/
ShadowNo = "fa fa-sun-o",
/**
* 开启大气渲染
*/
SkyAtmosphereYes = "fa fa-soundcloud",
/**
* 关闭大气渲染
*/
SkyAtmosphereNo = "fa fa-soundcloud",
/**
* 场景出图
*/
ExpImage = "fa fa-download"
}
/**
* 多语种文本配置,
* 值为数组,对应{@link LangType}按照固定顺序排列,如:[中文简体,中文繁體,English]
* @example
* mars3d.Lang["_单击开始绘制"][mars3d.LangType.ZH] ="新的中文提示语句";
*/
declare enum Lang {
"_放大" = "[\"\u653E\u5927\",\"\u653E\u5927\",\"Zoom In\"]",
"_缩小" = "[\"\u7F29\u5C0F\",\"\u7E2E\u5C0F\",\"Zoom Out\"]",
"_查看此处坐标" = "[\"\u67E5\u770B\u6B64\u5904\u5750\u6807\",\"\u67E5\u770B\u6B64\u8655\u5750\u6A19\",\"Location info\"]",
"_位置信息" = "[\"\u4F4D\u7F6E\u4FE1\u606F\",\"\u4F4D\u7F6E\u4FE1\u606F\",\"The location information\"]",
"_经度" = "[\"\u7ECF\u5EA6\",\"\u7D93\u5EA6\",\"Lon\"]",
"_纬度" = "[\"\u7EAC\u5EA6\",\"\u7DEF\u5EA6\",\"Lat\"]",
"_海拔" = "[\"\u9AD8\u7A0B\",\"\u9AD8\u7A0B\",\"Alt\"]",
"_横坐标" = "[\"\u6A2A\u5750\u6807\",\"\u6A6B\u5750\u6A19\",\"X\"]",
"_纵坐标" = "[\"\u7EB5\u5750\u6807\uFF1A\",\"\u7E31\u5750\u6A19\",\"Y\"]",
"_查看当前视角" = "[\"\u67E5\u770B\u5F53\u524D\u89C6\u89D2\",\"\u67E5\u770B\u7576\u524D\u8996\u89D2\",\"Camera info\"]",
"_当前视角信息" = "[\"\u5F53\u524D\u89C6\u89D2\u4FE1\u606F\",\"\u7576\u524D\u8996\u89D2\u4FE1\u606F\",\"Current Camera Information\"]",
"_视角切换" = "[\"\u89C6\u89D2\u5207\u6362\",\"\u8996\u89D2\u5207\u63DB\",\"Camera\"]",
"_禁止进入地下" = "[\"\u7981\u6B62\u8FDB\u5165\u5730\u4E0B\",\"\u7981\u6B62\u9032\u5165\u5730\u4E0B\",\"Do not go underground\"]",
"_允许进入地下" = "[\"\u5141\u8BB8\u8FDB\u5165\u5730\u4E0B\",\"\u5141\u8A31\u9032\u5165\u5730\u4E0B\",\"Access to the ground\"]",
"_绕此处环绕飞行" = "[\"\u7ED5\u6B64\u5904\u73AF\u7ED5\u98DE\u884C\",\"\u7E5E\u6B64\u8655\u74B0\u7E5E\u98DB\u884C\",\"Fly around here\"]",
"_关闭环绕飞行" = "[\"\u5173\u95ED\u73AF\u7ED5\u98DE\u884C\",\"\u95DC\u9589\u74B0\u7E5E\u98DB\u884C\",\"Close off circling\"]",
"_移动到此处" = "[\"\u79FB\u52A8\u5230\u6B64\u5904\",\"\u79FB\u52D5\u5230\u6B64\u8655\",\"Move it over here\"]",
"_第一视角站到此处" = "[\"\u7B2C\u4E00\u89C6\u89D2\u7AD9\u5230\u6B64\u5904\",\"\u7B2C\u4E00\u8996\u89D2\u7AD9\u5230\u6B64\u8655\",\"First view is here\"]",
"_开启键盘漫游" = "[\"\u5F00\u542F\u952E\u76D8\u6F2B\u6E38\",\"\u958B\u5553\u9375\u76E4\u6F2B\u904A\",\"Enable keyboard roaming\"]",
"_关闭键盘漫游" = "[\"\u5173\u95ED\u952E\u76D8\u6F2B\u6E38\",\"\u95DC\u9589\u9375\u76E4\u6F2B\u904A\",\"Turn off keyboard roaming\"]",
"_跟踪锁定" = "[\"\u8DDF\u8E2A\u9501\u5B9A\",\"\u8DDF\u8E2A\u9396\u5B9A\",\"TrackedEntity\"]",
"_取消锁定" = "[\"\u53D6\u6D88\u9501\u5B9A\",\"\u53D6\u6D88\u9396\u5B9A\",\"Unlocked\"]",
"_三维模型" = "[\"\u4E09\u7EF4\u6A21\u578B\",\"\u4E09\u7DAD\u6A21\u578B\",\"3DTiles\"]",
"_显示三角网" = "[\"\u663E\u793A\u4E09\u89D2\u7F51\",\"\u986F\u793A\u4E09\u89D2\u7DB2\",\"Display Wireframe\"]",
"_关闭三角网" = "[\"\u5173\u95ED\u4E09\u89D2\u7F51\",\"\u95DC\u9589\u4E09\u89D2\u7DB2\",\"Close Wireframe\"]",
"_显示包围盒" = "[\"\u663E\u793A\u5305\u56F4\u76D2\",\"\u986F\u793A\u5305\u570D\u76D2\",\"Display BoundingVolume\"]",
"_关闭包围盒" = "[\"\u5173\u95ED\u5305\u56F4\u76D2\",\"\u95DC\u9589\u5305\u570D\u76D2\",\"Close BoundingVolume\"]",
"_地形服务" = "[\"\u5730\u5F62\u670D\u52A1\",\"\u5730\u5F62\u670D\u52D9\",\"Terrain\"]",
"_开启地形" = "[\"\u5F00\u542F\u5730\u5F62\",\"\u986F\u793A\u5730\u5F62\",\"Open terrain\"]",
"_关闭地形" = "[\"\u5173\u95ED\u5730\u5F62\",\"\u95DC\u9589\u5730\u5F62\",\"Close terrain\"]",
"_图上标记" = "[\"\u56FE\u4E0A\u6807\u8BB0\",\"\u5716\u4E0A\u6A19\u8A18\",\"Drawing\"]",
"_标记点" = "[\"\u6807\u8BB0\u70B9\",\"\u6A19\u8A18\u9EDE\",\"Mark points\"]",
"_标记线" = "[\"\u6807\u8BB0\u7EBF\",\"\u6A19\u8A18\u7DDA\",\"Tag line\"]",
"_标记面" = "[\"\u6807\u8BB0\u9762\",\"\u6A19\u8A18\u9762\",\"Mark surface\"]",
"_标记圆" = "[\"\u6807\u8BB0\u5706\",\"\u6A19\u8A18\u5713\",\"Mark round\"]",
"_标记矩形" = "[\"\u6807\u8BB0\u77E9\u5F62\",\"\u6A19\u8A18\u77E9\u5F62\",\"Mark rectangular\"]",
"_允许编辑" = "[\"\u5141\u8BB8\u7F16\u8F91\",\"\u5141\u8A31\u7DE8\u8F2F\",\"Allowed to edit\"]",
"_禁止编辑" = "[\"\u7981\u6B62\u7F16\u8F91\",\"\u7981\u6B62\u7DE8\u8F2F\",\"Prohibit to edit\"]",
"_导出GeoJSON" = "[\"\u5BFC\u51FAGeoJSON\",\"\u5C0E\u51FAGeoJSON\",\"Export GeoJSON\"]",
"_清除所有标记" = "[\"\u6E05\u9664\u6240\u6709\u6807\u8BB0\",\"\u6E05\u9664\u6240\u6709\u6A19\u8A18\",\"Clear\"]",
"_特效效果" = "[\"\u7279\u6548\u6548\u679C\",\"\u7279\u6548\u6548\u679C\",\"Effects\"]",
"_开启下雨" = "[\"\u5F00\u542F\u4E0B\u96E8\",\"\u958B\u5553\u4E0B\u96E8\",\"Enable rain\"]",
"_关闭下雨" = "[\"\u5173\u95ED\u4E0B\u96E8\",\"\u95DC\u9589\u4E0B\u96E8\",\"Close rain\"]",
"_开启下雪" = "[\"\u5F00\u542F\u4E0B\u96EA\",\"\u958B\u5553\u4E0B\u96EA\",\"Enable snow\"]",
"_关闭下雪" = "[\"\u5173\u95ED\u4E0B\u96EA\",\"\u95DC\u9589\u4E0B\u96EA\",\"Close snow\"]",
"_开启雾天气" = "[\"\u5F00\u542F\u96FE\u5929\u6C14\",\"\u958B\u5553\u9727\u5929\u6C23\",\"Enable fog\"]",
"_关闭雾天气" = "[\"\u5173\u95ED\u96FE\u5929\u6C14\",\"\u95DC\u9589\u9727\u5929\u6C23\",\"Close fog\"]",
"_开启泛光" = "[\"\u5F00\u542F\u6CDB\u5149\",\"\u958B\u5553\u6CDB\u5149\",\"Enable bloom\"]",
"_关闭泛光" = "[\"\u5173\u95ED\u6CDB\u5149\",\"\u95DC\u9589\u6CDB\u5149\",\"Close bloom\"]",
"_开启亮度" = "[\"\u5F00\u542F\u4EAE\u5EA6\",\"\u958B\u5553\u4EAE\u5EA6\",\"Enable brightness\"]",
"_关闭亮度" = "[\"\u5173\u95ED\u4EAE\u5EA6\",\"\u95DC\u9589\u4EAE\u5EA6\",\"Close brightness\"]",
"_开启夜视" = "[\"\u5F00\u542F\u591C\u89C6\",\"\u958B\u5553\u591C\u8996\",\"Enable night vision\"]",
"_关闭夜视" = "[\"\u5173\u95ED\u591C\u89C6\",\"\u95DC\u9589\u591C\u8996\",\"Close night vision\"]",
"_开启黑白" = "[\"\u5F00\u542F\u9ED1\u767D\",\"\u958B\u5553\u9ED1\u767D\",\"Enable black and white\"]",
"_关闭黑白" = "[\"\u5173\u95ED\u9ED1\u767D\",\"\u95DC\u9589\u9ED1\u767D\",\"Close black and white\"]",
"_开启拾取高亮" = "[\"\u5F00\u542F\u62FE\u53D6\u9AD8\u4EAE\",\"\u958B\u5553\u62FE\u53D6\u9AD8\u4EAE\",\"Enable Pick highlighted\"]",
"_关闭拾取高亮" = "[\"\u5173\u95ED\u62FE\u53D6\u9AD8\u4EAE\",\"\u95DC\u9589\u62FE\u53D6\u9AD8\u4EAE\",\"Close Pick highlighted\"]",
"_场景设置" = "[\"\u573A\u666F\u8BBE\u7F6E\",\"\u5834\u666F\u8A2D\u7F6E\",\"Scene\"]",
"_开启深度监测" = "[\"\u5F00\u542F\u6DF1\u5EA6\u76D1\u6D4B\",\"\u958B\u5553\u6DF1\u5EA6\u76E3\u6E2C\",\"Enable depth test against terrain\"]",
"_关闭深度监测" = "[\"\u5173\u95ED\u6DF1\u5EA6\u76D1\u6D4B\",\"\u95DC\u9589\u6DF1\u5EA6\u76E3\u6E2C\",\"Close depth test against terrain\"]",
"_显示星空背景" = "[\"\u663E\u793A\u661F\u7A7A\u80CC\u666F\",\"\u986F\u793A\u661F\u7A7A\u80CC\u666F\",\"Enable skyBox\"]",
"_关闭星空背景" = "[\"\u5173\u95ED\u661F\u7A7A\u80CC\u666F\",\"\u95DC\u9589\u661F\u7A7A\u80CC\u666F\",\"Close skyBox\"]",
"_开启日照阴影" = "[\"\u5F00\u542F\u65E5\u7167\u9634\u5F71\",\"\u958B\u5553\u65E5\u7167\u9670\u5F71\",\"Enable shadow\"]",
"_关闭日照阴影" = "[\"\u5173\u95ED\u65E5\u7167\u9634\u5F71\",\"\u95DC\u9589\u65E5\u7167\u9670\u5F71\",\"Close shadow\"]",
"_开启大气渲染" = "[\"\u5F00\u542F\u5927\u6C14\u6E32\u67D3\",\"\u958B\u5553\u5927\u6C23\u6E32\u67D3\",\"Enable sky atmosphere\"]",
"_关闭大气渲染" = "[\"\u5173\u95ED\u5927\u6C14\u6E32\u67D3\",\"\u95DC\u9589\u5927\u6C23\u6E32\u67D3\",\"Close sky atmosphere\"]",
"_场景出图" = "[\"\u573A\u666F\u51FA\u56FE\",\"\u5834\u666F\u51FA\u5716\",\"Export image\"]",
"_图上量算" = "[\"\u56FE\u4E0A\u91CF\u7B97\",\"\u5716\u4E0A\u91CF\u7B97\",\"Measure\"]",
"_删除测量" = "[\"\u5220\u9664\u6D4B\u91CF\",\"\u522A\u9664\u6E2C\u91CF\",\"Delete\"]",
"_角度" = "[\"\u89D2\u5EA6\",\"\u89D2\u5EA6\",\"Angle\"]",
"_距离" = "[\"\u8DDD\u79BB\",\"\u8DDD\u96E2\",\"Distance\"]",
"_面积" = "[\"\u9762\u79EF\",\"\u9762\u7A4D\",\"Area\"]",
"_总长" = "[\"\u603B\u957F\",\"\u7E3D\u9577\",\"Total distance\"]",
"_起点" = "[\"\u8D77\u70B9\",\"\u8D77\u9EDE\",\"Start\"]",
"_高度差" = "[\"\u9AD8\u5EA6\u5DEE\",\"\u9AD8\u5EA6\u5DEE\",\"Height difference\"]",
"_空间距离" = "[\"\u7A7A\u95F4\u8DDD\u79BB\",\"\u7A7A\u9593\u8DDD\u96E2\",\"Space distance\"]",
"_水平距离" = "[\"\u6C34\u5E73\u8DDD\u79BB\",\"\u6C34\u5E73\u8DDD\u96E2\",\"Horizontal distance\"]",
"_正在计算体积" = "[\"\u6B63\u5728\u8BA1\u7B97\u4F53\u79EF\",\"\u6B63\u5728\u8A08\u7B97\u9AD4\u7A4D\",\"Calculating volume\"]",
"_填方体积" = "[\"\u586B\u65B9\u4F53\u79EF\",\"\u586B\u65B9\u9AD4\u7A4D\",\"The volume of fill\"]",
"_挖方体积" = "[\"\u6316\u65B9\u4F53\u79EF\",\"\u6316\u65B9\u9AD4\u7A4D\",\"Excavation volume\"]",
"_横切面积" = "[\"\u6A2A\u5207\u9762\u79EF\",\"\u6A6B\u5207\u9762\u7A4D\",\"Crosscutting area\"]",
"_面上" = "[\"\u9762\u4E0A\",\"\u9762\u4E0A\",\"Up\"]",
"_面下" = "[\"\u9762\u4E0B\",\"\u9762\u4E0B\",\"Down\"]",
"_米" = "[\"\u7C73\",\"\u7C73\",\"m\"]",
"_公里" = "[\"\u516C\u91CC\",\"\u516C\u88CF\",\"km\"]",
"_海里" = "[\"\u6D77\u91CC\",\"\u6D77\u88CF\",\"mile\"]",
"_丈" = "[\"\u4E08\",\"\u4E08\",\"zhang\"]",
"_平方米" = "[\"\u5E73\u65B9\u7C73\",\"\u5E73\u65B9\u7C73\",\"m\u00B2\"]",
"_平方公里" = "[\"\u5E73\u65B9\u516C\u91CC\",\"\u5E73\u65B9\u516C\u88CF\",\"km\u00B2\"]",
"_亩" = "[\"\u4EA9\",\"\u755D\",\"mu\"]",
"_公顷" = "[\"\u516C\u9877\",\"\u516C\u9803\",\"ha\"]",
"_立方米" = "[\"\u65B9\",\"\u65B9\",\"m\u00B3\"]",
"_万立方米" = "[\"\u4E07\u65B9\",\"\u4E07\u65B9\",\"wm\u00B3\"]",
"_单击开始绘制" = "[\"\u5355\u51FB\u5F00\u59CB\u7ED8\u5236\",\"\u55AE\u64CA\u958B\u59CB\u7E6A\u5236\",\"Click to start drawing\"]",
"_单击完成绘制" = "[\"\u5355\u51FB\u5B8C\u6210\u7ED8\u5236\",\"\u55AE\u64CA\u5B8C\u6210\u7E6A\u5236\",\"Click to finish drawing\"]",
"_双击完成绘制" = "[\"\u53CC\u51FB\u5B8C\u6210\u7ED8\u5236\",\"\u96D9\u64CA\u5B8C\u6210\u7E6A\u5236\",\"Double click to finish drawing\"]",
"_单击增加点" = "[\"\u5355\u51FB\u589E\u52A0\u70B9\",\"\u55AE\u64CA\u589E\u52A0\u9EDE\",\"left click add point\"]",
"_右击删除点" = "[\"\u53F3\u51FB\u5220\u9664\u70B9\",\"\u53F3\u64CA\u522A\u9664\u9EDE\",\"right click delete point\"]",
"_单击后激活编辑" = "[\"\u5355\u51FB\u540E\u6FC0\u6D3B\u7F16\u8F91\",\"\u55AE\u64CA\u5F8C \u6FC0\u6D3B\u7DE8\u8F2F\",\"Click to activate editing\"]",
"_右击菜单删除" = "[\"\u53F3\u51FB\u83DC\u5355\u5220\u9664\",\"\u53F3\u64CA\u83DC\u55AE\u522A\u9664\",\"Right click menu to delete\"]",
"_更多功能请右击" = "[\"\u66F4\u591A\u529F\u80FD\u8BF7\u53F3\u51FB\",\"\u66F4\u591A\u529F\u80FD\u8ACB\u53F3\u64CA\",\"For more functions, right click\"]",
"_释放后完成修改" = "[\"\u91CA\u653E\u540E\u5B8C\u6210\u4FEE\u6539\",\"\u91CB\u653E\u5F8C\u5B8C\u6210\u4FEE\u6539\",\"Complete the modification after release\"]",
"_该对象不允许编辑" = "[\"\u8BE5\u5BF9\u8C61\u4E0D\u5141\u8BB8\u7F16\u8F91\",\"\u8A72\u5C0D\u8C61\u4E0D\u5141\u8A31\u7DE8\u8F2F\",\"This object does not allow editing\"]",
"_拖动该点后" = "[\"\u62D6\u52A8\u8BE5\u70B9\u540E\",\"\u62D6\u52D5\u8A72\u9EDE\u5F8C\",\"Drag that point\"]",
"_拖动对象后" = "[\"\u62D6\u52A8\u5BF9\u8C61\u540E\",\"\u62D6\u52D5\u5C0D\u8C61\u5F8C\",\"Drag that object\"]",
"_修改位置" = "[\"\u4FEE\u6539\u4F4D\u7F6E\",\"\u4FEE\u6539\u4F4D\u7F6E\",\"Modify the position\"]",
"_整体平移" = "[\"\u6574\u4F53\u5E73\u79FB\",\"\u6574\u9AD4\u5E73\u79FB\",\"The overall translation\"]",
"_增加点" = "[\"\u589E\u52A0\u70B9\",\"\u589E\u52A0\u9EDE\",\"Add point\"]",
"_修改高度" = "[\"\u4FEE\u6539\u9AD8\u5EA6\",\"\u4FEE\u6539\u9AD8\u5EA6\",\"Modify the height\"]",
"_修改半径" = "[\"\u4FEE\u6539\u534A\u5F84\",\"\u4FEE\u6539\u534A\u5F91\",\"Modify the radius\"]",
"_修改长度" = "[\"\u4FEE\u6539\u957F\u5EA6(X\u65B9\u5411)\",\"\u4FEE\u6539\u9577\u5EA6(X\u65B9\u5411)\",\"Modify the length(X direction )\"]",
"_修改宽度" = "[\"\u4FEE\u6539\u5BBD\u5EA6(Y\u65B9\u5411)\",\"\u4FEE\u6539\u5BEC\u5EA6(Y\u65B9\u5411)\",\"Change the width(Y direction)\"]",
"_修改方向" = "[\"\u4FEE\u6539\u65B9\u5411\",\"\u4FEE\u6539\u65B9\u5411\",\"Change direction\"]",
"_修改缩放比例" = "[\"\u4FEE\u6539\u7F29\u653E\u6BD4\u4F8B\",\"\u4FEE\u6539\u7E2E\u653E\u6BD4\u4F8B\",\"Modify the Scale\"]",
"_无法删除不能少于最小点数" = "[\"\u65E0\u6CD5\u5220\u9664\uFF0C\u70B9\u6570\u91CF\u4E0D\u80FD\u5C11\u4E8E\",\"\u7121\u6CD5\u522A\u9664\uFF0C\u9EDE\u6578\u91CF\u4E0D\u80FD\u5C11\u4E8E\",\"Cannot delete, the number of dots cannot be less than\"]",
"_删除" = "[\"\u5220\u9664\",\"\u522A\u9664\",\"Delete\"]",
"_加载模型中" = "[\"\u52A0\u8F7D\u6A21\u578B\u4E2D\u2026\",\"\u52A0\u8F7D\u6A21\u578B\u4E2D\u2026\",\"Load Model\u2026\"]"
}
/**
* 语言类型 枚举
*/
declare enum LangType {
/**
* 简体中文
*/
ZH = 0,
/**
* 繁体中文(香港、台湾等地区)
*/
ZHHK = 1,
/**
* English英文 en
*/
EN = 2
}
/**
* 图层类型
*/
declare enum LayerType {
tdt,
baidu,
gaode,
tencent,
osm,
google,
bing,
mapbox,
ion,
image,
xyz,
arcgis,
arcgis_tile,
arcgis_cache,
wms,
wmts,
tms,
gee,
tileinfo,
grid,
terrain,
group,
graphic,
graphicGroup,
geojson,
lodGraphic,
wfs,
arcgis_wfs,
arcgis_wfs_single,
tileset或3dtiles,
czmGeojson,
kml,
czml,
graticule,
gaodePOI,
osmBuildings,
tdt_dm,
supermap_s3m,
supermap_img,
supermap_mvt,
mapv,
echarts,
heat,
canvasWind,
wind
}
/**
* 材质 类型枚举
* @example
* //Entity矢量对象
* let graphic = new mars3d.graphic.PolylineEntity({
* positions: [
* [117.169646, 31.769171],
* [117.194579, 31.806466],
* ],
* style: {
* width: 5,
* material: mars3d.MaterialUtil.createMaterialProperty(mars3d.MaterialType.LineFlow, {
* color: '#00ff00',
* image: 'img/textures/line-pulse.png',
* speed: 5,
* }),
* },
* })
* graphicLayer.addGraphic(graphic)
*
* //Primitive矢量对象
* let primitive = new mars3d.graphic.PolylinePrimitive({
* positions: [
* [117.348938, 31.805369, 7.63],
* [117.429496, 31.786715, 8.41],
* ],
* style: {
* width: 5,
* material: mars3d.MaterialUtil.createMaterial(mars3d.MaterialType.LineFlow, {
* color: '#1a9850',
* image: 'img/textures/line-arrow.png',
* speed: 10,
* }),
* },
* })
* graphicLayer.addGraphic(primitive)
*/
declare namespace MaterialType {
/**
* 通用:纯色颜色 ,也是默认的材质
* @property [color = Cesium.Color.WHITE] - 颜色
*/
const Color: string;
/**
* 线:虚线
* @property [color = Cesium.Color.WHITE] - 颜色
* @property [gapColor = Cesium.Color.TRANSPARENT] - 虚线间隔颜色,默认为透明
* @property [dashLength = 16.0] - 虚线间隔长度,以像素为单位
* @property [dashPattern = 255.0] - 指定的16位模式
*/
const PolylineDash: string;
/**
* 线:衬色线
* @property [color = Cesium.Color.WHITE] - 主颜色
* @property [outlineColor = Cesium.Color.BLACK] - 衬色颜色
* @property [outlineWidth = 1.0] - 衬色宽度,以像素为单位
*/
const PolylineOutline: string;
/**
* 线:箭头
* @property [color = Cesium.Color.WHITE] - 颜色
*/
const PolylineArrow: string;
/**
* 线:高亮线
* @property [color = Cesium.Color.WHITE] - 颜色
* @property [glowPower = 0.25] - 高亮强度,占总线宽的百分比表示。
* @property [taperPower = 1.0] - 渐变效果强度,占总行长的百分比表示。如果1.0或更高,则不使用锥度效应。
*/
const PolylineGlow: string;
/**
* 线状: 流动图片(适用于线和墙)
* @property image - 背景图片URL
* @property [color = new Cesium.Color(1, 0, 0, 1.0)] - 背景图片颜色
* @property [repeat = new Cesium.Cartesian2(1.0, 1.0)] - 横纵方向重复次数
* @property [speed = 10] - 速度,值越大越快
* @property [axisY = false] - 是否Y轴朝上
* @property [hasImage2 = false] - 是否有2张图片的混合模式
* @property [image2 = Cesium.Material.DefaultImageId] - 第2张背景图片URL地址
* @property [color2 = new Cesium.Color(1, 1, 1)] - 第2张背景图片颜色
*/
const LineFlow: string;
/**
* 线状: 流动颜色
* @property [color = new Cesium.Color(1, 0, 0, 1.0)] - 颜色
* @property [speed = 2] - 速度,值越大越快
* @property [percent = 0.04] - 比例
* @property [alpha = 0.1] - 透明程度 0.0-1.0
* @property [startTime = 0] - 开始的时间
*/
const LineFlowColor: string;
/**
* 线状: OD线
* @property [color = new Cesium.Color(1, 0, 0, 1.0)] - 运动对象的颜色
* @property [bgColor] - 线的背景颜色
* @property [speed = 20] - 速度,值越大越快
* @property [startTime = 0] - 开始的时间
* @property [bidirectional = 0] - 运行形式,可选值:0 正向运动 1 反向运动 2 双向运动
*/
const ODLine: string;
/**
* 线状: 闪烁线
* @property [color = new Cesium.Color(1.0, 0.0, 0.0, 0.7)] - 线颜色
* @property [speed = 10] - 速度,值越大越快
*/
const LineFlicker: string;
/**
* 线状: 轨迹线
* @property [color = new Cesium.Color(1.0, 0.0, 0.0, 0.7)] - 线颜色
* @property [speed = 5.0] - 速度,值越大越快
*/
const LineTrail: string;
/**
* 线状: 泛光线
* @property [color = Cesium.Color.ORANGE] - 泛光颜色
* @property [glow = 1.0] - 泛光强度
* @property [speed = 5.0] - 速度,值越大越快
*/
const LineBloom: string;
/**
* 线状: 数字流动线
* @property image - 背景图片URL
* @property [color = new Cesium.Color(1, 0, 0, 1.0)] - 背景图片颜色
* @property [speed = 10] - 速度,值越大越快
* @property [glow = 10.0] - 高亮强度
* @property [flowGlow = 1.0] - 流动高亮强度
* @property [segment = 3.0] - 分段数
*/
const DigitalFlow: string;
/**
* 墙体: 走马灯效果
* @property [image = Cesium.Material.DefaultImageId] - 背景图片URL
* @property [color = new Cesium.Color(1.0, 0.0, 0.0, 0.7)] - 颜色
* @property [count = 1] - 数量
* @property [speed = 5.0] - 速度,值越大越快
* @property [reverse = false] - 方向往上,false是往下,true是往上
* @property [bloom = false] - 是否泛光
* @property [axisY = false] - 是否Y轴朝上
*/
const WallScroll: string;
/**
* 面状:图片
* @property image - 图片对象或图片地址
* @property [repeat = new Cesium.Cartesian2(1.0, 1.0)] - 指定图像在每个方向上重复的次数
* @property [color = Cesium.Color.WHITE] - 应用于图像的颜色,也可以使用白色来控制透明度
* @property [transparent = false] - 当图像具有透明度时设置为true (例如当png具有透明部分时)
*/
const Image: string;
/**
* 面状:图片2 (没有加载完成前的白色闪烁,但也不支持纯白色的图片)
* @property image - 图片对象或图片地址
* @property [opacity = 1.0] - 透明度
* @property [color = Cesium.Color.WHITE] - 颜色
*/
const Image2: string;
/**
* 面状: 文字贴图
* @property text - 文本内容
* @property [font_family = "楷体"] - 字体, 可选项:微软雅黑,宋体,楷体,隶书,黑体 等
* @property [font_size = 30] - 字体大小
* @property [font_weight = "normal"] - 是否加粗, 可选项:bold (解释:是),normal (解释:否)
* @property [font_style = "normal"] - 是否斜体, 可选项:italic (解释:是),normal (解释:否)
* @property [font = '30px normal normal 楷体'] - 上叙4个属性的一次性指定CSS字体的属性
* @property [color = new Cesium.Color(1.0, 1.0, 0.0, 1.0)] - 文本颜色
* @property [stroke = true] - 是否描边文本
* @property [strokeColor = new Cesium.Color(1.0, 1.0, 1.0, 0.8)] - 描边的颜色
* @property [strokeWidth = 2] - 描边的宽度
* @property [backgroundColor = new Cesium.Color(1.0, 1.0, 1.0, 0.1)] - 画布的背景色
* @property [padding = 10] - 要在文本周围添加的填充的像素大小
* @property [textBaseline = 'top'] - 文本的基线
*/
const Text: string;
/**
* 面状:网格
* @property [color = Cesium.Color.WHITE] - 网格颜色
* @property [cellAlpha = 0.1] - 填充透明度
* @property [lineCount = new Cesium.Cartesian2(8, 8)] - 网格线的数量
* @property [lineThickness = new Cesium.Cartesian2(1.0, 1.0)] - 网格宽度
* @property [lineOffset = new Cesium.Cartesian2(0.0, 0.0)] - 偏移量,沿每个轴的起始偏移量
*/
const Grid: string;
/**
* 面状:棋盘
* @property [evenColor = Cesium.Color.WHITE] - 主色
* @property [oddColor = Cesium.Color.BLACK] - 衬色,棋盘中另外一个颜色
* @property [repeat = new Cesium.Cartesian2(2.0, 2.0)] - 数量,在每个方向重复的次数
*/
const Checkerboard: string;
/**
* 面状:条纹
* @property [evenColor = Cesium.Color.WHITE] - 主色
* @property [oddColor = Cesium.Color.BLACK] - 衬色,条纹中另外一个颜色
* @property [repeat = 1] - 数量,条纹重复的次数
* @property [orientation = Cesium.StripeOrientation.HORIZONTAL] - 条纹方向,横向还是纵向
* @property [offset = 0] - 起始位置
*/
const Stripe: string;
/**
* 面状: 渐变面
* @property [color = new Cesium.Color(1.0, 1.0, 0.0, 0.5)] - 颜色
* @property [alphaPower = 1.5] - 透明度系数
* @property [diffusePower = 1.6] - 漫射系数
* @property [center = new Cesium.Cartesian2(0.5, 0.5)] - 渐变位置,默认在中心
*/
const PolyGradient: string;
/**
* 面状: 柏油路面效果
* @property [color = new Cesium.Color(0.15, 0.15, 0.15, 1.0)] - 沥青的颜色
* @property [size = 0.02] - 块大小
* @property [frequency = 0.2] - 粗糙度
*/
const PolyAsphalt: string;
/**
* 面状:混合
* @property [evenColor = new Cesium.Color(1.0, 1.0, 1.0, 0.5)] - 浅色的颜色
* @property [oddColor = new Cesium.Color(0.0, 0.0, 1.0, 0.5)] - 深色的颜色
* @property [frequency = 10.0] - 频率
*/
const PolyBlob: string;
/**
* 面状:碎石面
* @property [evenColor = new Cesium.Color(0.25, 0.25, 0.25, 0.75)] - 浅色的颜色
* @property [oddColor = new Cesium.Color(0.75, 0.75, 0.75, 0.75)] - 深色的颜色
* @property [frequency = 10.0] - 频率
*/
const PolyFacet: string;
/**
* 面状:草地面
* @property [evenColor = new Cesium.Color(0.25, 0.4, 0.1, 1.0)] - 草地的颜色
* @property [oddColor = new Cesium.Color(0.1, 0.1, 0.1, 1.0)] - 泥土的颜色
* @property [frequency = 1.5] - 斑块分布
*/
const PolyGrass: string;
/**
* 面状:木材面
* @property [evenColor = new Cesium.Color(0.6, 0.3, 0.1, 1.0)] - 浅色的颜色
* @property [oddColor = new Cesium.Color(0.4, 0.2, 0.07, 1.0)] - 深色的颜色
* @property [frequency = 3.0] - 环频率
* @property [noiseScale = new Cesium.Cartesian2(0.7, 0.5)] - 噪波比例
* @property [grainFrequency = 27.0] - 颗粒的频率
*/
const PolyWood: string;
/**
* 面状: 霓虹灯材质
* @property [color = new Cesium.Color(2, 1, 0.0, 0.8)] - 颜色
* @property [repeat = 30] - 圈数量
* @property [frameRate = 60] - 每秒刷新次数
*/
const NeonLight: string;
/**
* 面状:水面材质
* @property specularMap - 图片路径,镜面反射纹理材质图片
* @property [normalMap = Cesium.Material.DefaultImageId] - 图片路径,水正常扰动的法线图材质图片
* @property [baseWaterColor = new Cesium.Color(0.2, 0.3, 0.6, 1.0)] - 基础颜色
* @property [blendColor = new Cesium.Color(0.0, 1.0, 0.699, 1.0)] - 混合颜色,从水中混合到非水域时使用的rgba颜色对象
* @property [frequency = 100] - 波数
* @property [animationSpeed = 0.01] - 动画速度
* @property [amplitude = 10] - 水波振幅
* @property [specularIntensity = 0.5] - 镜面反射强度
* @property [fadeFactor = 1.0] - 衰减因子
*/
const Water: string;
/**
* 面状:带蓝色光线波纹的水面材质
* @property specularMap - 图片路径,镜面反射纹理材质图片
* @property [normalMap = Cesium.Material.DefaultImageId] - 图片路径,水正常扰动的法线图材质图片
* @property [alpha = 0.2] - 透明度
*/
const WaterLight: string;
/**
* 矩形面: 轮播图
* @property image - 图片URL
* @property [color = Cesium.Color.WHITE] - 颜色和透明度
* @property [speed = 10] - 速度,值越大越快
* @property [pure = false] - 是否纯色
*/
const RectSlide: string;
/**
* 圆形: 放大扩散线
* @property [color = new Cesium.Color(1.0, 1.0, 0.0, 1.0)] - 扫描线颜色
* @property [speed = 10] - 扫描速度,值越大越快
*/
const ScanLine: string;
/**
* 圆形: 扫描半径
* @property image - 扫描图片URL地址
* @property [color = new Cesium.Color(1.0, 0.0, 0.0, 1.0)] - 颜色
*/
const CircleScan: string;
/**
* 圆形: 波纹扩散
* @property [color = new Cesium.Color(1.0, 1.0, 0.0, 1.0)] - 颜色
* @property [speed = 10] - 速度,值越大越快
* @property [count = 1] - 圆圈个数
* @property [gradient = 0.1] - 透明度的幂方(0-1),0表示无虚化效果,1表示虚化成均匀渐变
*/
const CircleWave: string;
/**
* 圆形: 雷达线 (圆+旋转半径线)
* @property [color = new Cesium.Color(0.0, 1.0, 1.0, 0.7)] - 颜色
* @property [speed = 5.0] - 速度,值越大越快
*/
const RadarLine: string;
/**
* 圆形: 波纹雷达扫描
* @property [color = new Cesium.Color(0.0, 1.0, 1.0, 0.7)] - 颜色
* @property [speed = 5.0] - 速度,值越大越快
*/
const RadarWave: string;
/**
* 圆锥: 条纹扩散
* @property [color = new Cesium.Color(2, 1, 0.0, 0.8)] - 颜色
* @property [repeat = 30] - 圈数量
* @property [thickness = 0.3] - 圈的宽度比例
* @property [speed = 10] - 速度,值越大越快
*/
const CylinderWave: string;
/**
* 球体: 电弧球体
* @property [color = new Cesium.Color(0.0, 1.0, 1.0, 0.7)] - 颜色
* @property [speed = 5.0] - 速度,值越大越快
*/
const EllipsoidElectric: string;
/**
* 球体: 波纹球体
* @property [color = new Cesium.Color(0.0, 1.0, 1.0, 0.7)] - 颜色
* @property [speed = 5.0] - 速度,值越大越快
*/
const EllipsoidWave: string;
}
/**
* 相机旋转的类型
*/
declare enum MoveType {
/**
* 向屏幕中心靠近
*/
ENLARGE = 0,
/**
* 向屏幕中心远离
*/
NARROW = 1,
/**
* 相机原地左旋转
*/
LEFT_ROTATE = 2,
/**
* 相机原地右旋转
*/
RIGHT_ROTATE = 3,
/**
* 相机原地上旋转
*/
TOP_ROTATE = 4,
/**
* 相机原地下旋转
*/
BOTTOM_ROTATE = 5
}
/**
* 状态 枚举
*/
declare enum State {
/**
* 初始化
*/
INITIALIZED = "inited",
/**
* 已添加到地图上
*/
ADDED = "added",
/**
* 已移除地图
*/
REMOVED = "removed",
/**
* 已销毁对象
*/
DESTROY = "destroy"
}
/**
* 地形类型
*/
declare enum TerrainType {
/**
* 无地形
*/
NONE = "none",
/**
* 标准xyz瓦片地形
*/
XYZ = "xyz",
/**
* arcgis地形
*/
ARCGIS = "arcgis",
/**
* ION在线地形(cesium官方服务)
*/
ION = "ion",
/**
* GoogleEarth Enterprise 地形服务
*/
GEE = "gee",
/**
* VR 地形
*/
VR = "vr"
}
/**
* SDK中涉及到的所有第3方地图服务的Token令牌key,
* 【重要提示:为了避免后期失效,请全部重新赋值换成自己的key】
*/
declare namespace Token {
/**
* Cesium官方的Ion服务key,
* 官网: {@link https://cesium.com/ion/signin/}
*/
const ion: string;
/**
* 更新Cesium官方的Ion服务key
* @param item - token值
*/
function updateIon(item: string): void;
/**
* mapbox地图key,
* 官网:{@link https://account.mapbox.com}
*/
const mapbox: string;
/**
* 更新mapbox地图key
* @param item - token值
*/
function updateMapbox(item: string): void;
/**
* 微软Bing地图key,
* 官网: {@link https://www.bingmapsportal.com/Application}
*/
const bing: string;
/**
* 更新微软Bing地图key
* @param item - token值
*/
function updateBing(item: string): void;
/**
* 天地图key数组,
* 官网: {@link https://console.tianditu.gov.cn/api/key}
*/
const tiandituArr: string[];
/**
* 天地图key,
*/
const tianditu: string;
/**
* 更新天地图key
* @param item - token值
*/
function updateTianditu(item: string | string[]): void;
/**
* 高德key数组,
* 官网: {@link https://console.amap.com/dev/key/app}
*/
const gaodeArr: string[];
/**
* 高德key,
*/
const gaode: string;
/**
* 更新高德key
* @param item - token值
*/
function updateGaode(item: string | string[]): void;
/**
* 百度key数组,
* 官网: {@link http://lbsyun.baidu.com/apiconsole/key#/home}
*/
const baiduArr: string[];
/**
* 百度key,
*/
const baidu: string;
/**
* 更新百度key
* @param item - token值
*/
function updateBaidu(item: string | string[]): void;
/**
* 更新所有SDK涉及的第3放Token值(如果具体使用类中传入时,已传入值优先)
* @param token - 集合
* @param [token.tianditu] - 天地图
* @param [token.gaode] - 高德
* @param [token.baidu] - 百度
* @param [token.ion] - Ion服务
* @param [token.mapbox] - mapbox地图
* @param [token.bing] - 微软Bing地图
*/
function updateAll(token: {
tianditu?: string | string[];
gaode?: string | string[];
baidu?: string | string[];
ion?: string;
mapbox?: string;
bing?: string;
}): void;
}
/**
* 控件 基类
* @param [options] - 参数对象,包括以下:
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.parentContainer] - 控件加入的父容器,默认为map所在的DOM map.container
* @param [options.insertIndex] - 可以自定义插入到父容器中的index顺序,默认是插入到最后面。
* @param [options.insertBefore] - 可以自定义插入到指定兄弟容器的前面,与insertIndex二选一。
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class BaseControl extends BaseThing {
constructor(options?: {
id?: string | number;
enabled?: boolean;
parentContainer?: HTMLElement;
insertIndex?: number;
insertBefore?: HTMLElement;
eventParent?: BaseClass | boolean;
});
/**
* 设置DOM容器的显示隐藏
*/
show: boolean;
/**
* 控件类型
*/
readonly type: string;
/**
* 当前控件的DOM对象
*/
readonly container: HTMLElement;
/**
* 父容器DOM对象
*/
readonly parentContainer: HTMLElement;
/**
* 父容器DOM对象的ID
*/
readonly parentContainerId: string;
/**
* 添加到地图上,同 map.addControl
* @param map - 地图对象
* @returns 当前对象本身,可以链式调用
*/
addTo(map: Map): BaseControl;
/**
* 从地图上移除,同map.removeControl
* @param [destroy] - 是否调用destroy释放
* @returns 无
*/
remove(destroy?: boolean): void;
/**
* 对象添加到地图前创建一些对象的钩子方法,
* 只会调用一次
* @returns 无
*/
_mountedHook(): void;
/**
* 对象添加到地图上的创建钩子方法,
* 每次add时都会调用
* @returns 无
*/
_addedHook(): void;
/**
* 对象从地图上移除的创建钩子方法,
* 每次remove时都会调用
* @returns 无
*/
_removedHook(): void;
/**
* 设置新的css样式信息
* @param style - css样式
* @returns 无
*/
setStyle(style: any): void;
/**
* 设置对象的启用和禁用状态。
*/
enabled: boolean;
}
/**
* 时钟及其动画的管理控制
* @param [options] - 参数对象,包括以下:
* @param [options.format = "yyyy-MM-dd HH:mm:ss"] - 当前时间格式化字符串
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.parentContainer] - 控件加入的父容器,默认为map所在的DOM map.container
* @param [options.insertIndex] - 可以自定义插入到父容器中的index顺序,默认是插入到最后面。
* @param [options.insertBefore] - 可以自定义插入到指定兄弟容器的前面,与insertIndex二选一。
*/
declare class ClockAnimate extends BaseControl {
constructor(options?: {
format?: string;
id?: string | number;
enabled?: boolean;
parentContainer?: HTMLElement;
insertIndex?: number;
insertBefore?: HTMLElement;
});
}
/**
* 导航球控件
* @param [options] - 参数对象,包括以下:
* @param [options.rotation = true] - 是否启用调整俯仰角(按中间区域往四周拖拽)
* @param [options.className = 'mars3d-compass'] - 样式名称,可以外部自定义样式。
* @param [options.top] - css定位top位置, 如 top: '10px'
* @param [options.bottom] - css定位bottom位置,支持配置'toolbar'自动跟随cesium-viewer-toolbar
* @param [options.left] - css定位left位置
* @param [options.right] - css定位right位置
* @param [options.outerSvg] - 外部圆环区域的SVG图片
* @param [options.innerSvg] - 中心球区域的SVG图片
* @param [options.rotationArcSvg] - rotation为true时,按中间区域往四周拖拽时,调整俯仰角的对外部圆环的半弧遮盖SVG图片
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.parentContainer] - 控件加入的父容器,默认为map所在的DOM map.container
* @param [options.insertIndex] - 可以自定义插入到父容器中的index顺序,默认是插入到最后面。
* @param [options.insertBefore] - 可以自定义插入到指定兄弟容器的前面,与insertIndex二选一。
*/
declare class Compass extends BaseControl {
constructor(options?: {
rotation?: boolean;
className?: string;
top?: string;
bottom?: string;
left?: string;
right?: string;
outerSvg?: string;
innerSvg?: string;
rotationArcSvg?: string;
id?: string | number;
enabled?: boolean;
parentContainer?: HTMLElement;
insertIndex?: number;
insertBefore?: HTMLElement;
});
/**
* 更新 外部圆环区域的SVG图片
* @param svg - SVG图片
* @returns 无
*/
setOuterSvg(svg: string): void;
/**
* 更新 中心球区域的SVG图片
* @param svg - SVG图片
* @returns 无
*/
setInnerSvg(svg: string): void;
/**
* 更新 按中间区域往四周拖拽时,调整俯仰角的对外部圆环的半弧遮盖SVG图片,rotation为true时有效
* @param svg - SVG图片
* @returns 无
*/
setRotationSvg(svg: string): void;
/**
* 对象添加到地图前创建一些对象的钩子方法,
* 只会调用一次
* @returns 无
*/
_mountedHook(): void;
/**
* 对象添加到地图上的创建钩子方法,
* 每次add时都会调用
* @returns 无
*/
_addedHook(): void;
/**
* 对象从地图上移除的创建钩子方法,
* 每次remove时都会调用
* @returns 无
*/
_removedHook(): void;
}
declare namespace DistanceLegend {
/**
* 当前类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* distanceLegend.on(mars3d.EventType.change, function (event) {
* console.log('比例尺发生变化', event)
* })
* @property change - 比例尺发生变化
*/
type EventType = {
change: string;
};
}
/**
* 比例尺 控件
* @param [options] - 参数对象,包括以下:
* @param [options.top] - css定位top位置, 如 top: '10px'
* @param [options.bottom] - css定位bottom位置
* @param [options.left] - css定位left位置
* @param [options.right] - css定位right位置
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.parentContainer] - 控件加入的父容器,默认为map所在的DOM map.container
* @param [options.insertIndex] - 可以自定义插入到父容器中的index顺序,默认是插入到最后面。
* @param [options.insertBefore] - 可以自定义插入到指定兄弟容器的前面,与insertIndex二选一。
*/
declare class DistanceLegend extends BaseControl {
constructor(options?: {
top?: string;
bottom?: string;
left?: string;
right?: string;
id?: string | number;
enabled?: boolean;
parentContainer?: HTMLElement;
insertIndex?: number;
insertBefore?: HTMLElement;
});
/**
* 当前比例尺值(单位:米)
*/
readonly distance: number;
/**
* 对象添加到地图前创建一些对象的钩子方法,
* 只会调用一次
* @returns 无
*/
_mountedHook(): void;
/**
* 对象添加到地图上的创建钩子方法,
* 每次add时都会调用
* @returns 无
*/
_addedHook(): void;
/**
* 对象从地图上移除的创建钩子方法,
* 每次remove时都会调用
* @returns 无
*/
_removedHook(): void;
}
declare namespace LocationBar {
/**
* 当前类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* thing.on(mars3d.EventType.change, function (event) {
* console.log('数据变化了', event)
* })
* @property change - 数据变化了
*/
type EventType = {
change: string;
};
}
/**
* 信息状态栏, 一般在页面下侧区域,包括鼠标经纬度等信息
* @param [options] - 参数对象,包括以下:
* @param [options.template] - 展示的内容格式化字符串, 为数组时按多语言顺序定义,如[中文、繁体、英文]
* 支持以下模版配置:
* 【鼠标所在位置】 经度:{lng}, 纬度:{lat}, 海拔:{alt}米, 横{crsx} 纵{crsy}
* 【相机的】 方向角度:{heading}, 俯仰角度:{pitch}, 视高:{cameraHeight}米,
* 【地图的】 层级:{level}
* @param [options.latDecimal = LngLatPoint.FormatLength] - 保留的{lat}和{lng}的小数位
* @param [options.crs] - 按指定坐标系显示坐标值,true时取值CRS.CGCS2000_GK_Zone_3,配置后template可以加模板:【鼠标所在位置对应的crs坐标系】 X或经度值:{crsx}, Y或纬度值:{crsy}
* @param [options.crsDecimal = 1] - 保留的{crsx}和{crsy}的小数位
* @param [options.style] - 可以CSS样式,如:
* @param [options.style.top] - css定位top位置, 如 top: '10px'
* @param [options.style.bottom] - css定位bottom位置
* @param [options.style.left] - css定位left位置
* @param [options.style.right] - css定位right位置
* @param [options.fps = false] - 是否显示实时FPS帧率
* @param [options.cacheTime = 50] - 鼠标移动的缓存时间
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.parentContainer] - 控件加入的父容器,默认为map所在的DOM map.container
* @param [options.insertIndex] - 可以自定义插入到父容器中的index顺序,默认是插入到最后面。
* @param [options.insertBefore] - 可以自定义插入到指定兄弟容器的前面,与insertIndex二选一。
*/
declare class LocationBar extends BaseControl {
constructor(options?: {
template?: string | string[];
latDecimal?: number;
crs?: string | CRS | boolean;
crsDecimal?: number;
style?: {
top?: string;
bottom?: string;
left?: string;
right?: string;
};
fps?: boolean;
cacheTime?: number;
id?: string | number;
enabled?: boolean;
parentContainer?: HTMLElement;
insertIndex?: number;
insertBefore?: HTMLElement;
});
/**
* 显示的数据
*/
readonly locationData: any;
}
/**
* 地图分屏对比 控件,
* 默认自动读取当前Map配置,也会合并传入的scene、control等参数值
* @param [options] - 参数对象,包括以下:
* @param [options.basemaps] - 底图图层配置
* @param [options.layers] - 可以叠加显示的图层配置
* @param [options.scene] - 场景参数
* @param [options.control] - 添加的控件
* @param [options.effect] - 添加的特效
* @param [options.mouse] - 鼠标操作相关配置参数
* @param [options.terrain] - 地形服务配置
* @param [options.className = "mars3d-container mars3d-mapCompare"] - 对比地图DIV的样式名称
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.parentContainer] - 控件加入的父容器,默认为map所在的DOM map.container
* @param [options.insertIndex] - 可以自定义插入到父容器中的index顺序,默认是插入到最后面。
* @param [options.insertBefore] - 可以自定义插入到指定兄弟容器的前面,与insertIndex二选一。
*/
declare class MapCompare extends BaseControl {
constructor(options?: {
basemaps?: Map.basemapOptions[];
layers?: Map.layerOptions[];
scene?: Map.sceneOptions;
control?: Map.controlOptions;
effect?: Map.effectOptions;
mouse?: Map.mouseOptions;
terrain?: Map.terrainOptions;
className?: string;
id?: string | number;
enabled?: boolean;
parentContainer?: HTMLElement;
insertIndex?: number;
insertBefore?: HTMLElement;
});
/**
* 对比的地图对象
*/
mapEx: Map;
/**
* 对象添加到地图前创建一些对象的钩子方法,
* 只会调用一次
* @returns 无
*/
_mountedHook(): void;
/**
* 对象添加到地图上的创建钩子方法,
* 每次add时都会调用
* @returns 无
*/
_addedHook(): void;
/**
* 对象从地图上移除的创建钩子方法,
* 每次remove时都会调用
* @returns 无
*/
_removedHook(): void;
}
/**
* 卷帘对比 控件
* @param [options] - 参数对象,包括以下:
* @param [options.leftLayer] - 左侧区域瓦片图层
* @param [options.rightLayer] - 右侧区域瓦片图层
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.parentContainer] - 控件加入的父容器,默认为map所在的DOM map.container
* @param [options.insertIndex] - 可以自定义插入到父容器中的index顺序,默认是插入到最后面。
* @param [options.insertBefore] - 可以自定义插入到指定兄弟容器的前面,与insertIndex二选一。
*/
declare class MapSplit extends BaseControl {
constructor(options?: {
leftLayer?: BaseTileLayer;
rightLayer?: BaseTileLayer;
id?: string | number;
enabled?: boolean;
parentContainer?: HTMLElement;
insertIndex?: number;
insertBefore?: HTMLElement;
});
/**
* 左侧区域瓦片图层
*/
leftLayer: BaseTileLayer | BaseTileLayer[] | any;
/**
* 右侧区域瓦片图层
*/
rightLayer: BaseTileLayer | BaseTileLayer[] | any;
/**
* 对瓦片图层设置卷帘方向
* @param layer - 图层 或图层构造参数
* @param [splitDirection] - 图层显示的方向
* @returns 图层对象
*/
setLayerSplitDirection(layer: BaseTileLayer | GroupLayer | any, splitDirection?: Cesium.SplitDirection): BaseTileLayer | GroupLayer;
/**
* 控件类型
*/
readonly type: string;
/**
* 对象添加到地图前创建一些对象的钩子方法,
* 只会调用一次
* @returns 无
*/
_mountedHook(): void;
/**
* 对象添加到地图上的创建钩子方法,
* 每次add时都会调用
* @returns 无
*/
_addedHook(): void;
/**
* 对象从地图上移除的创建钩子方法,
* 每次remove时都会调用
* @returns 无
*/
_removedHook(): void;
}
/**
* 鼠标滚轮缩放美化样式(指示图标)控件
* @param [options] - 参数对象,包括以下:
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.parentContainer] - 控件加入的父容器,默认为map所在的DOM map.container
* @param [options.insertIndex] - 可以自定义插入到父容器中的index顺序,默认是插入到最后面。
* @param [options.insertBefore] - 可以自定义插入到指定兄弟容器的前面,与insertIndex二选一。
*/
declare class MouseDownView extends BaseControl {
constructor(options?: {
id?: string | number;
enabled?: boolean;
parentContainer?: HTMLElement;
insertIndex?: number;
insertBefore?: HTMLElement;
});
}
/**
* 鹰眼地图 控件
* @param [options] - 参数对象,包括以下:
* @param options.basemap - 瓦片底图图层配置
* @param [options.layers] - 可以叠加显示的图层配置
* @param [options.scene] - 鹰眼地图场景参数
* @param [options.rectangle] - 矩形区域样式信息,不配置时不显示矩形。
* @param [options.style] - 可以CSS样式,如:
* @param [options.style.top] - css定位top位置, 如 top: '10px'
* @param [options.style.bottom] - css定位bottom位置
* @param [options.style.left] - css定位left位置
* @param [options.style.right] - css定位right位置
* @param [options.flyToOptions] - 小地图的定位参数
* @param [options.flyToOptions.scale = 2] - 缩放比例,可以控制视角比矩形略大一些,这样效果更友好。
* @param [options.flyToOptions.duration = 0] - 飞行时间(单位:秒)。如果省略,SDK内部会根据飞行距离计算出理想的飞行时间。
* @param [options.flyToOptions.complete] - 飞行完成后要执行的函数。
* @param [options.flyToOptions.cancel] - 飞行取消时要执行的函数。
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.parentContainer] - 控件加入的父容器,默认为map所在的DOM map.container
* @param [options.insertIndex] - 可以自定义插入到父容器中的index顺序,默认是插入到最后面。
* @param [options.insertBefore] - 可以自定义插入到指定兄弟容器的前面,与insertIndex二选一。
*/
declare class OverviewMap extends BaseControl {
constructor(options?: {
basemap: Map.basemapOptions;
layers?: Map.layerOptions[];
scene?: Map.sceneOptions;
rectangle?: RectangleEntity.StyleOptions | any;
style?: {
top?: string;
bottom?: string;
left?: string;
right?: string;
};
flyToOptions?: {
scale?: number;
duration?: number;
complete?: Cesium.Camera.FlightCompleteCallback;
cancel?: Cesium.Camera.FlightCancelledCallback;
};
id?: string | number;
enabled?: boolean;
parentContainer?: HTMLElement;
insertIndex?: number;
insertBefore?: HTMLElement;
});
/**
* 鹰眼小地图对象
*/
smallMap: Map;
/**
* 对象添加到地图前创建一些对象的钩子方法,
* 只会调用一次
* @returns 无
*/
_mountedHook(): void;
/**
* 对象添加到地图上的创建钩子方法,
* 每次add时都会调用
* @returns 无
*/
_addedHook(): void;
/**
* 对象从地图上移除的创建钩子方法,
* 每次remove时都会调用
* @returns 无
*/
_removedHook(): void;
}
/**
* 时间线 控件
* @param [options] - 参数对象,包括以下:
* @param [options.style] - 可以CSS样式,如:
* @param [options.style.top] - css定位top位置, 如 top: '10px'
* @param [options.style.bottom = 0] - css定位bottom位置
* @param [options.style.left = 0] - css定位left位置
* @param [options.style.right = 0] - css定位right位置
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.parentContainer] - 控件加入的父容器,默认为map所在的DOM map.container
* @param [options.insertIndex] - 可以自定义插入到父容器中的index顺序,默认是插入到最后面。
* @param [options.insertBefore] - 可以自定义插入到指定兄弟容器的前面,与insertIndex二选一。
*/
declare class Timeline extends BaseControl {
constructor(options?: {
style?: {
top?: string;
bottom?: string;
left?: string;
right?: string;
};
id?: string | number;
enabled?: boolean;
parentContainer?: HTMLElement;
insertIndex?: number;
insertBefore?: HTMLElement;
});
/**
* @param startTime - 开始时间
* @param stopTime - 结束时间
*/
zoomTo(startTime: Cesium.JulianDate, stopTime: Cesium.JulianDate): void;
/**
* 父容器DOM对象
*/
readonly parentContainer: HTMLElement;
}
declare namespace ToolButton {
/**
* 当前类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* control.on(mars3d.EventType.click, function (event) {
* console.log('单击了按钮', event)
* })
* @property click - 单击了按钮
*/
type EventType = {
click: string;
};
}
/**
* 工具栏 单个按钮控件
* @param [options] - 参数对象,包括以下:
* @param [options.title = ''] - 按钮标题
* @param [options.icon] - 按钮图标,可以是:图片url路径、base64字符串、svg字符串、字体图标class名
* @param [options.click] - 按钮单击后的回调方法
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.parentContainer] - 控件加入的父容器,默认为map所在的DOM map.container
* @param [options.insertIndex] - 可以自定义插入到父容器中的index顺序,默认是插入到最后面。
* @param [options.insertBefore] - 可以自定义插入到指定兄弟容器的前面,与insertIndex二选一。
*/
declare class ToolButton extends BaseControl {
constructor(options?: {
title?: string;
icon?: string;
click?: (...params: any[]) => any;
id?: string | number;
enabled?: boolean;
parentContainer?: HTMLElement;
insertIndex?: number;
insertBefore?: HTMLElement;
});
/**
* 父容器DOM对象
*/
readonly parentContainer: HTMLElement;
}
/**
* 放大缩小按钮控件
* @param [options] - 参数对象,包括以下:
* @param [options.relativeAmount = 2] - 放大缩小的相对量(调整步长)
* @param [options.zoomOutIcon] - 缩小按钮 图片url路径 或 字体图标class名
* @param [options.zoomInIcon] - 放大按钮 图片url路径 或 字体图标class名
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.parentContainer] - 控件加入的父容器,默认为map所在的DOM map.container
* @param [options.insertIndex] - 可以自定义插入到父容器中的index顺序,默认是插入到最后面。
* @param [options.insertBefore] - 可以自定义插入到指定兄弟容器的前面,与insertIndex二选一。
*/
declare class Zoom extends BaseControl {
constructor(options?: {
relativeAmount?: string;
zoomOutIcon?: string;
zoomInIcon?: string;
id?: string | number;
enabled?: boolean;
parentContainer?: HTMLElement;
insertIndex?: number;
insertBefore?: HTMLElement;
});
/**
* 父容器DOM对象
*/
readonly parentContainer: HTMLElement;
}
/**
* 基础类,SDK中几乎所有类的基类,都是继承该基类的。
* @param [options] - 参数名称
*/
declare class BaseClass {
constructor(options?: any);
/**
* 当前类的构造参数
*/
readonly options: any;
/**
* 设置事件的启用和禁用状态
*/
enabledEvent: boolean;
/**
* 销毁当前对象
* @param [noDel = false] - false:会自动delete释放所有属性,true:不delete绑定的变量
* @returns 无
*/
destroy(noDel?: boolean): void;
/**
* 绑定指定类型事件监听器,
* 支持在监听中调用 event.stopPropagation(); 组织事件冒泡
* @param types - 事件类型
* @param fn - 绑定的监听器回调方法
* @param [context] - 侦听器的上下文(this关键字将指向的对象)。
* @returns 当前对象本身,可以链式调用
*/
on(types: EventType | string | EventType[] | string[] | any, fn: (...params: any[]) => any, context?: any): BaseClass;
/**
* 解除绑定指定类型事件监听器
* @param [types] - 事件类型,未传值时解绑所有事件
* @param [fn] - 绑定的监听器回调方法,未传值时解绑所有指定类型对应事件
* @param [context] - 侦听器的上下文(this关键字将指向的对象)。
* @returns 当前对象本身,可以链式调用
*/
off(types?: EventType | string | EventType[], fn?: (...params: any[]) => any, context?: any): BaseClass;
/**
* 触发指定类型的事件。
* @param type - 事件类型
* @param [data] - 传输的数据或对象,可在事件回调方法中event对象中获取进行使用
* @param [propagate] - 将事件传播给父类 (用addEventParent设置)
* @returns 当前对象本身,可以链式调用
*/
fire(type: EventType | string, data?: any, propagate?: BaseClass): BaseClass;
/**
* 是否有绑定指定的事件
* @param type - 事件类型
* @param [propagate] - 是否判断指定的父类 (用addEventParent设置的)
* @returns 是否存在
*/
listens(type: EventType | string, propagate?: BaseClass): boolean;
/**
* 绑定一次性执行的指定类型事件监听器
* 与on类似,监听器只会被触发一次,然后被删除。
* @param types - 事件类型
* @param fn - 绑定的监听器回调方法
* @param [context] - 侦听器的上下文(this关键字将指向的对象)。
* @returns 当前对象本身,可以链式调用
*/
once(types: EventType | string | EventType[], fn: (...params: any[]) => any, context?: any): BaseClass;
/**
* 添加抛出事件到父类,它将接收传播的事件
* @param obj - 父类对象
* @returns 当前对象本身,可以链式调用
*/
addEventParent(obj: any): BaseClass;
/**
* 移除抛出事件到父类
* @param obj - 父类对象
* @returns 当前对象本身,可以链式调用
*/
removeEventParent(obj: any): BaseClass;
/**
* 是否绑定了抛出事件到指定父类
* @param obj - 父类对象
* @returns 当前对象本身,可以链式调用
*/
hasEventParent(obj: any): BaseClass;
}
/**
* 转换options参数处理基类
* @param [options] - 控制参数
*/
declare class BaseOptsConver {
constructor(options?: any);
/**
* 转换为Cesium相关属性值
* @param style - 样式配置
* @param [czmVal = {}] - Cesium属性值
* @returns Cesium属性值
*/
toCesiumVal(style: any, czmVal?: any): any;
/**
* 转换为json简单对象,用于导出
* @param czmVal - Cesium属性值
* @param [style = {}] - json简单对象
* @returns json简单对象
*/
toJSON(czmVal: any, style?: any): any;
/**
* 根据样式配置获取颜色
* @param style - 样式配置
* @returns 颜色
*/
static getColorByStyle(style: any): Cesium.Color;
/**
* 根据样式配置获取颜色
* @param style - 样式配置
* @returns 颜色
*/
getColorByStyle(style: any): Cesium.Color;
/**
* 根据样式配置获取outline颜色
* @param style - 样式配置
* @returns 颜色
*/
getOutlineColorByStyle(style: any): Cesium.Color;
}
declare namespace BaseThing {
/**
* 当前类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* thing.on(mars3d.EventType.add, function (event) {
* console.log('添加了对象', event)
* })
* @property add - 添加对象
* @property remove - 移除对象
*/
type EventType = {
add: string;
remove: string;
};
}
/**
* Thing对象(如特效、分析、管理类等) 的基类
* @param [options] - 参数对象,包括以下:
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class BaseThing extends BaseClass {
constructor(options?: {
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 当前对象的状态
*/
readonly state: State;
/**
* 是否已添加到地图
*/
readonly isAdded: boolean;
/**
* 对象的id标识
*/
readonly id: string | number;
/**
* 设置对象的启用和禁用状态。
*/
enabled: boolean;
/**
* 添加到地图上,同 map.addThing
* @param map - 地图对象
* @returns 当前对象本身,可以链式调用
*/
addTo(map: Map): BaseThing;
/**
* 从地图上移除,同map.removeThing
* @param [destroy] - 是否调用destroy释放
* @returns 无
*/
remove(destroy?: boolean): void;
/**
* 对象添加到地图前创建一些对象的钩子方法,
* 只会调用一次
* @returns 无
*/
_mountedHook(): void;
/**
* 对象添加到地图上的创建钩子方法,
* 每次add时都会调用
* @returns 无
*/
_addedHook(): void;
/**
* 对象从地图上移除的创建钩子方法,
* 每次remove时都会调用
* @returns 无
*/
_removedHook(): void;
/**
* 当前类的构造参数
*/
readonly options: any;
/**
* 销毁当前对象
* @param [noDel = false] - false:会自动delete释放所有属性,true:不delete绑定的变量
* @returns 无
*/
destroy(noDel?: boolean): void;
}
/**
* 近地天空盒, 在场景周围绘制星星等太空背景。
* 天空盒子是用真正的赤道平均春分点(TEME)轴定义的。仅在3D中支持。当转换为2D或哥伦布视图时,天空盒会淡出。
* 天空盒子的大小不能超过{@link Cesium.Scene#maximumCubeMapSize}。
* @example
* map.scene.skyBox = new mars3d.GroundSkyBox({
* sources : {
* positiveX : 'skybox_px.png',
* negativeX : 'skybox_nx.png',
* positiveY : 'skybox_py.png',
* negativeY : 'skybox_ny.png',
* positiveZ : 'skybox_pz.png',
* negativeZ : 'skybox_nz.png'
* }
* });
* @param options - 对象,具有以下属性:
* @param [options.sources] - 天空盒的6个立方体映射面的图片url
* @param [options.sources.positiveX] - 映射面的图片url
* @param [options.sources.negativeX] - 映射面的图片url
* @param [options.sources.positiveY] - 映射面的图片url
* @param [options.sources.negativeY] - 映射面的图片url
* @param [options.sources.positiveZ] - 映射面的图片url
* @param [options.sources.negativeZ] - 映射面的图片url
* @param [options.show = true] - 是否显示
*/
declare class GroundSkyBox extends Cesium.SkyBox {
constructor(options: {
sources?: {
positiveX?: string;
negativeX?: string;
positiveY?: string;
negativeY?: string;
positiveZ?: string;
negativeZ?: string;
};
show?: boolean;
});
}
/**
* Thing对象(如特效、分析、管理类等)组,可以用于将多个Thing对象组合起来方便控制
* @param [options] - 参数对象,包括以下:
* @param [options.things] - 子Thing对象数组
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
*/
declare class GroupThing extends BaseThing {
constructor(options?: {
things?: any;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 子Thing对象对象数组
*/
readonly arrThing: BaseThing[];
/**
* 是否空组 ,空组目前就Thing对象管理用于Thing对象分组节点(虚拟节点)。
*/
readonly hasEmptyGroup: boolean;
/**
* 是否有子Thing对象
*/
readonly hasChildThing: boolean;
/**
* 子Thing对象的个数
*/
readonly length: number;
/**
* 添加所有子对象到map上
* @returns 当前对象本身,可以链式调用
*/
addChildsToMap(): GroupThing;
/**
* 将所有子对象从map中移除
* @returns 当前对象本身,可以链式调用
*/
removeMapChilds(): GroupThing;
/**
* 添加子Thing对象,并绑定关联关系。
* @param childthing - 子Thing对象对象
* @returns 当前对象本身,可以链式调用
*/
addThing(childthing: BaseThing): GroupThing;
/**
* 移除子Thing对象,并解除关联关系。
* @param childthing - 子Thing对象对象
* @returns 当前对象本身,可以链式调用
*/
removeThing(childthing: BaseThing): GroupThing;
/**
* 遍历每一个子Thing对象并将其作为参数传递给回调函数
* @param method - 回调方法
* @param [context] - 侦听器的上下文(this关键字将指向的对象)。
* @returns 当前对象本身,可以链式调用
*/
eachThing(method: (...params: any[]) => any, context?: any): GroupThing;
/**
* 获取所有内置子Thing对象对象
* @returns 所有子Thing对象对象
*/
getThings(): BaseThing[];
/**
* 获取地图所有的子Thing对象对象(包括pid和id关联的Thing对象)
* @returns 所有子Thing对象对象
*/
getInMapChilds(): BaseThing[];
/**
* 根据ID或取Thing对象
* @param id - Thing对象id或uuid
* @returns Thing对象对象
*/
getThingById(id: string | number): BaseThing | any;
/**
* 销毁当前对象
* @param [noDel = false] - false:会自动delete释放所有属性,true:不delete绑定的变量
* @returns 无
*/
destroy(noDel?: boolean): void;
}
/**
* 坐标数组处理类
*/
declare class LngLatArray {
/**
* 根据传入的各种对象数据数组,转换返回Cartesian3数组
* @param value - 坐标位置数组
* @param [clone] - 是否重新生成拷贝
* @returns 转换返回的Cartesian3数组
*/
static toCartesians(value: string[] | any[][] | LngLatPoint[], clone?: boolean): Cesium.Cartesian3[];
/**
* 根据传入的各种对象数据数组,转换返回LatLngPoint数组
* @param value - 坐标位置数组
* @param [clone] - 是否重新生成拷贝
* @returns 转换返回的LatLngPoint数组
*/
static toPoints(value: string[] | any[][] | Cesium.Cartesian3[], clone?: boolean): LngLatPoint[];
/**
* 根据传入的各种对象数据数组,转换返回经纬度坐标数组
* @param value - 坐标位置数组
* @param [noAlt] - 是否包含高度值
* @returns 经纬度坐标数组,示例:[ [123.123456,32.654321,198.7], [111.123456,22.654321,50.7] ]
*/
static toArray(value: string[] | any[][] | Cesium.Cartesian3[], noAlt?: boolean): any[][];
}
/**
* 坐标点类(含经度、纬度、高度)
* @param lng - 经度值, -180 至 180
* @param lat - 纬度值, -90 至 90
* @param [alt] - 高度(单位:米)
*/
declare class LngLatPoint {
constructor(lng: number | string, lat: number | string, alt?: number | string);
/**
* 经度值, -180 至 180
*/
lng: number;
/**
* 纬度值, -180 至 180
*/
lat: number;
/**
* 高度(单位:米)
*/
alt: number;
/**
* 复制一份对象
* @returns 无
*/
clone(): LngLatPoint;
/**
* 格式化对象内的经纬度的小数位为6位,高度小数位为1位。
* @returns 当前对象本身,可以链式调用
*/
format(): LngLatPoint;
/**
* 转换为数组对象
* @param [noAlt] - 是否包含高度值
* @returns 数组对象,示例[113.123456,31.123456,30.1]
*/
toArray(noAlt?: boolean): any[];
/**
* 转换为字符串对象
* @returns 符串,示例 "113.123456,31.123456,30.1"
*/
toString(): string;
/**
* 转换为笛卡尔坐标
* @param clone - 是否复制
* @returns 笛卡尔坐标
*/
toCartesian(clone: boolean): Cesium.Cartesian3;
/**
* 转换为 地理坐标(弧度制)
* @returns 地理坐标(弧度制)
*/
toCartographic(): Cesium.Cartographic;
/**
* 转换为 WebMercator投影平面坐标
* @returns WebMercator投影平面坐标,示例:[13048882.06,3741659.72]
*/
toMercator(): number[];
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: LngLatPoint): boolean;
/**
* 坐标是否有效范围内数据
* @returns 是否有效
*/
valid(): boolean;
/**
* 根据传入的各种对象数据,转换返回LatLngPoint对象
* @param position - 坐标位置
* @param [time = Cesium.JulianDate.now()] - Cesium坐标时,getValue传入的时间值
* @returns 转换返回的LatLngPoint对象
*/
static parse(position: string | any[] | LngLatPoint | Cesium.Cartesian3 | any, time?: Cesium.JulianDate): LngLatPoint;
/**
* 根据数组数据,转换返回LatLngPoint对象
* 示例:[113.123456,31.123456,30.1]
* @param arr - 坐标位置
* @returns 转换返回的LatLngPoint对象
*/
static fromArray(arr: any[]): LngLatPoint;
/**
* 根据传入字符串,转换返回LatLngPoint对象
* 示例:"113.123456,31.123456,30.1"
* @param str - 坐标位置字符串,逗号分割。
* @returns 转换返回的LatLngPoint对象
*/
static fromString(str: string): LngLatPoint;
/**
* 根据传入的笛卡尔坐标,转换返回LatLngPoint对象
* @param cartesian - 坐标位置
* @param [time = Cesium.JulianDate.now()] - Cesium坐标时,getValue传入的时间值
* @returns 转换返回的LatLngPoint对象
*/
static fromCartesian(cartesian: Cesium.Cartesian3 | any, time?: Cesium.JulianDate): LngLatPoint;
/**
* 根据传入的地理坐标(弧度制),转换返回LatLngPoint对象
* @param cartographic - 地理坐标(弧度制)
* @returns 转换返回的LatLngPoint对象
*/
static fromCartographic(cartographic: Cesium.Cartographic): LngLatPoint;
/**
* 根据传入的 WebMercator投影平面坐标,转换返回LatLngPoint对象
* @param arrdata - WebMercator投影平面坐标,示例:[13048882.06,3741659.72]
* @returns 转换返回的LatLngPoint对象
*/
static fromMercator(arrdata: number[]): LngLatPoint;
/**
* 根据传入的各种对象数据,转换返回Cartesian3对象
* @param position - 坐标位置
* @param [time = Cesium.JulianDate.now()] - Cesium坐标时,getValue传入的时间值
* @returns 转换返回的Cartesian3对象
*/
static toCartesian(position: string | any[] | LngLatPoint | Cesium.Cartesian3 | any, time?: Cesium.JulianDate): Cesium.Cartesian3;
/**
* 根据传入的各种对象数据,转换返回Cartographic对象
* @param position - 坐标位置
* @param [time = Cesium.JulianDate.now()] - Cesium坐标时,getValue传入的时间值
* @returns 转换返回的Cartographic对象
*/
static toCartographic(position: string | any[] | LngLatPoint | Cesium.Cartesian3 | any, time?: Cesium.JulianDate): Cesium.Cartographic;
/**
* 转换返回经纬度坐标数组
* @param value - 坐标位置数组
* @param [noAlt] - 是否包含高度值
* @returns 经纬度坐标数组,示例: [123.123456,32.654321,198.7]
*/
static toArray(value: string | any[] | Cesium.Cartesian3 | any, noAlt?: boolean): any[][];
/**
* 经度纬度的格式化时的长度,默认为6
*/
static FormatLength: number;
/**
* 高度的格式化时的长度,默认为1
*/
static FormatAltLength: number;
}
/**
* 局部坐标系 与 世界坐标系 转换控制类
* @param center - 局部坐标的中心点对应的世界坐标
* @param [fixedFrameTransform] - 局部坐标系的轴方向
*/
declare class LocalWorldTransform {
constructor(center: Cesium.Cartesian3, fixedFrameTransform?: Cesium.Transforms.LocalFrameToFixedFrame);
/**
* 局部坐标 转换成对应的 世界坐标
* @param localPoint - 局部坐标
* @param [result] - 世界坐标
* @returns 世界坐标
*/
localToWorld(localPoint: Cesium.Cartesian3, result?: Cesium.Cartesian3): Cesium.Cartesian3;
/**
* 世界坐标 转换成对应的 局部坐标
* @param worldPoint - 世界坐标
* @param [result] - 局部坐标
* @returns 局部坐标
*/
worldToLocal(worldPoint: Cesium.Cartesian3, result?: Cesium.Cartesian3): Cesium.Cartesian3;
}
/**
* 自定义集合存储管理类
*/
declare class MarsArray {
/**
* 获取总数量
*/
readonly length: number;
/**
* 获取集合中的数组列表
*/
readonly values: any[];
/**
* 确定提供的键是否在数组中
* @param key - 主键
* @returns 是否在数组中
*/
contains(key: string | number): boolean;
/**
* 将提供的键与提供的值关联起来。如果密钥已经存在, 存在时,它将被新值覆盖。
* @param key - 主键
* @param value - 与提供的键相关联的值
*/
set(key: string | number, value: any): void;
/**
* 检索与提供的键关联的值
* @param key - 主键
* @returns 关联的值,如果键在集合中不存在,则为未定义。
*/
get(key: string | number): any;
/**
* 根据指定属性获取对象
* @param attrValue - 属性值
* @param [attrName = 'id'] - 属性键
* @param [exObj = 'options'] - 查找的二级对象属性键
* @returns 关联的值,如果键在集合中不存在,则为未定义。
*/
getByAttr(attrValue: string | number, attrName?: string, exObj?: string): any;
/**
* 根据指定属性获取符合条件对象数组
* @param attrValue - 属性值
* @param [attrName = 'id'] - 属性键
* @param [exObj = 'options'] - 查找的二级对象属性键
* @returns 数组
*/
getListByAttr(attrValue: string | number, attrName?: string, exObj?: string): any[];
/**
* 从集合中移除键值对
* @param key - 主键
* @returns 是否移除
*/
remove(key: string | number): boolean;
/**
* 遍历每一个对象并将其作为参数传递给回调函数
* @param method - 回调方法
* @param [context] - 侦听器的上下文(this关键字将指向的对象)。
*/
forEach(method: (...params: any[]) => any, context?: any): void;
/**
* 清空集合
*/
removeAll(): void;
/**
* 销毁对象
*/
destroy(): void;
}
/**
* 3个天空盒(可以平滑过度), 在场景周围绘制星星等太空背景。
* 天空盒子是用真正的赤道平均春分点(TEME)轴定义的。仅在3D中支持。当转换为2D或哥伦布视图时,天空盒会淡出。
* 天空盒子的大小不能超过{@link Cesium.Scene#maximumCubeMapSize}。
* @example
* map.scene.skyBox = new mars3d.MultipleSkyBox({
* sources: {
* positiveX: "./img/skybox/1/px.png",
* negativeX: "./img/skybox/1/nx.png",
* positiveY: "./img/skybox/1/pz.png",
* negativeY: "./img/skybox/1/nz.png",
* positiveZ: "./img/skybox/1/py.png",
* negativeZ: "./img/skybox/1/ny.png",
* },
* sources2: {
* positiveX: "./img/skybox/2/px.png",
* negativeX: "./img/skybox/2/nx.png",
* positiveY: "./img/skybox/2/pz.png",
* negativeY: "./img/skybox/2/nz.png",
* positiveZ: "./img/skybox/2/py.png",
* negativeZ: "./img/skybox/2/ny.png",
* },
* sources3: {
* positiveX: "./img/skybox/3/px.png",
* negativeX: "./img/skybox/3/nx.png",
* positiveY: "./img/skybox/3/pz.png",
* negativeY: "./img/skybox/3/nz.png",
* positiveZ: "./img/skybox/3/py.png",
* negativeZ: "./img/skybox/3/ny.png",
* },
* });
* @param options - 对象,具有以下属性:
* @param [options.sources] - 天空盒的6个立方体映射面的图片url
* @param [options.sources.positiveX] - 映射面的图片url
* @param [options.sources.negativeX] - 映射面的图片url
* @param [options.sources.positiveY] - 映射面的图片url
* @param [options.sources.negativeY] - 映射面的图片url
* @param [options.sources.positiveZ] - 映射面的图片url
* @param [options.sources.negativeZ] - 映射面的图片url
* @param [options.sources2] - 天空盒的6个立方体映射面的图片url
* @param [options.sources2.positiveX] - 映射面的图片url
* @param [options.sources2.negativeX] - 映射面的图片url
* @param [options.sources2.positiveY] - 映射面的图片url
* @param [options.sources2.negativeY] - 映射面的图片url
* @param [options.sources2.positiveZ] - 映射面的图片url
* @param [options.sources2.negativeZ] - 映射面的图片url
* @param [options.sources3] - 天空盒的6个立方体映射面的图片url
* @param [options.sources3.positiveX] - 映射面的图片url
* @param [options.sources3.negativeX] - 映射面的图片url
* @param [options.sources3.positiveY] - 映射面的图片url
* @param [options.sources3.negativeY] - 映射面的图片url
* @param [options.sources3.positiveZ] - 映射面的图片url
* @param [options.sources3.negativeZ] - 映射面的图片url
* @param [options.select = 0.0] - 当前选择生效的天空盒,取值范围:0.0-2.0 , 当为 0 时显示sources、为 1 时显示sources2、为 2 时显示sources3,中间值过渡
* @param [options.show = true] - 是否显示
*/
declare class MultipleSkyBox extends Cesium.SkyBox {
constructor(options: {
sources?: {
positiveX?: string;
negativeX?: string;
positiveY?: string;
negativeY?: string;
positiveZ?: string;
negativeZ?: string;
};
sources2?: {
positiveX?: string;
negativeX?: string;
positiveY?: string;
negativeY?: string;
positiveZ?: string;
negativeZ?: string;
};
sources3?: {
positiveX?: string;
negativeX?: string;
positiveY?: string;
negativeY?: string;
positiveZ?: string;
negativeZ?: string;
};
select?: number;
show?: boolean;
});
/**
* 当前选择生效的天空盒,取值范围:0.0-2.0, 当为 0 时显示sources、为 1 时显示sources2、为 2 时显示sources3,中间值过渡
*/
select: number;
}
/**
* 特效 基类
* @param [options] - 参数对象,包括以下:
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
*/
declare class BaseEffect extends BaseThing {
constructor(options?: {
id?: string | number;
enabled?: boolean;
});
/**
* 特效类型
*/
readonly type: string;
/**
* 特效对象
*/
readonly target: Cesium.PostProcessStage;
/**
* 特效对象的uniforms
* 一个对象,它的属性被用来设置片段着色器shader。
*
* 对象属性值可以是常量或函数。这个函数将在每一帧后处理阶段执行之前被调用。
*
*
* 常量值也可以是图像的URI、数据URI,或者可以用作纹理的HTML元素,如HTMLImageElement或HTMLCanvasElement。
*
*
* 如果这个后处理阶段是{@link Cesium.PostProcessStageComposite}中不串行执行的部分,那么常量值也可以是复合程序中另一个阶段的名称。这将设置统一的输出纹理与该名称的舞台。
*
*/
readonly uniforms: any;
/**
* 添加到地图上,同 map.addEffect
* @param map - 地图对象
* @returns 当前对象本身,可以链式调用
*/
addTo(map: Map): BaseEffect;
/**
* 从地图上移除,同map.removeEffect
* @param [destroy] - 是否调用destroy释放
* @returns 无
*/
remove(destroy?: boolean): void;
/**
* 触发指定类型的事件。
* @param type - 事件类型
* @param [data] - 传输的数据或对象,可在事件回调方法中event对象中获取进行使用
* @param [propagate] - 将事件传播给父类 (用addEventParent设置)
* @returns 当前对象本身,可以链式调用
*/
fire(type: EventType | string, data?: any, propagate?: BaseClass): BaseClass;
}
/**
* 黑白效果
* @param [options] - 参数对象,包括以下:
* @param [options.enabled = true] - 对象的启用状态
* @param [options.gradations = 4.0] - 渐变
*/
declare class BlackAndWhiteEffect extends BaseEffect {
constructor(options?: {
enabled?: boolean;
gradations?: number;
});
/**
* 渐变
*/
gradations: number;
}
/**
* 泛光效果, 使明亮的区域更亮,黑暗的区域更暗。
* @param [options] - 参数对象,包括以下:
* @param [options.enabled = true] - 对象的启用状态
* @param [options.contrast = 128] - 对比度,取值范围[-255.0,255.0]
* @param [options.brightness = -0.3] - 亮度, 将输入纹理的RGB值转换为色相、饱和度和亮度(HSB),然后将该值添加到亮度中。
* @param [options.delta = 1.0] - 增量权值
* @param [options.sigma = 3.78] - 滤波权值,delta和sigma用于计算高斯滤波器的权值。方程是 exp((-0.5 * delta * delta) / (sigma * sigma))。
* @param [options.stepSize = 5.0] - 步长,是下一个texel的距离
*/
declare class BloomEffect extends BaseEffect {
constructor(options?: {
enabled?: boolean;
contrast?: number;
brightness?: number;
delta?: number;
sigma?: number;
stepSize?: number;
});
/**
* 对比度,取值范围[-255.0,255.0]
*/
contrast: number;
/**
* 亮度, 将输入纹理的RGB值转换为色相、饱和度和亮度(HSB),然后将该值添加到亮度中
*/
brightness: number;
/**
* 增量.方程是 exp((-0.5 * delta * delta) / (sigma * sigma))。
*/
delta: number;
/**
* delta和sigma用于计算高斯滤波器的权值。方程是 exp((-0.5 * delta * delta) / (sigma * sigma))。
*/
sigma: number;
/**
* 步长,是下一个texel的距离
*/
stepSize: number;
}
/**
* 选中对象的 泛光效果。
* @param [options] - 参数对象
* @param [options.eventType = "click"] - 高亮触发的事件类型,默认为单击。可选值:单击、鼠标移入,false时不内部控制
* @param [options.color = Cesium.Color.WHITE] - 泛光颜色
* @param [options.contrast = 128] - 对比度,取值范围[-255.0,255.0]
* @param [options.brightness = -0.3] - 亮度, 将输入纹理的RGB值转换为色相、饱和度和亮度(HSB),然后将该值添加到亮度中。
* @param [options.blurSamples = 32] - 模糊样本
* @param [options.delta = 1.0] - 增量
* @param [options.sigma = 3.78] - delta和sigma用于计算高斯滤波器的权值。方程是 exp((-0.5 * delta * delta) / (sigma * sigma))。
* @param [options.stepSize = 5.0] - 步长,是下一个texel的距离
* @param [options.ratio = 2.0] - 亮度增强比例
* @param [options.threshold = 0.0] - 亮度阈值
* @param [options.smoothWidth = 0.01] - 亮度光滑的宽度
* @param [options.enabled = true] - 对象的启用状态
*/
declare class BloomTargetEffect extends BaseEffect {
constructor(options?: {
eventType?: EventType | boolean;
color?: Cesium.Color;
contrast?: number;
brightness?: number;
blurSamples?: number;
delta?: number;
sigma?: number;
stepSize?: number;
ratio?: number;
threshold?: number;
smoothWidth?: number;
enabled?: boolean;
});
/**
* 发光颜色
*/
color: Cesium.Color;
/**
* 高亮触发的事件类型,默认为单击。
*/
eventType: EventType | string;
/**
* 选中对象
*/
selected: any | any | undefined;
}
/**
* 高亮特效
* @param [options] - 参数对象,包括以下:
* @param [options.enabled = true] - 对象的启用状态
* @param [options.brightness = 2.0] - 亮度值
*/
declare class BrightnessEffect extends BaseEffect {
constructor(options?: {
enabled?: boolean;
brightness?: number;
});
/**
* 亮度, 将输入纹理的RGB值转换为色相、饱和度和亮度(HSB),然后将该值添加到亮度中
*/
brightness: number;
}
/**
* 景深
* @param [options] - 参数对象,包括以下:
* @param [options.enabled = true] - 对象的启用状态
* @param [options.focalDistance = 87] - 焦距,是以米为单位的距离来设定相机的焦距。
* @param [options.delta = 1.0] - 增量
* @param [options.sigma = 3.78] - delta和sigma用于计算高斯滤波器的权值。方程是 exp((-0.5 * delta * delta) / (sigma * sigma))。
* @param [options.stepSize = 5.0] - 步长,是下一个texel的距离
*/
declare class DepthOfFieldEffect extends BaseEffect {
constructor(options?: {
enabled?: boolean;
focalDistance?: number;
delta?: number;
sigma?: number;
stepSize?: number;
});
/**
* 焦距,是以米为单位的距离来设定相机的焦距。
*/
focalDistance: number;
/**
* 增量.方程是 exp((-0.5 * delta * delta) / (sigma * sigma))。
*/
delta: number;
/**
* delta和sigma用于计算高斯滤波器的权值。方程是 exp((-0.5 * delta * delta) / (sigma * sigma))。
*/
sigma: number;
/**
* 步长,是下一个texel的距离
*/
stepSize: number;
}
/**
* 雾场景效果
* @param [options] - 参数对象,包括以下:
* @param [options.enabled = true] - 对象的启用状态
* @param [options.fogByDistance = new Cesium.Cartesian4(10, 0.0, 1000, 0.9)] - 雾强度
* @param [options.fogByDistance_near] - 最近距离,可以与fogByDistance二选一
* @param [options.fogByDistance_nearValue] - 最近强度,可以与fogByDistance二选一
* @param [options.fogByDistance_far] - 最远距离,可以与fogByDistance二选一
* @param [options.fogByDistance_farValue] - 最远强度,可以与fogByDistance二选一
* @param [options.color = Cesium.Color.WHITE] - 雾颜色
* @param [options.maxHeight = 9000] - 最大高度,限定超出该高度不显示雾场景效果
*/
declare class FogEffect extends BaseEffect {
constructor(options?: {
enabled?: boolean;
fogByDistance?: Cesium.Cartesian4;
fogByDistance_near?: number;
fogByDistance_nearValue?: number;
fogByDistance_far?: number;
fogByDistance_farValue?: number;
color?: Cesium.Color;
maxHeight?: number;
});
/**
* 雾强度
*/
fogByDistance: Cesium.Cartesian4;
/**
* 雾颜色
*/
color: Cesium.Color;
/**
* 最高限定高度,超出该高度不显示雾场景效果
*/
maxHeight: number;
}
/**
* 倒影效果
* @param [options] - 参数对象,包括以下:
* @param [options.enabled = true] - 对象的启用状态
*/
declare class InvertedEffect extends BaseEffect {
constructor(options?: {
enabled?: boolean;
});
}
/**
* 马赛克效果
* @param [options] - 参数对象,包括以下:
* @param [options.enabled = true] - 对象的启用状态
*/
declare class MosaicEffect extends BaseEffect {
constructor(options?: {
enabled?: boolean;
});
}
/**
* 夜视效果
* @param [options] - 参数对象,包括以下:
* @param [options.enabled = true] - 对象的启用状态
*/
declare class NightVisionEffect extends BaseEffect {
constructor(options?: {
enabled?: boolean;
});
}
declare namespace OutlineEffect {
/**
* 对象轮廓描边效果 支持的参数信息
* @property [width = 6] - 线宽,单位:像素px
* @property [color = Cesium.Color.WHITE] - 轮廓线 颜色
* @property [colorHidden = color] - 被遮挡的轮廓线 颜色
* @property [showPlane = false] - 是否显示边缘同一个平面(按thresholdAngle属性定义)
* @property [planeAngle = 10] - 如果两个三角面的法线间夹角小于该值 则标记为同一个平面。该值的单位:角度
* @property [glow = false] - 是否显示发光
* @property [glowPower = 1] - 发光强度
* @property [glowStrength = 3] - 发光的增量
* @property [onlySelected = false] - 只显示选中构件
*/
type Options = {
width?: number;
color?: string | Cesium.Color;
colorHidden?: string | Cesium.Color;
showPlane?: boolean;
planeAngle?: number;
glow?: boolean;
glowPower?: number;
glowStrength?: number;
onlySelected?: boolean;
};
}
/**
* 对象轮廓描边效果
* @param [options] - 参数对象
* @param [options.eventType = "click"] - 高亮触发的事件类型,默认为单击。可选值:单击、鼠标移入,false时不内部控制
* @param [options.enabled = true] - 对象的启用状态
*/
declare class OutlineEffect extends BaseEffect {
constructor(options?: {
eventType?: EventType | boolean;
enabled?: boolean;
});
/**
* 选中对象
*/
selected: any | any | undefined;
/**
* 轮廓线 颜色
*/
color: string | Cesium.Color;
/**
* 被遮挡的轮廓线 颜色
*/
colorHidden: string | Cesium.Color;
/**
* 如果两个三角面的法线间夹角小于该值 则标记为同一个平面。该值的单位:角度
*/
planeAngle: number;
/**
* 重新赋值参数,同构造方法参数一致。
* @param options - 参数,与类的构造方法参数相同
* @returns 当前对象本身,可以链式调用
*/
setOptions(options: any): OutlineEffect;
/**
* 高亮触发的事件类型,默认为单击。
*/
eventType: EventType | string;
/**
* 轮廓线 宽度,单位:像素px
*/
width: number;
/**
* 是否显示边缘同一个平面(按thresholdAngle属性定义)
*/
showPlane: boolean;
/**
* 是否显示发光
*/
glow: boolean;
/**
* 发光强度
*/
glowPower: number;
/**
* 发光的增量
*/
glowStrength: number;
/**
* 只显示选中构件
*/
onlySelected: boolean;
}
/**
* 雨天气 效果
* @param [options] - 参数对象,包括以下:
* @param [options.enabled = true] - 对象的启用状态
* @param [options.size = 20] - 粒子大小
* @param [options.speed = 10] - 速度
* @param [options.direction = -30] - 方向(度),0度垂直向下
*/
declare class RainEffect extends BaseEffect {
constructor(options?: {
enabled?: boolean;
size?: number;
speed?: number;
direction?: number;
});
/**
* 速度
*/
speed: number;
/**
* 雨粒子大小
*/
size: number;
/**
* 雨的方向(度),0度垂直向下
*/
direction: number;
}
/**
* 地面积雪 效果
* @param [options] - 参数对象,包括以下:
* @param [options.enabled = true] - 对象的启用状态
* @param [options.alpha = 1.0] - 覆盖强度 0-1
* @param [options.maxHeight = 9000] - 最大高度,限定超出该高度不显示积雪效果
*/
declare class SnowCoverEffect extends BaseEffect {
constructor(options?: {
enabled?: boolean;
alpha?: number;
maxHeight?: number;
});
/**
* 最高限定高度,超出该高度不显示积雪效果
*/
maxHeight: number;
/**
* 覆盖强度 0-1
*/
alpha: number;
}
/**
* 雪天气 效果
* @param [options] - 参数对象,包括以下:
* @param [options.enabled = true] - 对象的启用状态
* @param [options.speed = 10] - 速度
*/
declare class SnowEffect extends BaseEffect {
constructor(options?: {
enabled?: boolean;
speed?: number;
});
/**
* 速度
*/
speed: number;
}
/**
* 全局JsDoc变量 (只是注释使用,非mars3d变量)
*/
declare namespace Globe {
/**
* Popup或Tooltip配置的数组方式对象
* @property [field] - 字段名称
* @property [name] - 显示的对应自定义名称
* @property [type] - 默认为label文本,也可以支持:'button'按钮,'html' html内容。
* @property [callback] - 当type为'button'按钮时,单击后触发的事件。
* @property [html] - 当type为'html'时,对于拼接的html内容。
* @property [format] - 使用window上有效的格式化js方法名称或function回调方法,来格式化字符串值。
* @property [unit] - 追加的计量单位值。
* @property [className] - 自定义样式名称
*/
type getTemplateHtml_template = {
field?: string;
name?: string;
type?: string;
callback?: string;
html?: string;
format?: string | ((...params: any[]) => any);
unit?: string;
className?: string;
};
}
declare namespace BaseGraphic {
/**
* 当前类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* graphic.on(mars3d.EventType.click, function (event) {
* console.log('单击了矢量数据对象', event)
* })
* @property add - 本身被添加
* @property remove - 本身被移除
* @property show - 显示了对象本身
* @property hide - 隐藏了对象本身
* @property updatePosition - 更新了坐标位置
* @property updateStyle - 更新了style对象
* @property updateAttr - 更新了attr对象
* @property click - 左键单击 鼠标事件 【仅支持交互的相关对象内存在】
* @property rightClick - 右键单击 鼠标事件
* @property mouseOver - 鼠标移入 鼠标事件
* @property mouseOut - 鼠标移出 鼠标事件
* @property popupOpen - popup弹窗打开后
* @property popupClose - popup弹窗关闭
* @property tooltipOpen - tooltip弹窗打开后
* @property tooltipClose - tooltip弹窗关闭
* @property contextMenuOpen - 右键菜单 打开后
* @property contextMenuClose - 右键菜单 关闭
* @property contextMenuClick - 右键菜单 单击某一项后
* @property highlightOpen - highlight高亮后
* @property highlightClose - highlight关闭后
* @property postRender - 每帧渲染 【仅DIV或Popup相关对象内存在】
* @property drawStart - 开始绘制 标绘事件 【仅支持标绘的相关对象内存在】
* @property drawMouseMove - 正在移动鼠标中,绘制过程中鼠标移动了点 标绘事件
* @property drawAddPoint - 绘制过程中增加了点 标绘事件
* @property drawRemovePoint - 绘制过程中删除了最后一个点 标绘事件
* @property drawCreated - 创建完成 标绘事件
* @property editStart - 开始编辑 标绘事件 【仅支持编辑的相关对象内存在】
* @property editMouseDown - 移动鼠标按下左键(LEFT_DOWN)标绘事件
* @property editMouseMove - 正在移动鼠标中,正在编辑拖拽修改点中(MOUSE_MOVE) 标绘事件
* @property editMovePoint - 编辑修改了点(LEFT_UP)标绘事件
* @property editRemovePoint - 编辑删除了点 标绘事件
* @property editStyle - 图上编辑修改了相关style属性 标绘事件
* @property editStop - 停止编辑 标绘事件
* @property load - gltf模型加载完成后【仅gltf模型相关对象存在】
* @property stop - 模型addDynamicPosition添加的动态点,到时时间停止后触发【仅addDynamicPosition动态点时存在】
*/
type EventType = {
add: string;
remove: string;
show: string;
hide: string;
updatePosition: string;
updateStyle: string;
updateAttr: string;
click: string;
rightClick: string;
mouseOver: string;
mouseOut: string;
popupOpen: string;
popupClose: string;
tooltipOpen: string;
tooltipClose: string;
contextMenuOpen: string;
contextMenuClose: string;
contextMenuClick: string;
highlightOpen: string;
highlightClose: string;
postRender: string;
drawStart: string;
drawMouseMove: string;
drawAddPoint: string;
drawRemovePoint: string;
drawCreated: string;
editStart: string;
editMouseDown: string;
editMouseMove: string;
editMovePoint: string;
editRemovePoint: string;
editStyle: string;
editStop: string;
load: string;
stop: string;
};
}
/**
* 矢量数据 基础类
* @param options - 参数对象,包括以下:
* @param options.position - 【点状】矢量数据时的坐标位置,具体看子类实现
* @param options.positions - 【线面状(多点)】矢量数据时的坐标位置,具体看子类实现
* @param options.style - 矢量数据的 样式信息,具体见各类数据的说明
* @param [options.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class BaseGraphic extends BaseClass {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
style: any;
attr?: any;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 矢量数据类型
*/
readonly type: string;
/**
* 对象的id标识
*/
readonly id: string | number;
/**
* 当前对象的状态
*/
readonly state: State;
/**
* 是否已添加到图层
*/
readonly isAdded: boolean;
/**
* 是否已经销毁了
*/
readonly isDestroy: boolean;
/**
* 是否Mars3D内部的私有对象,如标绘拖拽点等
*/
readonly isPrivate: boolean;
/**
* 矢量数据对应的 Cesium内部对象 (不同子类中实现)
*/
readonly czmObject: Cesium.Entity | Cesium.Primitive | Cesium.GroundPrimitive | Cesium.ClassificationPrimitive | any;
/**
* 显示隐藏状态
*/
show: boolean;
/**
* 名称
*/
name: string;
/**
* 属性信息
*/
attr: any;
/**
* 样式信息
*/
style: any;
/**
* 是否允许鼠标穿透拾取
*/
allowDrillPick: boolean | ((...params: any[]) => any);
/**
* 是否可以编辑
*/
hasEdit: boolean;
/**
* 中心点坐标(笛卡尔坐标)
*/
readonly center: Cesium.Cartesian3 | Cesium.SampledPositionProperty;
/**
* 中心点坐标
*/
readonly centerPoint: LngLatPoint;
/**
* 是否可以调整透明度
*/
readonly hasOpacity: boolean;
/**
* 添加到图层上,同 layer.addGraphic
* @param layer - 图层对象
* @returns 当前对象本身,可以链式调用
*/
addTo(layer: GraphicLayer): BaseGraphic | any;
/**
* 从图层上移除,同 layer.removeGraphic
* @param [hasDestroy] - 是否调用destroy释放
* @returns 无
*/
remove(hasDestroy?: boolean): void;
/**
* 绑定Cesium内部对象进行相关管理。
* @param item - Cesium对象
* @returns 当前对象本身,可以链式调用
*/
bindPickId(item: any): BaseGraphic | any;
/**
* 对象添加到图层前创建一些对象的钩子方法,
* 只会调用一次
* @returns 无
*/
_mountedHook(): void;
/**
* 对象添加到图层上的创建钩子方法,
* 每次add时都会调用
* @param style - 完整样式信息
* @returns 无
*/
_addedHook(style: any): void;
/**
* 对象从图层上移除的创建钩子方法,
* 每次remove时都会调用
* @returns 无
*/
_removedHook(): void;
/**
* 启用或禁用所有内部控件(含tooltip、popup、contextmenu)
* @param value - 是否启用
* @returns 无
*/
enableControl(value: boolean): void;
/**
* 重新赋值参数,同构造方法参数一致。
* @param options - 参数,与类的构造方法参数相同
* @returns 当前对象本身,可以链式调用
*/
setOptions(options: any): BaseGraphic | any;
/**
* 设置 样式信息 的钩子方法
* @param newStyle - 本次更新的部分样式信息,内部会合并属性
* @returns 当前对象本身,可以链式调用
*/
setStyle(newStyle: any): BaseGraphic | any;
/**
* 设置透明度, 不是所有类型均支持,主要看数据类型和材质类型决定。
* @param value - 透明度
* @returns 无
*/
setOpacity(value: number): void;
/**
* 将矢量数据导出为GeoJSON格式规范对象。
* @param [options] - 参数对象:
* @param [options.noAlt] - 不导出高度值
* @returns GeoJSON格式规范对象
*/
toGeoJSON(options?: {
noAlt?: boolean;
}): any;
/**
* 将矢量数据的坐标、样式及属性等信息导出为对象,可以用于存储。
* @returns 导出的坐标、样式及属性等信息
*/
toJSON(): any;
/**
* 获取数据的矩形边界
* @param [options] - 控制参数
* @param [options.isFormat = false] - 是否格式化,格式化时示例: { xmin: 73.16895, xmax: 134.86816, ymin: 12.2023, ymax: 54.11485 }
* @returns isFormat:true时,返回格式化对象,isFormat:false时返回Cesium.Rectangle对象
*/
getRectangle(options?: {
isFormat?: boolean;
}): Cesium.Rectangle | any;
/**
* 飞行定位至 数据所在的视角
* @param [options = {}] - 参数对象:
* @param [options.radius] - 点状数据时,相机距离目标点的距离(单位:米)
* @param [options.scale = 1.2] - 线面数据时,缩放比例,可以控制视角比矩形略大一些,这样效果更友好。
* @param [options.minHeight] - 定位时相机的最小高度值,用于控制避免异常数据
* @param [options.maxHeight] - 定位时相机的最大高度值,用于控制避免异常数据
* @param [options.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0至360
* @param [options.pitch] - 俯仰角度值,绕纬度线旋转角度, 0至360
* @param [options.roll] - 翻滚角度值,绕经度线旋转角度, 0至360
* @param [options.duration] - 飞行时间(单位:秒)。如果省略,SDK内部会根据飞行距离计算出理想的飞行时间。
* @param [options.complete] - 飞行完成后要执行的函数。
* @param [options.cancel] - 飞行取消时要执行的函数。
* @param [options.endTransform] - 变换矩阵表示飞行结束时相机所处的参照系。
* @param [options.maximumHeight] - 飞行高峰时的最大高度。
* @param [options.pitchAdjustHeight] - 如果相机飞得比这个值高,在飞行过程中调整俯仰以向下看,并保持地球在视口。
* @param [options.flyOverLongitude] - 地球上的两点之间总有两条路。这个选项迫使相机选择战斗方向飞过那个经度。
* @param [options.flyOverLongitudeWeight] - 仅在通过flyOverLongitude指定的lon上空飞行,只要该方式的时间不超过flyOverLongitudeWeight的短途时间。
* @param [options.convert = true] - 是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。
* @param [options.easingFunction] - 控制在飞行过程中如何插值时间。
* @returns 如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise
*/
flyTo(options?: {
radius?: number;
scale?: number;
minHeight?: number;
maxHeight?: number;
heading?: number;
pitch?: number;
roll?: number;
duration?: number;
complete?: Cesium.Camera.FlightCompleteCallback;
cancel?: Cesium.Camera.FlightCancelledCallback;
endTransform?: Cesium.Matrix4;
maximumHeight?: number;
pitchAdjustHeight?: number;
flyOverLongitude?: number;
flyOverLongitudeWeight?: number;
convert?: boolean;
easingFunction?: Cesium.EasingFunction.Callback;
}): Promise;
/**
* 绑定鼠标移入或单击后的 对象高亮
* @param options - 高亮的样式,具体见各{@link GraphicType}矢量数据的style参数。
* @param [options.type] - 事件类型,默认为鼠标移入高亮,也可以指定'click'单击高亮.
* @returns 无
*/
bindHighlight(options: {
type?: string;
}): void;
/**
* 解绑鼠标移入或单击后的高亮处理
* @returns 无
*/
unbindHighlight(): void;
/**
* 是否存在Popup绑定
* @param [hasLayer = true] - 是否判断图层上的Popup
* @returns 是否存在Popup绑定
*/
hasPopup(hasLayer?: boolean): boolean;
/**
* 绑定鼠标单击对象后的弹窗。
* @param content - 弹窗内容html字符串,或者回调方法。
* @param [options] - 控制参数
* @returns 当前对象本身,可以链式调用
*/
bindPopup(content: string | ((...params: any[]) => any), options?: Popup.StyleOptions | any): BaseGraphic | any;
/**
* 解除绑定的鼠标单击对象后的弹窗。
* @param [bubbling = false] - 单击事件中是否继续冒泡往上级查找
* @returns 当前对象本身,可以链式调用
*/
unbindPopup(bubbling?: boolean): BaseGraphic | any;
/**
* 打开绑定的弹窗
* @param [position = this.center] - 矢量对象 或 显示的位置
* @param [event] - 用于抛出事件时的相关额外属性
* @returns 当前对象本身,可以链式调用
*/
openPopup(position?: LngLatPoint | Cesium.Cartesian3 | number[], event?: any): BaseGraphic | any;
/**
* 关闭弹窗
* @returns 当前对象本身,可以链式调用
*/
closePopup(): BaseGraphic | any;
/**
* 是否绑定了tooltip
* @param [hasLayer = true] - 是否判断图层上的tooltip
* @returns 是否绑定
*/
hasTooltip(hasLayer?: boolean): boolean;
/**
* 绑定鼠标移入的弹窗
* @param content - 弹窗内容html字符串,或者回调方法。
* @param [options] - 控制参数
* @returns 当前对象本身,可以链式调用
*/
bindTooltip(content: string | ((...params: any[]) => any), options?: Tooltip.StyleOptions | any): BaseGraphic | any;
/**
* 解除绑定的鼠标移入对象后的弹窗。
* @param [bubbling = false] - 单击事件中是否继续冒泡查找
* @returns 当前对象本身,可以链式调用
*/
unbindTooltip(bubbling?: boolean): BaseGraphic | any;
/**
* 打开绑定的tooltip弹窗
* @param [position = this.center] - 显示的位置,默认为矢量对象所在点或中心点位置
* @param [event] - 用于抛出事件时的相关额外属性
* @returns 当前对象本身,可以链式调用
*/
openTooltip(position?: LngLatPoint | Cesium.Cartesian3 | number[], event?: any): BaseGraphic | any;
/**
* 关闭弹窗
* @returns 当前对象本身,可以链式调用
*/
closeTooltip(): BaseGraphic | any;
/**
* 是否有绑定的右键菜单
* @param [hasLayer = true] - 是否判断图层上的右键菜单
* @returns 当前对象本身,可以链式调用
*/
hasContextMenu(hasLayer?: boolean): BaseGraphic | any;
/**
* 获取绑定的右键菜单数组
* @param [hasLayer = true] - 是获取图层上的右键菜单
* @returns 右键菜单数组
*/
getContextMenu(hasLayer?: boolean): any;
/**
* 绑定右键菜单
* @example
* graphic.bindContextMenu([
* {
* text: '删除对象',
* icon: 'fa fa-trash-o',
* callback: function (e) {
* let graphic = e.graphic
* if (graphic) {
* graphic.remove()
* }
* },
* },
* ])
* @param content - 右键菜单配置数组,数组中每一项包括:
* @param [content.text] - 菜单文字
* @param [content.icon] - 图标,可以是:图片url路径、base64字符串、svg字符串、字体图标class名
* @param [content.show] - 菜单项是否显示的回调方法
* @param [content.callback] - 菜单项单击后的回调方法
* @param [content.children] - 当有二级子菜单时,配置数组。
* @param [options = {}] - 控制参数
* @param [options.offsetX] - 用于非规则对象时,横向偏移的px像素值
* @param [options.offsetY] - 用于非规则对象时,垂直方向偏移的px像素值
* @returns 当前对象本身,可以链式调用
*/
bindContextMenu(content: {
text?: string;
icon?: string;
show?: ((...params: any[]) => any) | boolean;
callback?: (...params: any[]) => any;
children?: any;
}[], options?: {
offsetX?: number;
offsetY?: number;
}): BaseGraphic | any;
/**
* 解除绑定的右键菜单
* @param [bubbling = false] - 单击事件中是否继续冒泡查找
* @returns 当前对象本身,可以链式调用
*/
unbindContextMenu(bubbling?: boolean): BaseGraphic | any;
/**
* 打开右键菜单
* @param [position = this.center] - 矢量对象 或 显示的位置
* @returns 当前对象本身,可以链式调用
*/
openContextMenu(position?: Cesium.Cartesian3): BaseGraphic | any;
/**
* 关闭右键菜单
* @returns 当前对象本身,可以链式调用
*/
closeContextMenu(): BaseGraphic | any;
/**
* 显示小提示窗,一般用于鼠标操作的提示。
* @param position - 显示的屏幕坐标位置 或 笛卡尔坐标位置
* @param message - 显示的内容
* @returns 当前对象本身,可以链式调用
*/
openSmallTooltip(position: Cesium.Cartesian2 | Cesium.Cartesian3, message: any): BaseGraphic | any;
/**
* 关闭小提示窗
* @returns 当前对象本身,可以链式调用
*/
closeSmallTooltip(): BaseGraphic | any;
/**
* 当前类的构造参数
*/
readonly options: any;
/**
* 销毁当前对象
* @param [noDel = false] - false:会自动delete释放所有属性,true:不delete绑定的变量
* @returns 无
*/
destroy(noDel?: boolean): void;
/**
* 触发指定类型的事件。
* @param type - 事件类型
* @param [data] - 传输的数据或对象,可在事件回调方法中event对象中获取进行使用
* @param [propagate] - 将事件传播给父类 (用addEventParent设置)
* @returns 当前对象本身,可以链式调用
*/
fire(type: EventType | string, data?: any, propagate?: BaseClass): BaseClass;
}
/**
* 大数据合并渲染Primitive对象基类
*/
declare class BaseCombine extends BasePrimitive {
/**
* 数据集合数组,同类的构造参数
*/
instances: any;
/**
* 根据 pickId 获取对应绑定的数据据对象
* @param pickId - 单个对象的pickid
* @returns 对应绑定的数据对象
*/
getPickedObject(pickId: string): any;
/**
* 获取数据的矩形边界
* @param [options] - 控制参数
* @param [options.isFormat = false] - 是否格式化,格式化时示例: { xmin: 73.16895, xmax: 134.86816, ymin: 12.2023, ymax: 54.11485 }
* @returns isFormat:true时,返回格式化对象,isFormat:false时返回Cesium.Rectangle对象
*/
getRectangle(options?: {
isFormat?: boolean;
}): Cesium.Rectangle | any;
/**
* 将矢量数据的坐标、样式及属性等信息导出为对象,可以用于存储。
* @returns 导出的坐标、样式及属性等信息
*/
toJSON(): any;
/**
* 将矢量数据导出为GeoJSON格式规范对象。[因为geojson格式规范,是拆分为多个Feature,如果不满足需求,也可以用toJSON方法]
* @param [options] - 参数对象:
* @param [options.noAlt] - 不导出高度值
* @returns GeoJSON格式规范对象
*/
toGeoJSON(options?: {
noAlt?: boolean;
}): any;
/**
* 更新颜色
* @param style - 样式信息
* @param [style.color = "#3388ff"] - 颜色
* @param [style.opacity = 1.0] - 透明度,取值范围:0.0-1.0
* @param [index] - 更新的instances对象index值,为空时更新所有对象。
* @returns 空
*/
setColorStyle(style: {
color?: string | Cesium.Color;
opacity?: number;
}, index?: number | undefined): void;
}
/**
* 大数据点状数据基类 集合 (合并渲染) Primitive图元 矢量对象
* @param options - 参数对象,包括以下:
* @param [options.instances] - 面信息数组,单个对象包括:
* @param options.instances.position - 坐标位置
* @param [options.instances.style] - 样式信息
* @param [options.instances.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.style] - 所有面的公共样式信息
* @param [options.highlight] - 鼠标移入或单击后的对应高亮的部分样式
* @param [options.highlight.type] - 触发高亮的方式,默认鼠标移入,可以指定为type:'click'为单击后高亮
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class BasePointCombine extends BasePolyCombine {
constructor(options: {
instances?: {
position: LngLatPoint | Cesium.Cartesian3 | any[] | any;
style?: any;
attr?: any;
}[];
style?: any;
highlight?: {
type?: string;
};
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
/**
* 大数据线面集合 (合并渲染) Primitive图元 矢量对象基类
* @param options - 参数对象,包括以下:
* @param [options.instances] - 线面信息数组,单个对象包括:
* @param options.instances.positions - 坐标位置
* @param [options.instances.style] - 样式信息
* @param [options.instances.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.style] - 所有面的公共样式信息
* @param [options.highlight] - 鼠标移入或单击后的对应高亮的部分样式
* @param [options.highlight.type] - 触发高亮的方式,默认鼠标移入,可以指定为type:'click'为单击后高亮
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class BasePolyCombine extends BaseCombine {
constructor(options: {
instances?: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
style?: any;
attr?: any;
}[];
style?: any;
highlight?: {
type?: string;
};
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 样式信息
*/
readonly style: any;
/**
* 高亮对象。
* @param [highlightStyle] - 高亮的样式,具体见各{@link GraphicType}矢量数据的style参数。
* @param [closeLast = true] - 是否清除地图上上一次的高亮对象
* @param [pickedObject] - 指定需要高亮的子对象, 如果是mars3d的相关事件内时,可以取 event.pickedObject
* @returns 无
*/
openHighlight(highlightStyle?: any, closeLast?: boolean, pickedObject?: any): void;
/**
* 清除已选中的高亮,原有style的配置项需要与highlightStyle配置有一一对应关系,否则无法清除
* @returns 无
*/
closeHighlight(): void;
}
/**
* 大数据 盒子 集合 (合并渲染) Primitive图元 矢量对象
* @param options - 参数对象,包括以下:
* @param [options.instances] - 面信息数组,单个对象包括:
* @param options.instances.position - 坐标位置
* @param [options.instances.style] - 样式信息
* @param [options.instances.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.style] - 所有面的公共样式信息
* @param [options.highlight] - 鼠标移入或单击后的对应高亮的部分样式
* @param [options.highlight.type] - 触发高亮的方式,默认鼠标移入,可以指定为type:'click'为单击后高亮
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class BoxCombine extends BasePointCombine {
constructor(options: {
instances?: {
position: LngLatPoint | Cesium.Cartesian3 | any[] | any;
style?: BoxPrimitive.StyleOptions | any;
attr?: any;
}[];
style?: BoxPrimitive.StyleOptions | any;
highlight?: {
type?: string;
};
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
/**
* 大数据圆集合 (合并渲染) Primitive图元 矢量对象
* @param options - 参数对象,包括以下:
* @param [options.instances] - 面信息数组,单个对象包括:
* @param options.instances.position - 坐标位置
* @param [options.instances.style] - 样式信息
* @param [options.instances.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.style] - 所有面的公共样式信息
* @param [options.highlight] - 鼠标移入或单击后的对应高亮的部分样式
* @param [options.highlight.type] - 触发高亮的方式,默认鼠标移入,可以指定为type:'click'为单击后高亮
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class CircleCombine extends BasePointCombine {
constructor(options: {
instances?: {
position: LngLatPoint | Cesium.Cartesian3 | any[] | any;
style?: CirclePrimitive.StyleOptions | any;
attr?: any;
}[];
style?: CirclePrimitive.StyleOptions | any;
highlight?: {
type?: string;
};
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
/**
* 大数据 走廊 集合 (合并渲染) Primitive图元 矢量对象
* @param options - 参数对象,包括以下:
* @param [options.instances] - 线信息 数组,单个对象包括:
* @param options.instances.positions - 坐标位置
* @param [options.instances.style] - 样式信息
* @param [options.instances.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.style] - 所有线的公共样式信息
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取*
*/
declare class CorridorCombine extends BasePolyCombine {
constructor(options: {
instances?: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
style?: CorridorPrimitive.StyleOptions | any;
attr?: any;
}[];
style?: CorridorPrimitive.StyleOptions | any;
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
/**
* 大数据圆锥、圆柱集合 (合并渲染) Primitive图元 矢量对象
* @param options - 参数对象,包括以下:
* @param [options.instances] - 面信息数组,单个对象包括:
* @param options.instances.position - 坐标位置
* @param [options.instances.style] - 样式信息
* @param [options.instances.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.style] - 所有面的公共样式信息
* @param [options.highlight] - 鼠标移入或单击后的对应高亮的部分样式
* @param [options.highlight.type] - 触发高亮的方式,默认鼠标移入,可以指定为type:'click'为单击后高亮
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class CylinderCombine extends BasePointCombine {
constructor(options: {
instances?: {
position: LngLatPoint | Cesium.Cartesian3 | any[] | any;
style?: CylinderPrimitive.StyleOptions | any;
attr?: any;
}[];
style?: CylinderPrimitive.StyleOptions | any;
highlight?: {
type?: string;
};
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
/**
* 大数据 球体 集合 (合并渲染) Primitive图元 矢量对象
* @param options - 参数对象,包括以下:
* @param [options.instances] - 面信息数组,单个对象包括:
* @param options.instances.position - 坐标位置
* @param [options.instances.style] - 样式信息
* @param [options.instances.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.style] - 所有面的公共样式信息
* @param [options.highlight] - 鼠标移入或单击后的对应高亮的部分样式
* @param [options.highlight.type] - 触发高亮的方式,默认鼠标移入,可以指定为type:'click'为单击后高亮
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class EllipsoidCombine extends BasePointCombine {
constructor(options: {
instances?: {
position: LngLatPoint | Cesium.Cartesian3 | any[] | any;
style?: EllipsoidPrimitive.StyleOptions | any;
attr?: any;
}[];
style?: EllipsoidPrimitive.StyleOptions | any;
highlight?: {
type?: string;
};
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
declare namespace FlatBillboard {
/**
* 平放的图标 单个数据对象的样式
* @property image - 图标URL
* @property [angle = 0] - 图标的角度(角度值,0-360)
* @property [width = 50] - 图标宽度
* @property [height] - 图标高度,默认值等于宽度
*/
type StyleOptions = any | {
image: string;
angle?: number;
width?: number;
height?: number;
};
}
/**
* 平放的图标 数据集合 (多个图标一起合并渲染)
* @param options - 参数对象,包括以下:
* @param [options.instances] - 数组,单个对象包括:
* @param options.instances.position - 坐标位置
* @param options.instances.style - 样式信息
* @param [options.instances.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.style] - 所有图标的公共样式信息
* @param [options.scale3d = 0.8] - 二维和三维模式切换后图标的缩放比例。因为二三维模式使用不同渲染方式,可能存在大小偏差,可以该参数调优。
* @param [options.distanceDisplayCondition = new Cesium.DistanceDisplayCondition(0, 5000000)] - 指定数据将显示在与摄像机的多大距离
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class FlatBillboard extends BaseCombine {
constructor(options: {
instances?: {
position: LngLatPoint | Cesium.Cartesian3 | any[] | any;
style: FlatBillboard.StyleOptions | any;
attr?: any;
}[];
style?: FlatBillboard.StyleOptions | any;
scale3d?: number;
distanceDisplayCondition?: Cesium.DistanceDisplayCondition;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 指定数据将显示在与摄像机的多大距离
*/
distanceDisplayCondition: Cesium.DistanceDisplayCondition;
/**
* 清除数据
* @returns 无
*/
clear(): void;
/**
* 设置透明度
* @param value - 透明度
* @returns 无
*/
setOpacity(value: number): void;
/**
* 重新渲染
* @param [style] - 新的样式信息
* @returns 当前对象本身
*/
redraw(style?: any): BasePrimitive;
}
/**
* 大数据 四棱锥体 集合 (合并渲染) Primitive图元 矢量对象
* @param options - 参数对象,包括以下:
* @param [options.instances] - 面信息数组,单个对象包括:
* @param options.instances.position - 坐标位置
* @param [options.instances.style] - 样式信息
* @param [options.instances.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.style] - 所有面的公共样式信息
* @param [options.highlight] - 鼠标移入或单击后的对应高亮的部分样式
* @param [options.highlight.type] - 触发高亮的方式,默认鼠标移入,可以指定为type:'click'为单击后高亮
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class FrustumCombine extends BasePointCombine {
constructor(options: {
instances?: {
position: LngLatPoint | Cesium.Cartesian3 | any[] | any;
style?: FrustumPrimitive.StyleOptions | any;
attr?: any;
}[];
style?: FrustumPrimitive.StyleOptions | any;
highlight?: {
type?: string;
};
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
/**
* 大数据 gltf小模型集合 (合并渲染) Primitive图元 矢量对象
* @param options - 参数对象,包括以下:
* @param [options.url] - glTF模型的URI的字符串或资源属性。
* @param [options.instances] - 集合信息数组,单个对象包括:
* @param options.instances.position - 坐标位置
* @param [options.instances.style] - 样式信息(目前仅支持方向和比例参数)
* @param [options.instances.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.batchTable] - 实例化的3D贴图的Cesium.Cesium3DTileBatchTable批处理表。
* @param [options.requestType] - 请求类型,用于确定请求的优先级
* @param [options.gltf] - 一个glTF JSON对象,或者一个二进制的glTF缓冲区。
* @param [options.basePath = ''] - glTF JSON中路径相对的基本路径。
* @param [options.dynamic = false] - 提示实例模型矩阵是否会频繁更新。
* @param [options.allowPicking = true] - 当true时,每个glTF和Primitive都可以用{@link Cesium.Scene#pick}来拾取。
* @param [options.asynchronous = true] - 确定模型WebGL资源创建是否将分散在几个帧或块上,直到所有glTF文件加载完成。
* @param [options.incrementallyLoadTextures = true] - 确定模型加载后纹理是否会继续流进来。
* @param [options.shadows = ShadowMode.ENABLED] - 指定模型是投射还是接收来自光源的阴影。
* @param [options.imageBasedLightingFactor = new Cartesian2(1.0, 1.0)] - 指定来自基于图像的漫反射和镜面照明的贡献。
* @param [options.lightColor] - 光的颜色当遮光模型。当undefined场景的浅色被使用代替。
* @param [options.backFaceCulling = true] - 是否剔除面向背面的几何图形。当为真时,背面剔除由glTF材质的双面属性决定;当为false时,禁用背面剔除。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。查看模型的包围边界球。
* @param [options.debugWireframe = false] - 仅供调试。查看模型的三角网线框图。
*
* //以下是 模型动画相关
* @param [options.startTime] - 场景时间开始播放动画。当undefined时,动画从下一帧开始。
* @param [options.delay = 0.0] - 从startTime开始播放的延迟,以秒为单位。
* @param [options.stopTime] - 场景时间停止播放动画。当这是undefined,动画播放它的整个持续时间。
* @param [options.removeOnStop = false] - 当true时,动画在停止播放后被删除。
* @param [options.multiplier = 1.0] - 大于1.0的值增加动画播放的速度相对于场景时钟的速度;小于1.0会降低速度。
* @param [options.reverse = false] - 当true时,动画会反向播放。
* @param [options.loop = Cesium.ModelAnimationLoop.REPEAT] - 决定动画是否循环以及如何循环。
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class ModelCombine extends BaseCombine {
constructor(options: {
url?: Cesium.Resource | string;
instances?: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
style?: ModelPrimitive.StyleOptions | any;
attr?: any;
}[];
batchTable?: any;
requestType?: any;
gltf?: any | ArrayBuffer | Uint8Array;
basePath?: Cesium.Resource | string;
dynamic?: boolean;
allowPicking?: boolean;
asynchronous?: boolean;
incrementallyLoadTextures?: boolean;
shadows?: Cesium.ShadowMode;
imageBasedLightingFactor?: Cesium.Cartesian2;
lightColor?: Cesium.Cartesian3;
backFaceCulling?: boolean;
debugShowBoundingVolume?: boolean;
debugWireframe?: boolean;
startTime?: Cesium.JulianDate;
delay?: number;
stopTime?: Cesium.JulianDate;
removeOnStop?: boolean;
multiplier?: number;
reverse?: boolean;
loop?: Cesium.ModelAnimationLoop;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 是否可以调整透明度
*/
readonly hasOpacity: boolean;
}
/**
* 大数据 平面 集合 (合并渲染) Primitive图元 矢量对象
* @param options - 参数对象,包括以下:
* @param [options.instances] - 面信息数组,单个对象包括:
* @param options.instances.position - 坐标位置
* @param [options.instances.style] - 样式信息
* @param [options.instances.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.style] - 所有面的公共样式信息
* @param [options.highlight] - 鼠标移入或单击后的对应高亮的部分样式
* @param [options.highlight.type] - 触发高亮的方式,默认鼠标移入,可以指定为type:'click'为单击后高亮
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class PlaneCombine extends BasePointCombine {
constructor(options: {
instances?: {
position: LngLatPoint | Cesium.Cartesian3 | any[] | any;
style?: PlanePrimitive.StyleOptions | any;
attr?: any;
}[];
style?: PlanePrimitive.StyleOptions | any;
highlight?: {
type?: string;
};
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
/**
* 大数据面集合 (合并渲染) Primitive图元 矢量对象
* @param options - 参数对象,包括以下:
* @param [options.instances] - 面信息数组,单个对象包括:
* @param options.instances.positions - 坐标位置
* @param [options.instances.style] - 样式信息
* @param [options.instances.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.style] - 所有面的公共样式信息
* @param [options.highlight] - 鼠标移入或单击后的对应高亮的部分样式
* // * @param {String} [options.highlight.type] 触发高亮的方式,默认鼠标移入,可以指定为type:'click'为单击后高亮
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class PolygonCombine extends BasePolyCombine {
constructor(options: {
instances?: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
style?: PolygonPrimitive.StyleOptions | any;
attr?: any;
}[];
style?: PolygonPrimitive.StyleOptions | any;
highlight?: PolygonPrimitive.StyleOptions | any;
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
/**
* 大数据线集合 (合并渲染) Primitive图元 矢量对象
* @param options - 参数对象,包括以下:
* @param [options.instances] - 线信息 数组,单个对象包括:
* @param options.instances.positions - 坐标位置
* @param [options.instances.style] - 样式信息
* @param [options.instances.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.style] - 所有线的公共样式信息
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取*
*/
declare class PolylineCombine extends BasePolyCombine {
constructor(options: {
instances?: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
style?: PolylinePrimitive.StyleOptions | any;
attr?: any;
}[];
style?: PolylinePrimitive.StyleOptions | any;
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
/**
* 大数据线集合 (合并渲染) Primitive图元 矢量对象
* @param options - 参数对象,包括以下:
* @param [options.instances] - 线信息 数组,单个对象包括:
* @param options.instances.positions - 坐标位置
* @param [options.instances.style] - 样式信息
* @param [options.instances.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.style] - 所有线的公共样式信息
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取*
*/
declare class PolylineVolumeCombine extends BasePolyCombine {
constructor(options: {
instances?: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
style?: PolylineVolumePrimitive.StyleOptions | any;
attr?: any;
}[];
style?: PolylineVolumePrimitive.StyleOptions | any;
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
/**
* 大数据矩形集合 (合并渲染) Primitive图元 矢量对象
* @param options - 参数对象,包括以下:
* @param [options.instances] - 面信息数组,单个对象包括:
* @param options.instances.positions - 坐标位置
* @param [options.instances.style] - 样式信息
* @param [options.instances.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.style] - 所有面的公共样式信息
* @param [options.highlight] - 鼠标移入或单击后的对应高亮的部分样式
* @param [options.highlight.type] - 触发高亮的方式,默认鼠标移入,可以指定为type:'click'为单击后高亮
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class RectangleCombine extends BasePolyCombine {
constructor(options: {
instances?: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
style?: RectanglePrimitive.StyleOptions | any;
attr?: any;
}[];
style?: RectanglePrimitive.StyleOptions | any;
highlight?: {
type?: string;
};
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
/**
* 大数据 墙 集合 (合并渲染) Primitive图元 矢量对象
* @param options - 参数对象,包括以下:
* @param [options.instances] - 线信息 数组,单个对象包括:
* @param options.instances.positions - 坐标位置
* @param [options.instances.style] - 样式信息
* @param [options.instances.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.style] - 所有线的公共样式信息
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取*
*/
declare class WallCombine extends BasePolyCombine {
constructor(options: {
instances?: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
style?: WallPrimitive.StyleOptions | any;
attr?: any;
}[];
style?: WallPrimitive.StyleOptions | any;
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
/**
* 大数据 水面集合 (合并渲染) Primitive图元 矢量对象
* @param options - 参数对象,包括以下:
* @param [options.instances] - 面信息数组,单个对象包括:
* @param options.instances.positions - 坐标位置
* @param [options.instances.style] - 样式信息
* @param [options.instances.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.style] - 所有面的公共样式信息
* @param [options.highlight] - 鼠标移入或单击后的对应高亮的部分样式
* @param [options.highlight.type] - 触发高亮的方式,默认鼠标移入,可以指定为type:'click'为单击后高亮
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取*
*/
declare class WaterCombine extends PolygonCombine {
constructor(options: {
instances?: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
style?: PolygonPrimitive.StyleOptions | any;
attr?: any;
}[];
style?: PolygonPrimitive.StyleOptions | any;
highlight?: {
type?: string;
};
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
declare namespace ArcFrustum {
/**
* 弧形平截头体 支持的样式信息
* @property [angle] - 四棱锥体张角(角度值,取值范围 0.01-89.99)
* @property [angle2 = angle] - 四棱锥体张角2,(角度值,取值范围 0.01-89.99)
* @property distance - 投射距离,单位:米
* @property [heading = 0] - 方向角 (度数值,0-360度)
* @property [pitch = 0] - 俯仰角(度数值,0-360度)
* @property [roll = 0] - 翻滚角(度数值,0-360度)
* @property [color = Cesium.Color.WHITE] - 颜色
*/
type StyleOptions = any | {
angle?: number;
angle2?: number;
distance: number;
heading?: number;
pitch?: number;
roll?: number;
color?: Cesium.Color;
};
}
/**
* 弧形截头体,
* 目前用于视频投射、可视域分析中
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param [options.modelMatrix] - 将图元(所有几何实例)从模型转换为世界坐标的4x4变换矩阵,可以替代position。
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性。
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
*/
declare class ArcFrustum extends BasePointPrimitive {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
modelMatrix?: Cesium.Matrix4;
style: ArcFrustum.StyleOptions | any;
attr?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 颜色
*/
color: Cesium.Color;
/**
* 夹角,半场角度,取值范围 0.01-89.99
*/
angle: number;
/**
* 夹角2,半场角度,取值范围 0.01-89.99
*/
angle2: number;
/**
* 将图元(所有几何实例)从模型转换为世界坐标的4x4变换矩阵。
*/
readonly modelMatrix: Cesium.Matrix4;
}
/**
* 固定轨迹路线/历史轨迹路线,是由多个其他类型Graphic组合而成,方便一起控制和管理。
* 路线坐标是一次性postions参数或属性传入的,有开始和结束的概念。
* @param options - 参数对象,包括以下:
* @param options.positions - 轨迹的 坐标数组
* @param [options.offsetHeight = 0] - 轨迹偏移增加的高度
* @param [options.interpolation] - 是否LagrangePolynomialApproximation插值,对轨迹进行圆弧状插值
* @param [options.interpolationDegree = 2] - 当interpolation为true时,使用的插值程度。
* @param [options.showStop = true] - 是否在start前或stop后显示矢量对象
* @param options.speed - 轨迹的 速度( 单位:千米/小时)
* @param [options.timeField] - 当points数组中已有时间值,请传入该值的字段名称,同时speed将失效,已实际传入时间字段为准。
* @param [options.startTime] - 轨迹的开始时间,默认当前时间
* @param [options.pauseTime] - 每个点的停留时长(单位:秒)
* @param [options.autoStop] - 是否自动停止
* @param [options.clockLoop] - 是否循环播放,与 clockRange: Cesium.ClockRange.LOOP_STOP 效果类似,但不改变全局时钟时间。
* @param [options.clockRange] - 设定全局时钟播放的模式,可以设置到达终点后停止或循环播放
* @param [options.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.label] - 使用 文本 对象,及其对应的样式
* @param [options.billboard] - 使用 图标 对象,及其对应的样式
* @param [options.point] - 使用 图标 对象,及其对应的样式
* @param [options.model] - 使用 gltf模型 对象,及其对应的样式
* @param [options.circle] - 使用 圆 对象,及其对应的样式
* @param [options.coneTrack] - 使用 圆锥体 对象,及其对应的样式
* @param [options.path] - 使用 path轨迹 对象,及其对应的样式
* @param [options.polyline] - 使用 polyline路线 对象,及其对应的样式
* // * @param {number} [options.polyline.maxDistance] 设置保留的轨迹长度值(单位:米),不设置时保留所有的轨迹
* // * @param {Boolean} [options.polyline.showAll] 是否一直显示展示所有坐标
* @param [options.wall] - 使用 墙体 对象,及其对应的样式
* // * @param {number} [options.wall.maxDistance] 设置保留的轨迹长度值(单位:米),不设置时保留所有的轨迹
* // * @param {number} [options.wall.surface] 设置墙底部高度是否贴地
* @param [options.frameRate = 1] - 多少帧获取一次数据。用于控制效率,如果卡顿就把该数值调大一些。
* @param [options.forwardExtrapolationType = Cesium.ExtrapolationType.HOLD] - 在任何可用坐标之后一次请求值时要执行的推断类型,默认为最后一个坐标位置。
* @param [options.backwardExtrapolationType = Cesium.ExtrapolationType.HOLD] - 在任何可用坐标之前一次请求值时要执行的推断类型,默认为第一个坐标位置。
* @param [options.fixedFrameTransform = Cesium.Transforms.eastNorthUpToFixedFrame] - 参考系
* @param [options.orientation] - 自定义实体方向, 默认内部根据轨迹自动的
* @param [options.camera] - 视角模式设置,包括:
* @param [options.camera.type] - 视角模式类型,包括:'':无、'gs':跟随视角、'dy':第一视角、'sd':上帝视角
* @param [options.camera.radius] - 'gs'跟随视角时的 初始俯仰距离值(单位:米)
* @param [options.camera.heading] - 'gs'跟随视角时的 初始方向角度值,绕垂直于地心的轴旋转角度, 0至360
* @param [options.camera.pitch] - 'gs'跟随视角时的 初始俯仰角度值,绕纬度线旋转角度, 0至360
* @param [options.camera.followedX = 50] - 'dy'锁定第一视角时,距离运动点的距离(后方)
* @param [options.camera.followedZ = 10] - 'dy'锁定第一视角或'sd'上帝视角时,距离运动点的高度(上方)
* @param [options.camera.offsetX = 0] - 'dy'锁定第一视角时,锁定点的本身的X轴方向(前后)偏移值
* @param [options.camera.offsetY = 0] - 'dy'锁定第一视角时,锁定点的本身的Y轴方向(横向)偏移值
* @param [options.camera.offsetZ = 0] - 'dy'锁定第一视角时,锁定点的本身的Z轴方向(高度)偏移值
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class FixedRoute extends Route {
constructor(options: {
positions: any[][] | LngLatPoint[];
offsetHeight?: number;
interpolation?: boolean;
interpolationDegree?: boolean;
showStop?: boolean;
speed: any[][] | number;
timeField?: string;
startTime?: string | Date | Cesium.JulianDate;
pauseTime?: number | ((...params: any[]) => any);
autoStop?: boolean;
clockLoop?: boolean;
clockRange?: Cesium.ClockRange;
attr?: any;
label?: LabelPrimitive.StyleOptions | any;
billboard?: BillboardEntity.StyleOptions | any;
point?: PointPrimitive.StyleOptions | any;
model?: ModelPrimitive.StyleOptions | any;
circle?: CircleEntity.StyleOptions | any;
coneTrack?: ConeTrack.StyleOptions | any;
path?: PathEntity.StyleOptions | any;
polyline?: PolylineEntity.StyleOptions | any;
wall?: WallEntity.StyleOptions | any;
frameRate?: number;
forwardExtrapolationType?: Cesium.ExtrapolationType;
backwardExtrapolationType?: Cesium.ExtrapolationType;
fixedFrameTransform?: Cesium.Transforms.LocalFrameToFixedFrame;
orientation?: Cesium.Property | any;
camera?: {
type?: string;
radius?: number;
heading?: number;
pitch?: number;
followedX?: number;
followedZ?: number;
offsetX?: number;
offsetY?: number;
offsetZ?: number;
};
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 开始时间
*/
readonly startTime: Cesium.JulianDate;
/**
* 结束时间
*/
readonly stopTime: Cesium.JulianDate;
/**
* 位置坐标数组
*/
points: any[][] | LngLatPoint[];
/**
* 位置坐标数组, 读取时是Cesium.Cartesian3[],赋值可以是LngLatPoint[]等
*/
positions: any[][] | LngLatPoint[] | Cesium.Cartesian3[];
/**
* 是否已启动
*/
readonly isStart: boolean;
/**
* 当前实时信息
*/
readonly info: any;
/**
* 开始飞行漫游
* @returns 无
*/
start(): void;
/**
* 停止飞行漫游
* @returns 无
*/
stop(): void;
/**
* 计算贴地线
* @param [options] - 控制参数
* @param [options.splitNum = 100] - 插值数,等比分割的个数
* @param [options.minDistance] - 插值最小间隔(单位:米),优先级高于splitNum
* @param [options.has3dtiles = auto] - 是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)
* @param [options.objectsToExclude] - 贴模型分析时,排除的不进行贴模型计算的模型对象,可以是: primitives, entities, 或 3D Tiles features
* @param [options.offset = 0] - 可以按需增加偏移高度(单位:米),便于可视
* @returns 异步计算完成的Promise
*/
autoSurfaceHeight(options?: {
splitNum?: number;
minDistance?: number;
has3dtiles?: boolean;
objectsToExclude?: any;
offset?: number;
}): Promise;
/**
* 获取剖面数据
* @param [options] - 控制参数
* @param [options.splitNum = 100] - 插值数,等比分割的个数
* @param [options.minDistance] - 插值最小间隔(单位:米),优先级高于splitNum
* @param [options.has3dtiles = auto] - 是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)
* @param [options.objectsToExclude] - 贴模型分析时,排除的不进行贴模型计算的模型对象,可以是: primitives, entities, 或 3D Tiles features
* @param [options.offset = 0] - 可以按需增加偏移高度(单位:米),便于可视
* @returns 异步计算完成的Promise
*/
getTerrainHeight(options?: {
splitNum?: number;
minDistance?: number;
has3dtiles?: boolean;
objectsToExclude?: any;
offset?: number;
}): Promise;
}
declare namespace ParticleSystem {
/**
* 粒子效果 支持的样式信息
* @property [image] - 粒子的图片URL
* @property [emitter = new Cesium.CircleEmitter(1.0)] - 粒子发射器
* @property [emissionRate = 100] - 发射速率 (单位:次/秒)
* @property [heading = 0] - 方向角 (度数值,0-360度)
* @property [pitch = 0] - 俯仰角(度数值,0-360度)
* @property [roll = 0] - 翻滚角(度数值,0-360度)
* @property [gravity] - 重力因子,会修改速度矢量以改变方向或速度(基于物理的效果)
* @property [transX = 0] - 粒子在X轴方向上的偏离距离(单位:米)
* @property [transY = 0] - 粒子在Y轴方向上的偏离距离(单位:米)
* @property [transZ = 0] - 粒子离地高度(单位:米),粒子在Z轴方向上的偏离距离
* @property [particleSize = 25] - 粒子大小(px),粒子图片的Size大小(单位:像素)
* @property [imageSize] - 粒子图片的Size大小,可以设置高宽不同(单位:像素),与particleSize二选一
* @property [minimumImageSize] - 最小大小,设置最小边界,宽度和高度,在此之上随机缩放粒子图像的像素尺寸
* @property [maximumImageSize] - 最大大小,设置最大边界,宽度和高度,在其以下随机缩放粒子图像的像素尺寸
* @property [scale] - 比例,设置在粒子生命周期内应用于粒子图像的比例
* @property [startScale = 2.0] - 开始比例,粒子在出生时的比例(单位:相对于imageSize大小的倍数)
* @property [endScale = 4.0] - 结束比例,粒子在死亡时的比例(单位:相对于imageSize大小的倍数)
* @property [color = Color.WHITE] - 颜色,设置一个粒子在其生命周期内的颜色
* @property [startColor] - 开始颜色,粒子出生时的颜色
* @property [endColor] - 结束颜色,当粒子死亡时的颜色
* @property [speed] - 速度(米/秒), 如果设置,则使用此值覆盖最小速度和最大速度输入
* @property [minimumSpeed = 1.0] - 最小速度,设定以每秒米为单位的最小范围,超过这个范围粒子的实际速度将被随机选择
* @property [maximumSpeed = 2.0] - 最大速度(米/秒),设定以每秒米为单位的最大范围,低于这个范围粒子的实际速度将被随机选择
* @property [particleLife = 5.0] - 寿命时间(秒), 如果设置了这个值,将覆盖minimumParticleLife和maximumParticleLife输入
* @property [minimumParticleLife = 3] - 最小寿命时间, 设定一个粒子生命可能持续时间的最小界限(以秒为单位),在此之上一个粒子的实际生命将被随机选择
* @property [maximumParticleLife = 6] - 最大寿命时间, 设置一个粒子生命可能持续时间的最大界限(以秒为单位),低于这个时间的粒子的实际生命将被随机选择
* @property [mass = 1.0] - 质量(千克),设定粒子的最小和最大质量
* @property [minimumMass] - 最小质量,设定粒子质量的最小边界,一个粒子的实际质量将被选为高于这个值的随机数量
* @property [maximumMass] - 最大质量,设置粒子的最大质量,一个粒子的实际质量将被选为低于这个值的随机数量
* @property [loop = true] - 粒子系统完成后是否应该循环爆发
* @property [bursts] - 周期性发射粒子爆发数组
* @property [sizeInMeters] - 大小模式,设置粒子的大小是米还是像素。true以米为单位设置粒子的大小;否则,大小以像素为单位。
* @property [lifetime = number.MAX_VALUE] - 释放粒子的时间(秒)
* @property [maxHeight] - 最大视角高度(单位:米),超出该高度不显示粒子
*/
type StyleOptions = any | {
image?: string;
emitter?: Cesium.ParticleEmitter;
emissionRate?: number;
heading?: number;
pitch?: number;
roll?: number;
gravity?: number;
transX?: number;
transY?: number;
transZ?: number;
particleSize?: number;
imageSize?: Cesium.Cartesian2;
minimumImageSize?: Cesium.Cartesian2;
maximumImageSize?: Cesium.Cartesian2;
scale?: number;
startScale?: number;
endScale?: number;
color?: Cesium.Color;
startColor?: Cesium.Color;
endColor?: Cesium.Color;
speed?: number;
minimumSpeed?: number;
maximumSpeed?: number;
particleLife?: number;
minimumParticleLife?: number;
maximumParticleLife?: number;
mass?: number;
minimumMass?: number;
maximumMass?: number;
loop?: boolean;
bursts?: Cesium.ParticleBurst[];
sizeInMeters?: boolean;
lifetime?: number;
maxHeight?: number;
};
}
/**
* 粒子效果 对象,该对象暂不支持鼠标交互和拾取
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param [options.modelMatrix] - 粒子系统模型矩阵, 将图元(所有几何实例)从模型转换为世界坐标的4x4变换矩阵,可以替代position。
* @param [options.emitterModelMatrix] - 发射器矩阵, 用于在粒子系统本地坐标系中转换粒子系统发射器
* @param [options.updateCallback] - 每一帧调用一个回调函数来更新一个粒子。
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
*/
declare class ParticleSystem extends BasePointPrimitive {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
modelMatrix?: Cesium.Matrix4 | ((...params: any[]) => any);
emitterModelMatrix?: Cesium.Matrix4 | ((...params: any[]) => any);
updateCallback?: (...params: any[]) => any;
style: ParticleSystem.StyleOptions | any;
attr?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 最大视角高度(单位:米),超出该高度不显示粒子效果
*/
maxHeight: number;
/**
* 重力因子,会修改速度矢量以改变方向或速度(基于物理的效果)
*/
gravity: number;
/**
* X轴方向上的偏离距离(单位:米)
*/
transX: number;
/**
* Y轴方向上的偏离距离(单位:米)
*/
transY: number;
/**
* 离地高度,Z轴方向上的偏离距离(单位:米)
*/
transZ: number;
/**
* 粒子图片的Size大小(单位:像素)
*/
particleSize: number;
/**
* 是否可以调整透明度
*/
readonly hasOpacity: boolean;
/**
* 动态位置坐标
*/
property: Cesium.SampledPositionProperty | Cesium.CallbackProperty;
}
declare namespace Route {
/**
* 当前类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* graphic.on(mars3d.EventType.change, function (event) {
* console.log('坐标发生了变化', event)
* })
* @property change - 变化了
* @property endItem - 完成了一个传入坐标点的漫游
* @property end - 完成了当前所有点的漫游
* @property add - 添加对象
* @property remove - 移除对象
* @property show - 显示了对象
* @property hide - 隐藏了对象
* @property popupOpen - popup弹窗打开后
* @property popupClose - popup弹窗关闭
* @property tooltipOpen - tooltip弹窗打开后
* @property tooltipClose - tooltip弹窗关闭
* @property contextMenuOpen - 右键菜单 打开后
* @property contextMenuClose - 右键菜单 关闭
* @property contextMenuClick - 右键菜单 单击某一项后
* @property highlightOpen - highlight高亮后
* @property highlightClose - highlight关闭后
* @property click - 左键单击 鼠标事件
* @property rightClick - 右键单击 鼠标事件
* @property mouseOver - 鼠标移入 鼠标事件
* @property mouseOut - 鼠标移出 鼠标事件
*/
type EventType = {
change: string;
endItem: string;
end: string;
add: string;
remove: string;
show: string;
hide: string;
popupOpen: string;
popupClose: string;
tooltipOpen: string;
tooltipClose: string;
contextMenuOpen: string;
contextMenuClose: string;
contextMenuClick: string;
highlightOpen: string;
highlightClose: string;
click: string;
rightClick: string;
mouseOver: string;
mouseOut: string;
};
}
/**
* 动态实时轨迹路线,是由多个其他类型Graphic组合而成,方便一起控制和管理。
* 使用 {@link Route#addDynamicPosition} 方法来添加动画轨迹点位置。
* 如果只是显示单个模型等对象,建议直接使用对应的矢量对象,效率更高。
* @param options - 参数对象,包括以下:
* @param [options.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.label] - 使用 文本 对象,及其对应的样式
* @param [options.billboard] - 使用 图标 对象,及其对应的样式
* @param [options.point] - 使用 图标 对象,及其对应的样式
* @param [options.model] - 使用 gltf模型 对象,及其对应的样式
* @param [options.circle] - 使用 圆 对象,及其对应的样式
* @param [options.coneTrack] - 使用 圆锥体 对象,及其对应的样式
* @param [options.path] - 使用 path轨迹 对象,及其对应的样式
* @param [options.polyline] - 使用 polyline路线 对象,及其对应的样式
* // * @param {number} [options.polyline.maxDistance] 设置保留的轨迹长度值(单位:米),不设置时保留所有的轨迹
* @param [options.wall] - 使用 墙体 对象,及其对应的样式
* // * @param {number} [options.wall.maxDistance] 设置保留的轨迹长度值(单位:米),不设置时保留所有的轨迹
* // * @param {number} [options.wall.surface] 设置墙底部高度是否贴地
* @param [options.frameRate = 1] - 多少帧获取一次数据。用于控制效率,如果卡顿就把该数值调大一些。
* @param [options.maxCacheCount = 100] - 保留的坐标点数量,当为-1时保留所有
* @param [options.forwardExtrapolationType = Cesium.ExtrapolationType.HOLD] - 在任何可用坐标之后一次请求值时要执行的推断类型,默认为最后一个坐标位置。
* @param [options.backwardExtrapolationType = Cesium.ExtrapolationType.HOLD] - 在任何可用坐标之前一次请求值时要执行的推断类型,默认为第一个坐标位置。
* @param [options.fixedFrameTransform = Cesium.Transforms.eastNorthUpToFixedFrame] - 参考系
* @param [options.orientation] - 自定义实体方向, 默认内部根据轨迹自动的
* @param [options.camera] - 视角模式设置,包括:
* @param [options.camera.type] - 视角模式类型,包括:'':无、'gs':跟随视角、'dy':第一视角、'sd':上帝视角
* @param [options.camera.radius] - 'gs'跟随视角时的 初始俯仰距离值(单位:米)
* @param [options.camera.heading] - 'gs'跟随视角时的 初始方向角度值,绕垂直于地心的轴旋转角度, 0至360
* @param [options.camera.pitch] - 'gs'跟随视角时的 初始俯仰角度值,绕纬度线旋转角度, 0至360
* @param [options.camera.followedX = 50] - 'dy'锁定第一视角时,距离运动点的距离(后方)
* @param [options.camera.followedZ = 10] - 'dy'锁定第一视角或'sd'上帝视角时,距离运动点的高度(上方)
* @param [options.camera.offsetX = 0] - 'dy'锁定第一视角时,锁定点的本身的X轴方向(前后)偏移值
* @param [options.camera.offsetY = 0] - 'dy'锁定第一视角时,锁定点的本身的Y轴方向(横向)偏移值
* @param [options.camera.offsetZ = 0] - 'dy'锁定第一视角时,锁定点的本身的Z轴方向(高度)偏移值
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class Route extends BasePointPrimitive {
constructor(options: {
attr?: any;
label?: LabelPrimitive.StyleOptions | any;
billboard?: BillboardEntity.StyleOptions | any;
point?: PointPrimitive.StyleOptions | any;
model?: ModelPrimitive.StyleOptions | any;
circle?: CircleEntity.StyleOptions | any;
coneTrack?: ConeTrack.StyleOptions | any;
path?: PathEntity.StyleOptions | any;
polyline?: PolylineEntity.StyleOptions | any;
wall?: WallEntity.StyleOptions | any;
frameRate?: number;
maxCacheCount?: number;
forwardExtrapolationType?: Cesium.ExtrapolationType;
backwardExtrapolationType?: Cesium.ExtrapolationType;
fixedFrameTransform?: Cesium.Transforms.LocalFrameToFixedFrame;
orientation?: Cesium.Property | any;
camera?: {
type?: string;
radius?: number;
heading?: number;
pitch?: number;
followedX?: number;
followedZ?: number;
offsetX?: number;
offsetY?: number;
offsetZ?: number;
};
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 文本 子对象
*/
label: LabelPrimitive | any;
/**
* 图标 子对象
*/
billboard: BillboardPrimitive;
/**
* 像素点 子对象
*/
point: PointPrimitive | any;
/**
* 模型 子对象
*/
model: ModelPrimitive;
/**
* 圆 子对象
*/
circle: CircleEntity;
/**
* 圆锥体 子对象
*/
coneTrack: ConeTrack;
/**
* path路径 子对象
*/
path: PathEntity;
/**
* 路线 子对象
*/
polyline: PolylineEntity;
/**
* 墙体 子对象
*/
wall: WallEntity;
/**
* 将图元(所有几何实例)从模型转换为世界坐标的4x4变换矩阵。
*
提示:父类属性,非所有子类都具备
*/
readonly modelMatrix: Cesium.Matrix4;
/**
* 开始时间
*/
readonly startTime: Cesium.JulianDate;
/**
* 结束时间
*/
readonly stopTime: Cesium.JulianDate;
/**
* 当前飞行过的positions轨迹点数组的index顺序
*/
readonly currIndex: number;
/**
* 倍速,构造完成的对象,可以调用此属性调整速度。
*/
multiplier: number;
/**
* 是否暂停状态
*/
isPause: boolean;
/**
* 遍历所有矢量数据并将其作为参数传递给回调函数
* @param method - 回调方法
* @param [context] - 侦听器的上下文(this关键字将指向的对象)。
* @returns 当前对象本身,可以链式调用
*/
eachChildGraphic(method: (...params: any[]) => any, context?: any): Route;
/**
* 获取当前矩阵
* @param offest - 偏移值
* @param offest.x - X轴方向偏移值,单位:米
* @param offest.y - Y轴方向偏移值,单位:米
* @param offest.z - Z轴方向偏移值,单位:米
* @returns 当前矩阵
*/
computeModelMatrix(offest: {
x: number;
y: number;
z: number;
}): Cesium.Matrix4;
/**
* 获取数据的矩形边界
* @param [options] - 控制参数
* @param [options.isFormat = false] - 是否格式化,格式化时示例: { xmin: 73.16895, xmax: 134.86816, ymin: 12.2023, ymax: 54.11485 }
* @returns isFormat:true时,返回格式化对象,isFormat:false时返回Cesium.Rectangle对象
*/
getRectangle(options?: {
isFormat?: boolean;
}): Cesium.Rectangle | any;
/**
* 位置坐标(数组对象),示例 [ [123.123456,32.654321,198.7], [111.123456,22.654321,50.7] ]
* @param noAlt - true时不导出高度值
* @returns 位置坐标(数组对象)
*/
getCoordinates(noAlt: boolean): any[][];
/**
* 定位至当前时间所在的位置 (非相机位置)
* @param [options = {}] - 具有以下属性的对象:
* @param [options.radius] - 相机距离目标点的距离(单位:米)
* @param [options.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0至360
* @param [options.pitch] - 俯仰角度值,绕纬度线旋转角度, 0至360
* @param [options.roll] - 翻滚角度值,绕经度线旋转角度, 0至360
* @param [options.duration] - 飞行持续时间(秒)。如果省略,内部会根据飞行距离计算出理想的飞行时间。
* @param [options.endTransform] - 表示飞行完成后摄像机将位于的参考帧的变换矩阵。
* @param [options.maximumHeight] - 飞行高峰时的最大高度。
* @param [options.pitchAdjustHeight] - 如果相机的飞行角度高于该值,请在飞行过程中调整俯仰角度以向下看,并将地球保持在视口中。
* @param [options.flyOverLongitude] - 地球上2点之间总是有两种方式。此选项会迫使相机选择战斗方向以在该经度上飞行。
* @param [options.flyOverLongitudeWeight] - 仅在通过flyOverLongitude指定的lon上空飞行,只要该方式的时间不超过flyOverLongitudeWeight的短途时间。
* @param [options.easingFunction] - 控制在飞行过程中如何插值时间。
* @returns 无
*/
flyToPoint(options?: {
radius?: number;
heading?: number;
pitch?: number;
roll?: number;
duration?: number;
endTransform?: Cesium.Matrix4;
maximumHeight?: number;
pitchAdjustHeight?: number;
flyOverLongitude?: number;
flyOverLongitudeWeight?: number;
easingFunction?: Cesium.EasingFunction.Callback;
}): void;
/**
* 清除最后一次的相机跟踪
* @returns 无
*/
static clearLastCamera(): void;
/**
* 更新视角模式,传入空值代表取消。
* @param [cameraOptions] - 参数,包括:
* @param [cameraOptions.type] - 视角模式类型,包括:'':无、'gs':跟随视角、'dy':第一视角、'sd':上帝视角
* @param [cameraOptions.radius] - 'gs'跟随视角时的 初始俯仰距离值(单位:米)
* @param [cameraOptions.heading] - 'gs'跟随视角时的 初始方向角度值,绕垂直于地心的轴旋转角度, 0至360
* @param [cameraOptions.pitch] - 'gs'跟随视角时的 初始俯仰角度值,绕纬度线旋转角度, 0至360 *
* @param [cameraOptions.followedX = 50] - 'dy'锁定第一视角时,距离运动点的距离(后方)
* @param [cameraOptions.followedZ = 10] - 'dy'锁定第一视角或'sd'上帝视角时,距离运动点的高度(上方)
* @returns 无
*/
setCameraOptions(cameraOptions?: {
type?: string;
radius?: number;
heading?: number;
pitch?: number;
followedX?: number;
followedZ?: number;
}): void;
/**
* 暂停
* @returns 无
*/
pause(): void;
/**
* 继续
* @returns 无
*/
proceed(): void;
/**
* 动态位置坐标
*/
property: Cesium.SampledPositionProperty | Cesium.CallbackProperty;
}
declare namespace Tetrahedron {
/**
* 四面体(顶部正方形+倒立的三角椎体) 支持的样式信息
* @property [width = 20] - 顶部大小,顶部正方形长宽,单位:米
* @property [height = 30] - 椎体高度,倒立的三角椎体部分高度,单位:米
* @property [color = new Cesium.Color(0.8, 0.8, 0, 0.8)] - 颜色
* @property [animation = true] - 是否动画
* @property [moveHeight = 30] - 动画时,上下移动的单程总高度,单位:米
* @property [moveDuration = 2] - 动画时,上下移动的单程总时长,单位:秒
* @property [rotationAngle = 1] - 动画时,每帧旋转的角度值,单位:度
*/
type StyleOptions = any | {
width?: number;
height?: number;
color?: string | Cesium.Color;
animation?: boolean;
moveHeight?: number;
moveDuration?: number;
rotationAngle?: number;
};
}
/**
* 四面体(顶部正方形+倒立的三角椎体)
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param [options.modelMatrix] - 将图元(所有几何实例)从模型转换为世界坐标的4x4变换矩阵,可以替代position。
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性。
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
*/
declare class Tetrahedron extends BasePointPrimitive {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
modelMatrix?: Cesium.Matrix4;
style: Tetrahedron.StyleOptions | any;
attr?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 颜色
*/
color: Cesium.Color;
/**
* 将图元(所有几何实例)从模型转换为世界坐标的4x4变换矩阵。
*/
readonly modelMatrix: Cesium.Matrix4;
/**
* 设置透明度
* @param value - 透明度
* @returns 无
*/
setOpacity(value: number): void;
}
declare namespace Video3D {
/**
* 视频融合(投射3D,贴物体表面) 支持的样式信息
* @property [container] - video视频DOM容器
* @property [url] - 视频的URL路径,与DOM二选一
* @property [maskImage] - 遮盖融合的图片url地址,可以用于视频的四周羽化效果。
* @property angle - 水平张角(度数)
* @property angle2 - 垂直张角(度数)
* @property [distance] - 投射最远距离,单位:米
* @property [heading = 0] - 方向角 (度数值,0-360度)
* @property [pitch = 0] - 俯仰角(度数值,0-360度)
* @property [roll = 0] - 翻滚角(度数值,0-360度)
* @property [opacity = 1.0] - 透明度 0.0 - 1.0
* @property [hiddenAreaColor = new Cesium.Color(0, 0, 0, 0.5)] - 无视频投影区域的颜色
* @property [showFrustum = false] - 是否显示视椎体框线
*/
type StyleOptions = any | {
container?: HTMLVideoElement;
url?: string;
maskImage?: string;
angle: number;
angle2: number;
distance?: number;
heading?: number;
pitch?: number;
roll?: number;
opacity?: number;
hiddenAreaColor?: Cesium.Color | string;
showFrustum?: boolean;
};
}
/**
* 视频融合(投射3D,贴物体表面),该对象暂不支持鼠标交互和拾取
* @param options - 参数对象,包括以下:
* @param options.position - 相机位置
* @param [options.targetPosition] - 目标视点位置,可以替代style中的相机heading\pitch\roll方向和distance距离参数
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
*/
declare class Video3D extends ViewShed {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
targetPosition?: LngLatPoint | Cesium.Cartesian3 | number[];
style: Video3D.StyleOptions | any;
attr?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 对应的视频DOM元素
*/
readonly container: HTMLVideoElement;
/**
* 最远投射距离,单位:米
*/
distance: number;
/**
* 暂停或播放 视频
*/
play: boolean;
}
declare namespace ViewShed {
/**
* 可视域矢量对象 支持的样式信息
* @property [angle = 60] - 水平张角(度数),取值范围 0-60
* @property [angle2 = 45] - 垂直张角(度数),取值范围 0-45
* @property [distance] - 投射最远距离,单位:米
* @property [heading = 0] - 方向角 (度数值,0-360度)
* @property [pitch = 0] - 俯仰角(度数值,0-360度)
* @property [roll = 0] - 翻滚角(度数值,0-360度)
* @property [opacity = 0.6] - 透明度 0.0 - 1.0
* @property [visibleAreaColor = new Cesium.Color(0, 1, 0)] - 可视区域颜色
* @property [hiddenAreaColor = new Cesium.Color(1, 0, 0)] - 不可视区域颜色
* @property [addHeight] - 在坐标点增加的高度值,规避遮挡,效果更友好
* @property [showFrustum = false] - 是否显示视椎体框线
*/
type StyleOptions = any | {
angle?: number;
angle2?: number;
distance?: number;
heading?: number;
pitch?: number;
roll?: number;
opacity?: number;
visibleAreaColor?: Cesium.Color | string;
hiddenAreaColor?: Cesium.Color | string;
addHeight?: number;
showFrustum?: boolean;
};
}
/**
* 可视域 矢量对象,该对象暂不支持鼠标交互和拾取
* @param options - 参数对象,包括以下:
* @param options.position - 相机位置
* @param [options.targetPosition] - 目标视点位置,可以替代style中的相机heading\pitch\roll方向和distance距离参数
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.terrain = true] - 是否启用地形的阴影效果,在平原地区或无地形时可以关闭
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
*/
declare class ViewShed extends BasePointPrimitive {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
targetPosition?: LngLatPoint | Cesium.Cartesian3 | number[];
style: ViewShed.StyleOptions | any;
attr?: any;
terrain?: boolean;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 水平张角,半场角度
*/
angle: number;
/**
* 垂直张角,半场角度
*/
angle2: number;
/**
* 可视区域颜色
*/
visibleAreaColor: Cesium.Color;
/**
* 不可视区域颜色
*/
hiddenAreaColor: Cesium.Color;
/**
* 混合系数0-1
*/
opacity: number;
/**
* 是否显示视椎体框线
*/
showFrustum: boolean;
/**
* 距离,单位:米
*/
distance: number;
/**
* 相机对象
*/
readonly camera: Cesium.Camera;
/**
* 目标点位置(笛卡尔坐标)
*/
targetPosition: Cesium.Cartesian3 | LngLatPoint;
/**
* 定位至相机的第一视角
* @returns 无
*/
setView(): void;
/**
* 设置透明度
* @param value - 透明度
* @returns 无
*/
setOpacity(value: number): void;
/**
* 开始绘制矢量数据,绘制的数据会加载在layer图层。
* @param layer - 图层
* @returns 无
*/
startDraw(layer: GraphicLayer): void;
/**
* 停止绘制
* @returns 无
*/
stopDraw(): void;
/**
* 位置坐标 (笛卡尔坐标), 赋值时可以传入LatLngPoint对象
*/
position: Cesium.Cartesian3 | LngLatPoint;
}
declare namespace DivBoderLabel {
/**
* 动态边框文本 支持的样式信息
* @property text - 文本内容
* @property [font_size = 15] - 字体大小
* @property [font_family = "楷体"] - 字体 ,可选项:微软雅黑,宋体,楷体,隶书,黑体 等
* @property [color = "#ccc"] - 文本CSS颜色
* @property [boderColor = "rgb(21, 209, 242)"] - 边框CSS颜色
* @property [width] - 面板宽度(px像素值),默认根据文本内容和字体大小自动计算
* @property [height] - 面板高度(px像素值),默认根据文本内容和字体大小自动计算
* @property [horizontalOrigin] - 横向方向的定位
* @property [verticalOrigin] - 垂直方向的定位
* @property [offsetX] - 用于非规则div时,横向偏移的px像素值
* @property [offsetY] - 用于非规则div时,垂直方向偏移的px像素值
* @property [scaleByDistance = false] - 是否按视距缩放
* @property [scaleByDistance_far = 1000000] - 上限
* @property [scaleByDistance_farValue = 0.1] - 比例值
* @property [scaleByDistance_near = 1000] - 下限
* @property [scaleByDistance_nearValue = 1] - 比例值
* @property [distanceDisplayCondition = false] - 是否按视距显示
* @property [distanceDisplayCondition_far = 10000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [clampToGround = false] - 是否贴地
* @property [heightReference = Cesium.HeightReference.NONE] - 指定高度相对于什么的属性。
* @property [css_transform_origin = 'left bottom 0'] - DIV的 transform-origin css值
* @property [timeRender] - 是否实时刷新全部HTML,此时需要绑定html需传入回调方法。
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
*/
type StyleOptions = any | {
text: string;
font_size?: number;
font_family?: string;
color?: string;
boderColor?: string;
width?: number;
height?: number;
horizontalOrigin?: Cesium.HorizontalOrigin;
verticalOrigin?: Cesium.VerticalOrigin;
offsetX?: number;
offsetY?: number;
scaleByDistance?: boolean;
scaleByDistance_far?: number;
scaleByDistance_farValue?: number;
scaleByDistance_near?: number;
scaleByDistance_nearValue?: number;
distanceDisplayCondition?: boolean;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
clampToGround?: boolean;
heightReference?: Cesium.HeightReference;
css_transform_origin?: string;
timeRender?: boolean;
setHeight?: number | string;
addHeight?: number | string;
};
}
/**
* 动态边框文本 DIV点
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.testPoint] - 测试点 的对应样式 ,可以进行用于比较测试div的位置,方便调试CSS。
* @param [options.pointerEvents = true] - DIV是否可以鼠标交互,为false时可以穿透操作及缩放地图,但无法进行鼠标交互及触发相关事件。
* @param [options.hasZIndex = false] - 是否自动调整DIV的层级顺序。
* @param [options.zIndex = "auto"] - 指定固定的zIndex层级属性(当hasZIndex为true时无效)
* @param [options.depthTest = true] - 是否打开深度判断(true时判断是否在球背面)
* @param [options.hasCache = true] - 是否启用缓存机制,如为true,在视角未变化时不重新渲染。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
*/
declare class DivBoderLabel extends DivGraphic {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
style: DivBoderLabel.StyleOptions | any;
attr?: any;
hasEdit?: boolean;
testPoint?: PointEntity.StyleOptions | any;
pointerEvents?: boolean;
hasZIndex?: boolean;
zIndex?: number | string;
depthTest?: boolean;
hasCache?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
});
}
declare namespace DivGraphic {
/**
* DIV点 支持的样式信息
* @property html - Html文本
* @property [horizontalOrigin] - 横向方向的定位
* @property [verticalOrigin] - 垂直方向的定位
* @property [offsetX] - 用于非规则div时,横向偏移的px像素值
* @property [offsetY] - 用于非规则div时,垂直方向偏移的px像素值
* @property [className] - 自定义的样式名
* @property [editClassName = "mars3d-divGraphic-edit"] - 编辑状态下的的样式名
* @property [scaleByDistance = false] - 是否按视距缩放
* @property [scaleByDistance_far = 1000000] - 上限
* @property [scaleByDistance_farValue = 0.1] - 比例值
* @property [scaleByDistance_near = 1000] - 下限
* @property [scaleByDistance_nearValue = 1] - 比例值
* @property [distanceDisplayCondition = false] - 是否按视距显示
* @property [distanceDisplayCondition_far = 10000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [clampToGround = false] - 是否贴地
* @property [heightReference = Cesium.HeightReference.NONE] - 指定高度相对于什么的属性。
* @property [css_transform_origin = 'left bottom 0'] - DIV的 transform-origin css值
* @property [timeRender] - 是否实时刷新全部HTML,此时需要绑定html需传入回调方法。
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
*/
type StyleOptions = any | {
html: string | HTMLDivElement | ((...params: any[]) => any);
horizontalOrigin?: Cesium.HorizontalOrigin;
verticalOrigin?: Cesium.VerticalOrigin;
offsetX?: number;
offsetY?: number;
className?: string;
editClassName?: string;
scaleByDistance?: boolean;
scaleByDistance_far?: number;
scaleByDistance_farValue?: number;
scaleByDistance_near?: number;
scaleByDistance_nearValue?: number;
distanceDisplayCondition?: boolean;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
clampToGround?: boolean;
heightReference?: Cesium.HeightReference;
css_transform_origin?: string;
timeRender?: boolean;
setHeight?: number | string;
addHeight?: number | string;
};
}
/**
* DIV点
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.testPoint] - 测试点 的对应样式 ,可以进行用于比较测试div的位置,方便调试CSS。
* @param [options.pointerEvents = true] - DIV是否可以鼠标交互,为false时可以穿透操作及缩放地图,但无法进行鼠标交互及触发相关事件。
* @param [options.hasZIndex = false] - 是否自动调整DIV的层级顺序。
* @param [options.zIndex = "auto"] - 指定固定的zIndex层级属性(当hasZIndex为true时无效)
* @param [options.depthTest = true] - 是否打开深度判断(true时判断是否在球背面)
* @param [options.hasCache = true] - 是否启用缓存机制,如为true,在视角未变化时不重新渲染。
* @param [options.parentContainer] - 控件加入的父容器,默认为当前图层所在的DOM layer.container
* @param [options.frameRate = 1] - 多少帧获取更新一次DIV像素位置。用于控制效率,如果卡顿就把该数值调大一些。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
*/
declare class DivGraphic extends BaseGraphic {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
style: DivGraphic.StyleOptions | any;
attr?: any;
hasEdit?: boolean;
testPoint?: PointEntity.StyleOptions | any;
pointerEvents?: boolean;
hasZIndex?: boolean;
zIndex?: number | string;
depthTest?: boolean;
hasCache?: boolean;
parentContainer?: HTMLElement;
frameRate?: number;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 位置坐标 (笛卡尔坐标), 赋值时可以传入LatLngPoint对象
*/
position: Cesium.Cartesian3 | LngLatPoint;
/**
* 位置坐标 (笛卡尔坐标)
*/
readonly point: LngLatPoint;
/**
* 位置坐标(数组对象),示例[113.123456,31.123456,30.1]
*/
readonly coordinate: any[];
/**
* 当前实时位置坐标(笛卡尔坐标)
*/
readonly positionShow: Cesium.Cartesian3;
/**
* 是否显示测试点,可以进行用于比较测试div的位置,方便调试CSS。
*/
testPoint: boolean;
/**
* DIV是否可以鼠标交互,为false时可以穿透操作及缩放地图,但无法进行鼠标交互及触发相关事件。
*/
pointerEvents: boolean;
/**
* 是否正在编辑状态
*/
readonly isEditing: boolean;
/**
* 编辑处理类
*/
readonly EditClass: EditDivGraphic;
/**
* 是否打开深度判断(true时判断是否在球背面)
*/
depthTest: boolean;
/**
* 是否贴地
*/
clampToGround: boolean;
/**
* 父容器DOM对象
*/
readonly parentContainer: HTMLElement;
/**
* 父容器DOM对象的ID
*/
readonly parentContainerId: string;
/**
* 对应的DOM元素
*/
readonly container: HTMLDivElement;
/**
* 对应的DOM元素的id
*/
readonly containerId: string;
/**
* 设置或获取当前对象对应的Html
*/
html: string | HTMLDivElement;
/**
* 设置透明度
* @param value - 透明度
* @returns 无
*/
setOpacity(value: number): void;
/**
* 更新刷新下DIV的位置,可以外部主动驱动来更新。
* @returns 当前对象本身,可以链式调用
*/
updateDivPosition(): DivGraphic;
/**
* 隐藏当前对象
* @returns 无
*/
hide(): void;
/**
* 设置并添加动画轨迹位置,按“指定时间”运动到达“指定位置”。
* @param point - 指定位置坐标
* @param [currTime] - 指定时间, 默认为当前时间。当为String时,可以传入'2021-01-01 12:13:00'; 当为number时,可以传入当前时间延迟的秒数。
* @returns 当前对象本身,可以链式调用
*/
addDynamicPosition(point: LngLatPoint | Cesium.Cartesian3 | number[], currTime?: Cesium.JulianDate | Date | string | number): DivGraphic;
/**
* 位置坐标(数组对象),示例[113.123456,31.123456,30.1]
* @param noAlt - true时不导出高度值
* @returns 位置坐标(数组对象)
*/
getCoordinate(noAlt: boolean): any[];
/**
* 高亮对象。
* @param [highlightStyle] - 高亮的样式,具体见各{@link GraphicType}矢量数据的style参数。
* @param [closeLast = true] - 是否清除地图上上一次的高亮对象
* @returns 无
*/
openHighlight(highlightStyle?: any, closeLast?: boolean): void;
/**
* 清除已选中的高亮,原有style的配置项需要与highlightStyle配置有一一对应关系,否则无法清除
* @returns 无
*/
closeHighlight(): void;
/**
* 异步计算更新坐标高度进行贴地(或贴模型),内部自动调用{@link PointUtil#getSurfaceHeight}方法处理。
* @param [options = {}] - 参数对象:
* @param [options.has3dtiles = auto] - 是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)
* @param [options.objectsToExclude] - 贴模型分析时,排除的不进行贴模型计算的模型对象,可以是: primitives, entities, 或 3D Tiles features
* @returns 异步计算完成的Promise
*/
autoSurfaceHeight(options?: {
has3dtiles?: boolean;
objectsToExclude?: any;
}): Promise;
/**
* 获取数据的矩形边界
* @param [options] - 控制参数
* @param [options.isFormat = false] - 是否格式化,格式化时示例: { xmin: 73.16895, xmax: 134.86816, ymin: 12.2023, ymax: 54.11485 }
* @returns isFormat:true时,返回格式化对象,isFormat:false时返回Cesium.Rectangle对象
*/
getRectangle(options?: {
isFormat?: boolean;
}): Cesium.Rectangle | any;
/**
* 开始绘制创建矢量数据,绘制的数据会加载在layer图层。
* @param layer - 图层
* @returns 无
*/
startDraw(layer: GraphicLayer): void;
/**
* 停止绘制,如有未完成的绘制会自动删除
* @returns 无
*/
stopDraw(): void;
/**
* 完成绘制和编辑,如有未完成的绘制会自动完成。
* 在移动端需要调用此方法来类似PC端双击结束。
* @returns 无
*/
endDraw(): void;
/**
* 启用或禁用popup、tooltip、contextmenu内部控件,
* 主要用于标绘时来关闭避免交互冲突。
* @param value - 是否启用
* @returns 无
*/
enableControl(value: boolean): void;
/**
* 开始编辑对象
* @returns 无
*/
startEditing(): void;
/**
* 停止编辑,释放正在编辑的对象。
* @returns 无
*/
stopEditing(): void;
/**
* 中心点坐标(笛卡尔坐标)
*/
readonly center: Cesium.Cartesian3 | Cesium.SampledPositionProperty;
}
declare namespace DivLightPoint {
/**
* 动画的扩散div点 支持的样式信息
* @property [color = '#f33349'] - 点的颜色
* @property [size = 10] - 高宽大小,单位:像素
* @property [label] - 文本
* @property [label.text] - 文本内容
* @property [label.color] - 文本颜色
* @property [offsetX] - 用于非规则div时,横向偏移的px像素值
* @property [offsetY] - 用于非规则div时,垂直方向偏移的px像素值
* @property [scaleByDistance = false] - 是否按视距缩放
* @property [scaleByDistance_far = 1000000] - 上限
* @property [scaleByDistance_farValue = 0.1] - 比例值
* @property [scaleByDistance_near = 1000] - 下限
* @property [scaleByDistance_nearValue = 1] - 比例值
* @property [distanceDisplayCondition = false] - 是否按视距显示
* @property [distanceDisplayCondition_far = 10000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [clampToGround = false] - 是否贴地
* @property [heightReference = Cesium.HeightReference.NONE] - 指定高度相对于什么的属性。
* @property [css_transform_origin = 'left bottom 0'] - DIV的 transform-origin css值
* @property [timeRender] - 是否实时刷新全部HTML,此时需要绑定html需传入回调方法。
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
*/
type StyleOptions = any | {
color?: string;
size?: number;
label?: {
text?: string;
color?: string;
};
offsetX?: number;
offsetY?: number;
scaleByDistance?: boolean;
scaleByDistance_far?: number;
scaleByDistance_farValue?: number;
scaleByDistance_near?: number;
scaleByDistance_nearValue?: number;
distanceDisplayCondition?: boolean;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
clampToGround?: boolean;
heightReference?: Cesium.HeightReference;
css_transform_origin?: string;
timeRender?: boolean;
setHeight?: number | string;
addHeight?: number | string;
};
}
/**
* 动画的扩散div点
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.testPoint] - 测试点 的对应样式 ,可以进行用于比较测试div的位置,方便调试CSS。
* @param [options.pointerEvents = true] - DIV是否可以鼠标交互,为false时可以穿透操作及缩放地图,但无法进行鼠标交互及触发相关事件。
* @param [options.hasZIndex = false] - 是否自动调整DIV的层级顺序。
* @param [options.zIndex = "auto"] - 指定固定的zIndex层级属性(当hasZIndex为true时无效)
* @param [options.depthTest = true] - 是否打开深度判断(true时判断是否在球背面)
* @param [options.hasCache = true] - 是否启用缓存机制,如为true,在视角未变化时不重新渲染。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
*/
declare class DivLightPoint extends DivGraphic {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
style: DivLightPoint.StyleOptions | any;
attr?: any;
hasEdit?: boolean;
testPoint?: PointEntity.StyleOptions | any;
pointerEvents?: boolean;
hasZIndex?: boolean;
zIndex?: number | string;
depthTest?: boolean;
hasCache?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
});
}
declare namespace DivUpLabel {
/**
* 竖立的文本 支持的样式信息
* @property text - 文本内容
* @property [color = "white"] - 文本CSS颜色
* @property [font_size = 15] - 字体大小
* @property [font_family = "楷体"] - 字体 ,可选项:微软雅黑,宋体,楷体,隶书,黑体 等
* @property [lineHeight = 100] - 底部线的高度值(单位:px像素)
* @property [circleSize = 10] - 底部圆圈的大小(单位:px像素)
* @property [horizontalOrigin] - 横向方向的定位
* @property [verticalOrigin] - 垂直方向的定位
* @property [offsetX] - 用于非规则div时,横向偏移的px像素值
* @property [offsetY] - 用于非规则div时,垂直方向偏移的px像素值
* @property [scaleByDistance = false] - 是否按视距缩放
* @property [scaleByDistance_far = 1000000] - 上限
* @property [scaleByDistance_farValue = 0.1] - 比例值
* @property [scaleByDistance_near = 1000] - 下限
* @property [scaleByDistance_nearValue = 1] - 比例值
* @property [distanceDisplayCondition = false] - 是否按视距显示
* @property [distanceDisplayCondition_far = 10000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [clampToGround = false] - 是否贴地
* @property [heightReference = Cesium.HeightReference.NONE] - 指定高度相对于什么的属性。
* @property [css_transform_origin = 'left bottom 0'] - DIV的 transform-origin css值
* @property [timeRender] - 是否实时刷新全部HTML,此时需要绑定html需传入回调方法。
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
*/
type StyleOptions = any | {
text: string;
color?: string;
font_size?: number;
font_family?: string;
lineHeight?: number;
circleSize?: number;
horizontalOrigin?: Cesium.HorizontalOrigin;
verticalOrigin?: Cesium.VerticalOrigin;
offsetX?: number;
offsetY?: number;
scaleByDistance?: boolean;
scaleByDistance_far?: number;
scaleByDistance_farValue?: number;
scaleByDistance_near?: number;
scaleByDistance_nearValue?: number;
distanceDisplayCondition?: boolean;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
clampToGround?: boolean;
heightReference?: Cesium.HeightReference;
css_transform_origin?: string;
timeRender?: boolean;
setHeight?: number | string;
addHeight?: number | string;
};
}
/**
* 竖立的文本 DIV点
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.testPoint] - 测试点 的对应样式 ,可以进行用于比较测试div的位置,方便调试CSS。
* @param [options.pointerEvents = true] - DIV是否可以鼠标交互,为false时可以穿透操作及缩放地图,但无法进行鼠标交互及触发相关事件。
* @param [options.hasZIndex = false] - 是否自动调整DIV的层级顺序。
* @param [options.zIndex = "auto"] - 指定固定的zIndex层级属性(当hasZIndex为true时无效)
* @param [options.depthTest = true] - 是否打开深度判断(true时判断是否在球背面)
* @param [options.hasCache = true] - 是否启用缓存机制,如为true,在视角未变化时不重新渲染。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
*/
declare class DivUpLabel extends DivGraphic {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
style: DivUpLabel.StyleOptions | any;
attr?: any;
hasEdit?: boolean;
testPoint?: PointEntity.StyleOptions | any;
pointerEvents?: boolean;
hasZIndex?: boolean;
zIndex?: number | string;
depthTest?: boolean;
hasCache?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
});
}
/**
* DivGraphic对象,标绘处理对应的编辑类
*/
declare class EditDivGraphic extends EditBase {
/**
* 对应的DOM元素
*/
readonly container: Element;
/**
* 激活绘制
* @returns 当前对象本身,可以链式调用
*/
activate(): EditBase;
/**
* 释放绘制
* @returns 当前对象本身,可以链式调用
*/
disable(): EditBase;
}
declare namespace Popup {
/**
* Popup对象 支持的配置信息
* @property [html] - Html文本({content}部分,整体展示的DOM由template和html属性共同组成)
* @property [template] - 公共部分外框部分html内容,需要加2处:
* (1)用于填充html的地方写上{content}标识;
* (2)关闭按钮加class样式:closeButton。
* 传空字符串或false时,不用内置模版。
* @property [horizontalOrigin] - 横向方向的定位
* @property [verticalOrigin] - 垂直方向的定位
* @property [offsetX] - 用于非规则div时,横向偏移的px像素值
* @property [offsetY] - 用于非规则div时,垂直方向偏移的px像素值
* @property [className] - 自定义的样式名
* @property [scaleByDistance = false] - 是否按视距缩放
* @property [scaleByDistance_far = 1000000] - 上限
* @property [scaleByDistance_farValue = 0.1] - 比例值
* @property [scaleByDistance_near = 1000] - 下限
* @property [scaleByDistance_nearValue = 1] - 比例值
* @property [distanceDisplayCondition = false] - 是否按视距显示
* @property [distanceDisplayCondition_far = 10000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [clampToGround = false] - 是否贴地
* @property [css_transform_origin = 'left bottom 0'] - DIV的 transform-origin css值
* @property [timeRender] - 是否实时刷新全部HTML,此时需要绑定html需传入回调方法。
* @property [autoCenter] - 当气泡窗口有部分在地图之外时是否自动进行居中 (目前仅俯视时准确定位)
* @property [maxWidth = 700] - 弹窗的最大宽度,单位为像素
* @property [minWidth = 50] - 弹窗的最小宽度,单位为像素
* @property [maxHeight = 550] - 如果设置,如果内容超过此高度时,则在弹出窗口中显示滚动条。
*
* //以下是构造参数,但也兼容style中传入
* @property [closeOnClick = true] - 是否在单击Map地图时,自动关闭当前弹窗
* @property [autoClose = true] - 在打开弹窗时,是否自动关闭之前的弹窗
* @property [animation = true] - 是否执行打开时的动画效果
* @property [testPoint] - 测试点 的对应样式 ,可以进行用于比较测试div的位置,方便调试CSS。
* @property [pointerEvents = true] - DIV是否可以鼠标交互,为false时可以穿透操作及缩放地图,但无法进行鼠标交互及触发相关事件。
* @property [hasZIndex = false] - 是否自动调整DIV的层级顺序。
* @property [zIndex = "10000000"] - 指定固定的zIndex层级属性(当hasZIndex为true时无效)
* @property [depthTest = true] - 是否打开深度判断(true时判断是否在球背面)
* @property [hasCache = true] - 是否启用缓存机制,如为true,在视角未变化时不重新渲染。
*/
type StyleOptions = any | {
html?: string;
template?: string;
horizontalOrigin?: Cesium.HorizontalOrigin;
verticalOrigin?: Cesium.VerticalOrigin;
offsetX?: number;
offsetY?: number;
className?: string;
scaleByDistance?: boolean;
scaleByDistance_far?: number;
scaleByDistance_farValue?: number;
scaleByDistance_near?: number;
scaleByDistance_nearValue?: number;
distanceDisplayCondition?: boolean;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
clampToGround?: boolean;
css_transform_origin?: string;
timeRender?: boolean;
autoCenter?: boolean;
maxWidth?: number;
minWidth?: number;
maxHeight?: number;
closeOnClick?: boolean;
autoClose?: boolean;
animation?: boolean;
testPoint?: PointEntity.StyleOptions | any;
pointerEvents?: boolean;
hasZIndex?: boolean;
zIndex?: number | string;
depthTest?: boolean;
hasCache?: boolean;
};
}
/**
* Popup对象div点
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.closeOnClick = true] - 是否在单击Map地图时,自动关闭当前弹窗
* @param [options.autoClose = true] - 在打开弹窗时,是否自动关闭之前的弹窗
* @param [options.animation = true] - 是否执行打开时的动画效果
* @param [options.testPoint] - 测试点 的对应样式 ,可以进行用于比较测试div的位置,方便调试CSS。
* @param [options.pointerEvents = true] - DIV是否可以鼠标交互,为false时可以穿透操作及缩放地图,但无法进行鼠标交互及触发相关事件。
* @param [options.hasZIndex = false] - 是否自动调整DIV的层级顺序。
* @param [options.zIndex = "10000000"] - 指定固定的zIndex层级属性(当hasZIndex为true时无效)
* @param [options.depthTest = true] - 是否打开深度判断(true时判断是否在球背面)
* @param [options.hasCache = true] - 是否启用缓存机制,如为true,在视角未变化时不重新渲染。
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
*/
declare class Popup extends DivGraphic {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
style: Popup.StyleOptions | any;
attr?: any;
closeOnClick?: boolean;
autoClose?: boolean;
animation?: boolean;
testPoint?: PointEntity.StyleOptions | any;
pointerEvents?: boolean;
hasZIndex?: boolean;
zIndex?: number | string;
depthTest?: boolean;
hasCache?: boolean;
id?: string | number;
name?: string;
show?: boolean;
});
/**
* 关联的触发对象
*/
readonly target: BaseGraphic | BaseLayer | Map;
/**
* 位置坐标 (笛卡尔坐标), 赋值时可以传入LatLngPoint对象
*/
position: Cesium.Cartesian3 | LngLatPoint;
}
declare namespace Tooltip {
/**
* Tooltip对象 支持的配置信息
* @property [html] - Html文本({content}部分,整体展示的DOM由template和html属性共同组成)
* @property [template] - 公共部分外框部分html内容,需要加:用于填充html的地方写上{content}标识。 传空字符串或false时,不用内置模版。
* @property [direction = "top"] - 显示的方向,可选值: top、bottom、center、right、left
* @property [horizontalOrigin] - 横向方向的定位
* @property [verticalOrigin] - 垂直方向的定位
* @property [offsetX] - 用于非规则div时,横向偏移的px像素值
* @property [offsetY] - 用于非规则div时,垂直方向偏移的px像素值
* @property [className] - 自定义的样式名
* @property [scaleByDistance = false] - 是否按视距缩放
* @property [scaleByDistance_far = 1000000] - 上限
* @property [scaleByDistance_farValue = 0.1] - 比例值
* @property [scaleByDistance_near = 1000] - 下限
* @property [scaleByDistance_nearValue = 1] - 比例值
* @property [distanceDisplayCondition = false] - 是否按视距显示
* @property [distanceDisplayCondition_far = 10000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [clampToGround = false] - 是否贴地
* @property [css_transform_origin = 'left bottom 0'] - DIV的 transform-origin css值
* @property [timeRender] - 是否实时刷新全部HTML,此时需要绑定html需传入回调方法。
*
* //以下是构造参数,但也兼容style中传入
* @property [testPoint] - 测试点 的对应样式 ,可以进行用于比较测试div的位置,方便调试CSS。
* @property [pointerEvents = true] - DIV是否可以鼠标交互,为false时可以穿透操作及缩放地图,但无法进行鼠标交互及触发相关事件。
* @property [hasZIndex = false] - 是否自动调整DIV的层级顺序。
* @property [zIndex = "10000000"] - 指定固定的zIndex层级属性(当hasZIndex为true时无效)
* @property [depthTest = true] - 是否打开深度判断(true时判断是否在球背面)
* @property [hasCache = true] - 是否启用缓存机制,如为true,在视角未变化时不重新渲染。
*/
type StyleOptions = any | {
html?: string;
template?: string | boolean;
direction?: string;
horizontalOrigin?: Cesium.HorizontalOrigin;
verticalOrigin?: Cesium.VerticalOrigin;
offsetX?: number;
offsetY?: number;
className?: string;
scaleByDistance?: boolean;
scaleByDistance_far?: number;
scaleByDistance_farValue?: number;
scaleByDistance_near?: number;
scaleByDistance_nearValue?: number;
distanceDisplayCondition?: boolean;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
clampToGround?: boolean;
css_transform_origin?: string;
timeRender?: boolean;
testPoint?: PointEntity.StyleOptions | any;
pointerEvents?: boolean;
hasZIndex?: boolean;
zIndex?: number | string;
depthTest?: boolean;
hasCache?: boolean;
};
}
/**
* Tooltip对象div点
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.testPoint] - 测试点 的对应样式 ,可以进行用于比较测试div的位置,方便调试CSS。
* @param [options.pointerEvents = false] - DIV是否可以鼠标交互,为false时可以穿透操作及缩放地图,但无法进行鼠标交互及触发相关事件。
* @param [options.hasZIndex = false] - 是否自动调整DIV的层级顺序。
* @param [options.zIndex = "10000000"] - 指定固定的zIndex层级属性(当hasZIndex为true时无效)
* @param [options.depthTest = true] - 是否打开深度判断(true时判断是否在球背面)
* @param [options.hasCache = true] - 是否启用缓存机制,如为true,在视角未变化时不重新渲染。
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
*/
declare class Tooltip extends Popup {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
style: Tooltip.StyleOptions | any;
attr?: any;
testPoint?: PointEntity.StyleOptions | any;
pointerEvents?: boolean;
hasZIndex?: boolean;
zIndex?: number | string;
depthTest?: boolean;
hasCache?: boolean;
id?: string | number;
name?: string;
show?: boolean;
});
}
/**
* Entity实体 矢量对象 基类
* @param options - 参数对象,包括以下:
* @param options.position - 【点状】矢量数据时的坐标位置,具体看子类实现
* @param options.positions - 【线面状(多点)】矢量数据时的坐标位置,具体看子类实现
* @param options.style - 矢量数据的 样式信息,具体见各类数据的说明
* @param [options.attr] - 矢量数据的 属性信息,可以任意附加属性
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class BaseEntity extends BaseGraphic {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
style: any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 加载Entity数据的内部Cesium容器
*/
readonly dataSource: Cesium.CustomDataSource;
/**
* 矢量数据对应的 Cesium内部对象
*/
readonly entity: Cesium.Entity;
/**
* 矢量数据对应的 Cesium内部对象的具体类型对象
*/
readonly entityGraphic: any;
/**
* 附加的label文本对象
*/
readonly label: Cesium.Label | Cesium.LabelGraphics;
/**
* 是否正在编辑状态
*/
readonly isEditing: boolean;
/**
* 高亮对象。
* @param [highlightStyle] - 高亮的样式,具体见各{@link GraphicType}矢量数据的style参数。
* @param [closeLast = true] - 是否清除地图上上一次的高亮对象
* @returns 无
*/
openHighlight(highlightStyle?: any, closeLast?: boolean): void;
/**
* 清除已选中的高亮,原有style的配置项需要与highlightStyle配置有一一对应关系,否则无法清除
* @returns 无
*/
closeHighlight(): void;
/**
* 设置透明度
* @param value - 透明度
* @returns 无
*/
setOpacity(value: number): void;
/**
* 高亮闪烁 Enity实体对象
* @param options - 参数
* @param [options.time] - 闪烁的时长(秒),未设置时不自动停止。
* @param [options.color = Cesium.Color.YELLOW] - 高亮的颜色
* @param [options.maxAlpha = 0.3] - 闪烁的最大透明度,从 0 到 maxAlpha 渐变
* @param [options.onEnd] - 播放完成后的回调方法
* @returns 高亮闪烁控制 对象
*/
startFlicker(options: {
time?: number;
color?: Cesium.Color;
maxAlpha?: number;
onEnd?: (...params: any[]) => any;
}): FlickerEntity;
/**
* 停止高亮闪烁
* @returns 无
*/
stopFlicker(): void;
/**
* 开始绘制矢量数据,绘制的数据会加载在layer图层。
* @param layer - 图层
* @returns 无
*/
startDraw(layer: GraphicLayer): void;
/**
* 停止绘制
* @returns 无
*/
stopDraw(): void;
/**
* 移除绘制的坐标中的重复点,比如快速单击或双击产生的冗余坐标。
* @returns 无
*/
removeNearPoint(): void;
/**
* 完成绘制和编辑,如有未完成的绘制会自动完成。
* 在移动端需要调用此方法来类似PC端双击结束。
* @returns 是否正常结束了矢量对象绘制
*/
endDraw(): boolean;
/**
* 开始编辑对象
* @returns 无
*/
startEditing(): void;
/**
* 停止编辑,释放正在编辑的对象。
* @returns 无
*/
stopEditing(): void;
/**
* 矢量数据对应的 Cesium内部对象 (不同子类中实现)
*/
readonly czmObject: Cesium.Entity | Cesium.Primitive | Cesium.GroundPrimitive | Cesium.ClassificationPrimitive | any;
}
/**
* 单个坐标的点状Entity矢量数据 基类
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param [options.orientation] - 指定实体方向的属性。
* @param options.style - 矢量数据的 样式信息,具体见各类数据的说明
* @param [options.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.drawShow = true] - 绘制时,是否自动隐藏entity,可避免拾取坐标存在问题。
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.maxCacheCount = 50] - 当使用addDynamicPosition设置为动画轨迹位置时,保留的坐标点数量
* @param [options.forwardExtrapolationType = Cesium.ExtrapolationType.HOLD] - 当使用addDynamicPosition设置为动画轨迹位置时,在任何可用坐标之后一次请求值时要执行的推断类型,默认为最后一个坐标位置。
* @param [options.backwardExtrapolationType = Cesium.ExtrapolationType.HOLD] - 当使用addDynamicPosition设置为动画轨迹位置时, 在任何可用坐标之前一次请求值时要执行的推断类型,默认为第一个坐标位置。
* @param [options.clampToTileset] - 当使用addDynamicPosition设置为动画轨迹位置时,是否进行贴模型。
* @param [options.frameRateClamp = 30] - 当使用addDynamicPosition设置为动画轨迹位置时,并clampToTileset:true时,多少帧计算一次贴模型高度
* @param [options.objectsToExclude] - 当使用addDynamicPosition设置为动画轨迹位置时,并clampToTileset:true时,排除的不进行贴模型计算的模型对象,可以是: primitives, entities, 或 3D Tiles features
* @param [options.referenceFrame = Cesium.ReferenceFrame.FIXED] - 当使用addDynamicPosition设置为动画轨迹位置时,position位置被定义的参考系。
* @param [options.numberOfDerivatives = 0] - 当使用addDynamicPosition设置为动画轨迹位置时,每个位置的导数的数量;即速度、加速度等。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class BasePointEntity extends BaseEntity {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | Cesium.PositionProperty | number[] | string;
orientation?: Cesium.Property;
style: any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
drawShow?: boolean;
hasEdit?: boolean;
maxCacheCount?: number;
forwardExtrapolationType?: Cesium.ExtrapolationType;
backwardExtrapolationType?: Cesium.ExtrapolationType;
clampToTileset?: boolean;
frameRateClamp?: number;
objectsToExclude?: any;
referenceFrame?: Cesium.ReferenceFrame;
numberOfDerivatives?: number;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 编辑处理类
*/
readonly EditClass: EditPoint;
/**
* 位置坐标 (笛卡尔坐标), 赋值时可以传入LatLngPoint对象
*/
position: Cesium.Cartesian3 | LngLatPoint;
/**
* 当前实时位置坐标(笛卡尔坐标)
*/
readonly positionShow: Cesium.Cartesian3;
/**
* 位置坐标
*/
readonly point: LngLatPoint;
/**
* 位置坐标(数组对象),示例[113.123456,31.123456,30.1]
*/
readonly coordinate: any[];
/**
* 中心点坐标 (笛卡尔坐标)
*/
readonly center: Cesium.Cartesian3;
/**
* 中心点坐标
*/
readonly centerPoint: LngLatPoint;
/**
* 三维空间中的旋转。
*/
readonly orientation: Cesium.Quaternion;
/**
* 四周方向角,0-360度角度值
*/
heading: number;
/**
* 俯仰角,上下摇摆的角度,0-360度角度值
*/
pitch: number;
/**
* 滚转角,左右摆动的角度,0-360度角度值
*/
roll: number;
/**
* 坐标对应的高度值(单位:米)
*/
height: number;
/**
* 获取当前转换计算模型矩阵。如果方向或位置未定义,则返回undefined。
*/
readonly modelMatrix: Cesium.Matrix4;
/**
* 是否显示3个方向轴,用于对比测试
*/
debugAxis: boolean;
/**
* 显示3个方向轴时的对应轴长度,用于对比测试
*/
debugAxisLength: number;
/**
* 贴模型分析时,排除的不进行贴模型计算的模型对象,默认是当前本身,可以是: primitives, entities 等
*/
objectsToExclude: any | undefined;
/**
* 更新 三维空间中的Quaternion旋转对象。
* @returns 更新后的Quaternion旋转对象
*/
updateOrientation(): Cesium.Quaternion;
/**
* 清除addDynamicPosition添加的动态轨迹
* @returns 当前对象本身,可以链式调用
*/
clearDynamicPosition(): BasePointEntity;
/**
* 设置并添加动画轨迹位置,按“指定时间”运动到达“指定位置”。
* @param point - 指定位置坐标
* @param [currTime] - 指定时间, 默认为当前时间。当为String时,可以传入'2021-01-01 12:13:00'; 当为number时,可以传入当前时间延迟的秒数。
* @returns 当前对象本身,可以链式调用
*/
addDynamicPosition(point: LngLatPoint | Cesium.Cartesian3 | number[], currTime?: Cesium.JulianDate | Date | string | number): BasePointEntity;
/**
* 异步计算更新坐标高度进行贴地(或贴模型),内部自动调用{@link PointUtil#getSurfaceHeight}方法处理。
* @param [options = {}] - 参数对象:
* @param [options.has3dtiles = auto] - 是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)
* @param [options.objectsToExclude] - 贴模型分析时,排除的不进行贴模型计算的模型对象,可以是: primitives, entities, 或 3D Tiles features
* @returns 异步计算完成的Promise
*/
autoSurfaceHeight(options?: {
has3dtiles?: boolean;
objectsToExclude?: any;
}): Promise;
/**
* 位置坐标(数组对象),示例[113.123456,31.123456,30.1]
* @param noAlt - true时不导出高度值
* @returns 位置坐标(数组对象)
*/
getCoordinate(noAlt: boolean): any[];
/**
* 按Cesium.CallbackProperty的方式 更新坐标(更加平滑)
* @param position - 坐标
* @returns 当前坐标
*/
setCallbackPosition(position: string | any[] | any | Cesium.Cartesian3 | any): Cesium.Cartesian3;
/**
* 显示隐藏状态
*/
show: boolean;
}
/**
* 多个坐标的线面状 Entity矢量数据 基类
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 矢量数据的 样式信息,具体见各类数据的说明
* @param [options.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.minPointNum = 2] - 绘制时,至少需要点的个数
* @param [options.maxPointNum = 9999] - 绘制时,最多允许点的个数
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.hasMoveEdit = true] - 编辑时,是否可以整体平移
* @param [options.hasHeightEdit = true] - 编辑时,当有diffHeight时,是否可以编辑高度
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class BasePolyEntity extends BaseEntity {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
minPointNum?: number;
maxPointNum?: number;
hasEdit?: boolean;
hasMoveEdit?: boolean;
hasHeightEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 编辑时,是否可以整体平移
*/
readonly hasMoveEdit: boolean;
/**
* 编辑时,当有diffHeight时,是否可以编辑高度
*/
readonly hasHeightEdit: boolean;
/**
* 编辑处理类
*/
readonly EditClass: EditPoly;
/**
* 中心点坐标 (笛卡尔坐标)
*/
readonly center: Cesium.Cartesian3;
/**
* 围合面的内部中心点坐标
*/
readonly centerOfMass: Cesium.Cartesian3;
/**
* 边线的中心点坐标
*/
readonly centerOfLine: Cesium.Cartesian3;
/**
* 距离(单位:米)
*/
readonly distance: number;
/**
* 面积(单位:平方米)
*/
readonly area: number;
/**
* 位置坐标数组 (笛卡尔坐标), 赋值时可以传入LatLngPoint数组对象
*/
positions: Cesium.Cartesian3[];
/**
* 实际显示的坐标数组 (笛卡尔坐标),
* 如标绘中时positions对应的可能只是控制点坐标或CallbackProperty属性
*/
readonly positionsShow: Cesium.Cartesian3[];
/**
* 位置坐标数组
*/
readonly points: LngLatPoint[] | Cesium.Cartesian3[] | any[];
/**
* 位置坐标(数组对象),示例 [ [123.123456,32.654321,198.7], [111.123456,22.654321,50.7] ]
*/
readonly coordinates: any[][];
/**
* 坐标数据对应的矩形边界
*/
readonly rectangle: Cesium.Rectangle;
/**
* 位置坐标(数组对象),示例 [ [123.123456,32.654321,198.7], [111.123456,22.654321,50.7] ]
* @param noAlt - true时不导出高度值
* @returns 位置坐标(数组对象)
*/
getCoordinates(noAlt: boolean): any[][];
/**
* 判断点是否在当前对象的坐标点围成的多边形内
* @param position - 需要判断的点
* @returns 是否在多边形内
*/
isInPoly(position: Cesium.Cartesian3 | LngLatPoint): boolean;
/**
* 异步计算更新坐标高度进行贴地(或贴模型),内部自动调用{@link PolyUtil#computeSurfacePoints}方法处理。
* @param [options = {}] - 参数对象:
* @param [options.has3dtiles = auto] - 是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)
* @param [options.objectsToExclude] - 贴模型分析时,排除的不进行贴模型计算的模型对象,可以是: primitives, entities, 或 3D Tiles features
* @param [options.offset = 0] - 可以按需增加偏移高度(单位:米),便于可视
* @returns 异步计算完成的Promise
*/
autoSurfaceHeight(options?: {
has3dtiles?: boolean;
objectsToExclude?: any;
offset?: number;
}): Promise;
/**
* 按Cesium.CallbackProperty的方式 更新坐标集合(更加平滑)
* @param positions - 坐标数组
* @returns 当前坐标集合
*/
setCallbackPositions(positions: string[] | any[][] | LngLatPoint[]): Cesium.Cartesian3[];
}
declare namespace BillboardEntity {
/**
* 图标点 支持的样式信息
* @property [image] - 用于矢量对象的 图像、URI或Canvas
* @property [opacity = 1.0] - 透明度,取值范围:0.0-1.0
* @property [scale = 1] - 图像大小的比例
* @property [rotation = 0] - 旋转角度(弧度值),正北为0,逆时针旋转
* @property [rotationDegree = 0] - 旋转角度(度数值,0-360度),与rotation二选一
* @property [horizontalOrigin] - 横向方向的定位
* @property [verticalOrigin] - 垂直方向的定位
* @property [width] - 指定广告牌的宽度(以像素为单位),覆盖图片本身大小。
* @property [height] - 指定广告牌的高度(以像素为单位),覆盖图片本身大小。
* @property [hasPixelOffset = false] - 是否存在偏移量
* @property [pixelOffsetX = 0] - 横向偏移像素
* @property [pixelOffsetY = 0] - 纵向偏移像素
* @property [pixelOffset = Cartesian2.ZERO] - 指定像素偏移量。
* @property [scaleByDistance = false] - 是否按视距缩放 或 设置基于与相机的距离缩放点
* @property [scaleByDistance_far = 1000000] - 上限
* @property [scaleByDistance_farValue = 0.1] - 比例值
* @property [scaleByDistance_near = 1000] - 下限
* @property [scaleByDistance_nearValue = 1] - 比例值
* @property [distanceDisplayCondition = false] - 是否按视距显示 或 指定该广告牌将显示在与摄像机的多大距离
* @property [distanceDisplayCondition_far = 10000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [clampToGround = false] - 是否贴地
* @property [heightReference = Cesium.HeightReference.NONE] - 指定高度相对于什么的属性。
* @property [visibleDepth = true] - 是否被遮挡
* @property [disableDepthTestDistance] - 指定从相机到禁用深度测试的距离。
* @property [color = Color.WHITE] - 附加的颜色
* @property [eyeOffset = Cartesian3.ZERO] - 眼偏移量
* @property [alignedAxis = Cartesian3.ZERO] - 指定单位旋转向量轴。
* @property [sizeInMeters] - 指定该广告牌的大小是否应该以米来度量。
* @property [translucencyByDistance] - 用于基于与相机的距离设置半透明度。
* @property [pixelOffsetScaleByDistance] - 用于基于与相机的距离设置pixelOffset。
* @property [imageSubRegion] - 定义用于广告牌的图像的子区域,而不是从左下角开始以像素为单位的整个图像。
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
image?: string | HTMLCanvasElement;
opacity?: number;
scale?: number;
rotation?: number;
rotationDegree?: number;
horizontalOrigin?: Cesium.HorizontalOrigin;
verticalOrigin?: Cesium.VerticalOrigin;
width?: number;
height?: number;
hasPixelOffset?: boolean;
pixelOffsetX?: number;
pixelOffsetY?: number;
pixelOffset?: Cesium.Cartesian2 | number[];
scaleByDistance?: boolean | Cesium.NearFarScalar;
scaleByDistance_far?: number;
scaleByDistance_farValue?: number;
scaleByDistance_near?: number;
scaleByDistance_nearValue?: number;
distanceDisplayCondition?: boolean | Cesium.DistanceDisplayCondition;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
clampToGround?: boolean;
heightReference?: Cesium.HeightReference;
visibleDepth?: boolean;
disableDepthTestDistance?: number;
color?: Cesium.Color;
eyeOffset?: Cesium.Cartesian3;
alignedAxis?: Cesium.Cartesian3;
sizeInMeters?: boolean;
translucencyByDistance?: Cesium.NearFarScalar;
pixelOffsetScaleByDistance?: Cesium.NearFarScalar;
imageSubRegion?: Cesium.BoundingRectangle;
setHeight?: number | string;
addHeight?: number | string;
highlight?: BillboardEntity.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
};
}
/**
* 图标点 Entity对象
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.maxCacheCount = 50] - 当使用addDynamicPosition设置为动画轨迹位置时,保留的坐标点数量
* @param [options.forwardExtrapolationType = Cesium.ExtrapolationType.HOLD] - 当使用addDynamicPosition设置为动画轨迹位置时,在任何可用坐标之后一次请求值时要执行的推断类型,默认为最后一个坐标位置。
* @param [options.backwardExtrapolationType = Cesium.ExtrapolationType.HOLD] - 当使用addDynamicPosition设置为动画轨迹位置时, 在任何可用坐标之前一次请求值时要执行的推断类型,默认为第一个坐标位置。
* @param [options.clampToTileset] - 当使用addDynamicPosition设置为动画轨迹位置时,是否进行贴模型。
* @param [options.frameRateHeight = 30] - 当使用addDynamicPosition设置为动画轨迹位置时,并clampToTileset:true时,多少帧计算一次贴模型高度
* @param [options.objectsToExclude] - 当使用addDynamicPosition设置为动画轨迹位置时,并clampToTileset:true时,排除的不进行贴模型计算的模型对象,可以是: primitives, entities, 或 3D Tiles features
* @param [options.drawShow = true] - 绘制时,是否自动隐藏entity,可避免拾取坐标存在问题。
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.model] - 设置附加的 gltf模型 和对应的样式
* @param [options.point] - 设置附加的 像素点 和对应的样式
* @param [options.circle] - 设置附加的 圆 和对应的样式
* @param [options.path] - 设置附加的 轨迹路线 和对应的样式
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class BillboardEntity extends BasePointEntity {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | Cesium.PositionProperty | number[] | string;
style: BillboardEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
maxCacheCount?: number;
forwardExtrapolationType?: Cesium.ExtrapolationType;
backwardExtrapolationType?: Cesium.ExtrapolationType;
clampToTileset?: boolean;
frameRateHeight?: number;
objectsToExclude?: any;
drawShow?: boolean;
hasEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
model?: ModelEntity.StyleOptions | any | any;
point?: PointEntity.StyleOptions | any | any;
circle?: CircleEntity.StyleOptions | any | any;
path?: PathEntity.StyleOptions | any | any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 矢量数据对应的 Cesium内部对象的具体类型对象
*/
readonly entityGraphic: Cesium.BillboardGraphics;
/**
* 图像、URI或Canvas
*/
image: string | HTMLCanvasElement;
/**
* 设置透明度
* @param value - 透明度
* @returns 无
*/
setOpacity(value: number): void;
/**
* 开始执行弹跳动画
* @param [options] - 参数,包括
* @param [options.maxHeight = 50] - 弹跳的最大高度, 单位:像素
* @param [options.step = 1] - 弹跳增量, 控制速度,单位:像素
* @param [options.autoStop] - 是否自动停止,true时:会逐渐减弱至停止状态
* @returns 无
*/
startBounce(options?: {
maxHeight?: number;
step?: number;
autoStop?: boolean;
}): void;
/**
* 停止弹跳动画
* @returns 无
*/
stopBounce(): void;
}
declare namespace BoxEntity {
/**
* 盒子 支持的样式信息
* @property [dimensions] - 指定盒子的长度、宽度和高度。
* @property [dimensions_x = 100] - 盒子长度
* @property [dimensions_y = 100] - 盒子宽度
* @property [dimensions_z = 100] - 盒子高度
* @property [heading = 0] - 方向角 (度数值,0-360度)
* @property [pitch = 0] - 俯仰角(度数值,0-360度)
* @property [roll = 0] - 翻滚角(度数值,0-360度)
* @property [fill = true] - 是否填充
* @property [materialType = "Color"] - 填充类型 ,可选项:{@link MaterialType}
* @property [materialOptions] - materialType对应的{@link MaterialType}中材质参数
* @property [material = Cesium.Color.WHITE] - 指定用于填充的材质,指定material后`materialType`和`material材质参数`将被覆盖。
* @property [color = "#00FF00"] - 颜色
* @property [opacity = 1.0] - 透明度, 取值范围:0.0-1.0
* @property [outline = false] - 是否边框
* @property [outlineWidth = 1.0] - 边框宽度
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
* @property [distanceDisplayCondition = false] - 是否按视距显示 或 指定此框将显示在与摄像机的多大距离。
* @property [distanceDisplayCondition_far = 100000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [hasShadows = false] - 是否投射阴影
* @property [shadows = Cesium.ShadowMode.DISABLED] - 是投射还是接收来自光源的阴影。
* @property [clampToGround = false] - 是否贴地
* @property [heightReference = Cesium.HeightReference.NONE] - 指定从实体位置到它的相对高度。
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
dimensions?: Cesium.Cartesian3 | Cesium.Property;
dimensions_x?: number;
dimensions_y?: number;
dimensions_z?: number;
heading?: number;
pitch?: number;
roll?: number;
fill?: boolean;
materialType?: string;
materialOptions?: any;
material?: Cesium.MaterialProperty | BaseMaterialProperty | Cesium.Color;
color?: string | Cesium.Color;
opacity?: number;
outline?: boolean;
outlineWidth?: string;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
distanceDisplayCondition?: boolean | Cesium.DistanceDisplayCondition;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
hasShadows?: boolean;
shadows?: Cesium.ShadowMode;
clampToGround?: boolean;
heightReference?: Cesium.HeightReference;
setHeight?: number | string;
addHeight?: number | string;
highlight?: BoxEntity.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
};
}
/**
* 盒子 Entity对象
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.orientation] - 实体方向
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.drawShow = true] - 绘制时,是否自动隐藏entity,可避免拾取坐标存在问题。
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class BoxEntity extends BasePointEntity {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | Cesium.PositionProperty | number[] | string;
style: BoxEntity.StyleOptions | any;
attr?: any;
orientation?: Cesium.Property;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
drawShow?: boolean;
hasEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 矢量数据对应的 Cesium内部对象的具体类型对象
*/
readonly entityGraphic: Cesium.BoxGraphics;
/**
* 编辑处理类
*/
readonly EditClass: EditBox;
}
declare namespace CanvasLabelEntity {
/**
* Canvas 文本点(label转图片) 支持的样式信息
* @property [text = "文字"] - 文本内容,换行可以用换行符'\n'。
* @property [scale = 1.0] - 指定缩放比例。
* @property [horizontalOrigin] - 横向方向的定位
* @property [verticalOrigin] - 垂直方向的定位
* @property [font_family = "楷体"] - 字体 ,可选项:微软雅黑,宋体,楷体,隶书,黑体 等
* @property [font_size = 30] - 字体大小
* @property [font_weight = "normal"] - 是否加粗 ,可选项:bold (解释:是),normal (解释:否),
* @property [font_style = "normal"] - 是否斜体 ,可选项:italic (解释:是),normal (解释:否),
* @property [font = '30px normal normal 楷体'] - 上叙4个属性的一次性指定CSS字体的属性。
* @property [textBaseline = 'bottom'] - 文本的基线。
* @property [fill = true] - 是否填充
* @property [color = "#ffffff"] - 文本颜色
* @property [opacity = 1.0] - 透明度,取值范围:0.0-1.0
* @property [stroke = false] - 是否衬色
* @property [strokeColor = "#000000"] - 衬色颜色
* @property [strokeWidth = 2] - 衬色宽度
* @property [outline = false] - 是否矩形边框
* @property [outlineColor = "#000000"] - 矩形边框的颜色。
* @property [outlineWidth = 4] - 边框的宽度
* @property [background = false] - 是否背景
* @property [backgroundColor = "#000000"] - 背景颜色
* @property [backgroundPadding = 0] - 背景内边距,指定文字与填充边界内容之间的空间(以像素为单位)。
* @property [hasPixelOffset = false] - 是否存在偏移量
* @property [pixelOffsetX = 0] - 横向偏移像素
* @property [pixelOffsetY = 0] - 纵向偏移像素
* @property [pixelOffset = Cartesian2.ZERO] - 指定像素偏移量。
* @property [scaleByDistance = false] - 是否按视距缩放 或 设定基于与相机的距离设置比例。
* @property [scaleByDistance_far = 1000000] - 上限
* @property [scaleByDistance_farValue = 0.1] - 比例值
* @property [scaleByDistance_near = 1000] - 下限
* @property [scaleByDistance_nearValue = 1] - 比例值
* @property [distanceDisplayCondition = false] - 是否按视距显示 或 指定此框将显示在与摄像机的多大距离。
* @property [distanceDisplayCondition_far = 100000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [clampToGround = false] - 是否贴地
* @property [heightReference = Cesium.HeightReference.NONE] - 指定高度相对于什么的属性。
* @property [visibleDepth = true] - 是否被遮挡
* @property [disableDepthTestDistance] - 指定从相机到禁用深度测试的距离。
* @property [translucencyByDistance] - 用于基于与相机的距离设置半透明度。
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
*/
type StyleOptions = any | {
text?: string;
scale?: number;
horizontalOrigin?: Cesium.HorizontalOrigin;
verticalOrigin?: Cesium.VerticalOrigin;
font_family?: string;
font_size?: number;
font_weight?: string;
font_style?: string;
font?: string;
textBaseline?: string;
fill?: boolean;
color?: string | Cesium.Color;
opacity?: number;
stroke?: boolean;
strokeColor?: string | Cesium.Color;
strokeWidth?: number;
outline?: boolean;
outlineColor?: string | Cesium.Color;
outlineWidth?: number;
background?: boolean;
backgroundColor?: string | Cesium.Color;
backgroundPadding?: number;
hasPixelOffset?: boolean;
pixelOffsetX?: number;
pixelOffsetY?: number;
pixelOffset?: Cesium.Cartesian2 | number[];
scaleByDistance?: boolean | Cesium.NearFarScalar;
scaleByDistance_far?: number;
scaleByDistance_farValue?: number;
scaleByDistance_near?: number;
scaleByDistance_nearValue?: number;
distanceDisplayCondition?: boolean | Cesium.DistanceDisplayCondition;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
clampToGround?: boolean;
heightReference?: Cesium.HeightReference;
visibleDepth?: boolean;
disableDepthTestDistance?: number;
translucencyByDistance?: Cesium.NearFarScalar;
setHeight?: number | string;
addHeight?: number | string;
};
}
/**
* Canvas 文本点(label转图片)
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.drawShow = true] - 绘制时,是否自动隐藏entity,可避免拾取坐标存在问题。
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class CanvasLabelEntity extends BasePointEntity {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | Cesium.PositionProperty | number[] | string;
style: CanvasLabelEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
drawShow?: boolean;
hasEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
declare namespace CircleEntity {
/**
* 圆、圆柱 支持的样式信息
* @property [radius = 100] - 半径
* @property [height = 0] - 高程,圆相对于椭球面的高度。
* @property [heightReference = Cesium.HeightReference.NONE] - 指定高度相对于什么的属性。
* @property [diffHeight = 100] - 高度差(圆柱本身的高度),与extrudedHeight二选一。
* @property [extrudedHeight] - 指定椭圆的挤压面相对于椭球面的高度。
* @property [extrudedHeightReference = Cesium.HeightReference.NONE] - 指定挤压高度相对于什么的属性。
* @property [fill = true] - 是否填充
* @property [materialType = "Color"] - 填充类型 ,可选项:{@link MaterialType}
* @property [materialOptions] - materialType对应的{@link MaterialType}中材质参数
* @property [material = Cesium.Color.WHITE] - 指定用于填充的材质,指定material后`materialType`和`material材质参数`将被覆盖。
* @property [color = "#3388ff"] - 填充颜色
* @property [opacity = 1.0] - 透明度, 取值范围:0.0-1.0
* @property [outline = false] - 是否边框
* @property [outlineWidth = 1] - 边框宽度
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
* @property [outlineStyle] - 边框的完整自定义样式,会覆盖outlineWidth、outlineColor等参数。
* @property [rotation = 0] - 旋转角度(弧度值),正北为0,逆时针旋转
* @property [rotationDegree = 0] - 旋转角度(度数值,0-360度),与rotation二选一
* @property [stRotation = 0] - 椭圆纹理的角度(弧度值),正北为0,逆时针旋转
* @property [stRotationDegree = 0] - 椭圆纹理的角度(度数值,0-360度),与stRotation二选一
* @property [distanceDisplayCondition = false] - 是否按视距显示 或 指定此框将显示在与摄像机的多大距离。
* @property [distanceDisplayCondition_far = 100000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [granularity = Cesium.Math.RADIANS_PER_DEGREE] - 指定椭圆上各点之间的角距离。
* @property [numberOfVerticalLines = 16] - 指定沿轮廓的周长绘制的垂直线的数量。
* @property [hasShadows = false] - 是否投射阴影
* @property [shadows = Cesium.ShadowMode.DISABLED] - 指定椭圆是投射还是接收来自光源的阴影。
* @property [clampToGround = false] - 是否贴地
* @property [classificationType = Cesium.ClassificationType.BOTH] - 指定贴地时的覆盖类型,是只对地形、3dtiles 或 两者同时。
* @property [zIndex = 0] - 层级顺序。用于排序地面几何。只有在椭圆为常量且没有指定height或exturdedHeight时才有效果。
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
radius?: number;
height?: number;
heightReference?: Cesium.HeightReference;
diffHeight?: number;
extrudedHeight?: number;
extrudedHeightReference?: Cesium.HeightReference;
fill?: boolean;
materialType?: string;
materialOptions?: any;
material?: Cesium.MaterialProperty | BaseMaterialProperty | Cesium.Color;
color?: string | Cesium.Color;
opacity?: number;
outline?: boolean;
outlineWidth?: number;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
outlineStyle?: PolylineEntity.StyleOptions | any;
rotation?: number | Cesium.Property;
rotationDegree?: number;
stRotation?: number | Cesium.Property;
stRotationDegree?: number;
distanceDisplayCondition?: boolean | Cesium.DistanceDisplayCondition;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
granularity?: number;
numberOfVerticalLines?: number;
hasShadows?: boolean;
shadows?: Cesium.ShadowMode;
clampToGround?: boolean;
classificationType?: Cesium.ClassificationType;
zIndex?: number;
addHeight?: number | string;
highlight?: CircleEntity.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
};
}
/**
* 圆、圆柱 Entity对象
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.drawShowRadius = true] - 绘制时,是否显示圆的半径。
* @param [options.drawShow = true] - 绘制时,是否自动隐藏entity,可避免拾取坐标存在问题。
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.hasMoveEdit = true] - 编辑时,是否可以整体平移
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class CircleEntity extends BasePointEntity {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | Cesium.PositionProperty | number[] | string;
style: CircleEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
drawShowRadius?: boolean;
drawShow?: boolean;
hasEdit?: boolean;
hasMoveEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 矢量数据对应的 Cesium内部对象的具体类型对象
*/
readonly entityGraphic: Cesium.EllipseGraphics;
/**
* 编辑处理类
*/
readonly EditClass: EditCircle;
/**
* 圆的边线坐标集合(笛卡尔坐标)
*/
outlinePositions: Cesium.Cartesian3[];
/**
* 圆的边线坐标集合(经纬度二维数组),示例 [ [123.123456,32.654321,198.7], [111.123456,22.654321,50.7], …… ]
*/
readonly outlineCoordinates: any[][];
/**
* 圆的半径(单位:米)
*/
radius: number;
/**
* 高度(单位:米)
*/
height: number;
/**
* 将矢量数据导出为GeoJSON格式规范对象。
* @param [options] - 参数对象:
* @param [options.outline] - 是否导出边线的坐标
* @param [options.closure] - 导出outline时,是否闭合,true时会添加第0个点进行闭合。
* @param [options.count] - 导出outline时,点的数量,返回的总数为 count*4
* @param [options.noAlt] - 不导出高度值
* @returns GeoJSON格式规范对象
*/
toGeoJSON(options?: {
outline?: boolean;
closure?: boolean;
count?: boolean;
noAlt?: boolean;
}): any;
/**
* 获取圆的边线坐标集合(笛卡尔坐标)
* @param [closure = true] - 是否闭合,true时会添加第0个点进行闭合。
* @param [count] - 象限内点的数量,返回的总数为 count*4
* @returns 边线坐标数组
*/
getOutlinePositions(closure?: boolean, count?: number): Cesium.Cartesian3[];
/**
* 获取圆的边线坐标集合(经纬度二维数组)
* @param [closure = true] - 是否闭合,true时会添加第0个点进行闭合。
* @param [count = 90] - 象限内点的数量,返回的总数为 count*4
* @param [noAlt] - 是否包含高度值
* @returns 边线坐标数组(经纬度二维数组)
*/
getOutlineCoordinates(closure?: boolean, count?: number, noAlt?: boolean): any[][];
/**
* 获取数据的矩形边界
* @param [options] - 控制参数
* @param [options.isFormat = false] - 是否格式化,格式化时示例: { xmin: 73.16895, xmax: 134.86816, ymin: 12.2023, ymax: 54.11485 }
* @returns isFormat:true时,返回格式化对象,isFormat:false时返回Cesium.Rectangle对象
*/
getRectangle(options?: {
isFormat?: boolean;
}): Cesium.Rectangle | any;
/**
* 判断点是否在圆内
* @param position - 需要判断的点
* @returns 是否在圆内
*/
isInPoly(position: Cesium.Cartesian3 | LngLatPoint): boolean;
/**
* 位置坐标 (笛卡尔坐标), 赋值时可以传入LatLngPoint对象
*/
position: Cesium.Cartesian3 | LngLatPoint;
/**
* 飞行定位至 数据所在的视角
* @param [options = {}] - 参数对象:
* @param [options.radius] - 点状数据时,相机距离目标点的距离(单位:米)
* @param [options.scale = 1.2] - 线面数据时,缩放比例,可以控制视角比矩形略大一些,这样效果更友好。
* @param [options.minHeight] - 定位时相机的最小高度值,用于控制避免异常数据
* @param [options.maxHeight] - 定位时相机的最大高度值,用于控制避免异常数据
* @param [options.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0至360
* @param [options.pitch] - 俯仰角度值,绕纬度线旋转角度, 0至360
* @param [options.roll] - 翻滚角度值,绕经度线旋转角度, 0至360
* @param [options.duration] - 飞行时间(单位:秒)。如果省略,SDK内部会根据飞行距离计算出理想的飞行时间。
* @param [options.complete] - 飞行完成后要执行的函数。
* @param [options.cancel] - 飞行取消时要执行的函数。
* @param [options.endTransform] - 变换矩阵表示飞行结束时相机所处的参照系。
* @param [options.maximumHeight] - 飞行高峰时的最大高度。
* @param [options.pitchAdjustHeight] - 如果相机飞得比这个值高,在飞行过程中调整俯仰以向下看,并保持地球在视口。
* @param [options.flyOverLongitude] - 地球上的两点之间总有两条路。这个选项迫使相机选择战斗方向飞过那个经度。
* @param [options.flyOverLongitudeWeight] - 仅在通过flyOverLongitude指定的lon上空飞行,只要该方式的时间不超过flyOverLongitudeWeight的短途时间。
* @param [options.convert = true] - 是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。
* @param [options.easingFunction] - 控制在飞行过程中如何插值时间。
* @returns 如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise
*/
flyTo(options?: {
radius?: number;
scale?: number;
minHeight?: number;
maxHeight?: number;
heading?: number;
pitch?: number;
roll?: number;
duration?: number;
complete?: Cesium.Camera.FlightCompleteCallback;
cancel?: Cesium.Camera.FlightCancelledCallback;
endTransform?: Cesium.Matrix4;
maximumHeight?: number;
pitchAdjustHeight?: number;
flyOverLongitude?: number;
flyOverLongitudeWeight?: number;
convert?: boolean;
easingFunction?: Cesium.EasingFunction.Callback;
}): Promise;
}
declare namespace ConeTrack {
/**
* 圆锥追踪体 支持的样式信息
* @property [angle] - 圆锥追踪体张角(角度值,取值范围 0.01-89.99)
* @property [bottomRadius = 100] - 不指定angle时,也可以直接指定圆锥底部半径(单位:米)
* @property [length = 100] - 圆锥追踪体长度值(单位:米),没有指定targetPosition时有效
* @property [heading = 0] - 方向角 (度数值,0-360度),没有指定targetPosition时有效
* @property [pitch = 0] - 俯仰角(度数值,0-360度),没有指定targetPosition时有效
* @property [roll = 0] - 翻滚角(度数值,0-360度),没有指定targetPosition时有效
* @property [fill = true] - 是否填充
* @property [materialType = "Color"] - 填充类型 ,可选项:{@link MaterialType}
* @property [materialOptions] - materialType对应的{@link MaterialType}中材质参数
* @property [material = Cesium.Color.WHITE] - 指定用于填充的材质,指定material后`materialType`和`materialOptions`将被覆盖。
* @property [color = "#00FF00"] - 填充颜色
* @property [opacity = 1.0] - 透明度, 取值范围:0.0-1.0
* @property [outline = false] - 是否边框
* @property [outlineWidth = 1] - 边框宽度
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
* @property [numberOfVerticalLines = 16] - 指定沿轮廓的周长绘制的垂直线的数量。
* @property [slices = 128] - 圆柱体周长周围的边数。
* @property [distanceDisplayCondition = false] - 是否按视距显示 或 指定此框将显示在与摄像机的多大距离。
* @property [distanceDisplayCondition_far = 100000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [hasShadows = false] - 是否阴影
* @property [shadows = Cesium.ShadowMode.DISABLED] - 指定圆柱是投射还是接收来自光源的阴影。
* @property [heightReference = Cesium.HeightReference.NONE] - 指定从实体位置到它的相对高度。
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
angle?: number;
bottomRadius?: number;
length?: number;
heading?: number;
pitch?: number;
roll?: number;
fill?: boolean;
materialType?: string;
materialOptions?: any;
material?: Cesium.MaterialProperty | BaseMaterialProperty | Cesium.Color;
color?: string | Cesium.Color;
opacity?: number;
outline?: boolean;
outlineWidth?: string;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
numberOfVerticalLines?: number;
slices?: number;
distanceDisplayCondition?: boolean | Cesium.DistanceDisplayCondition;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
hasShadows?: boolean;
shadows?: Cesium.ShadowMode;
heightReference?: Cesium.HeightReference;
setHeight?: number | string;
addHeight?: number | string;
highlight?: CylinderEntity.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
};
}
/**
* 圆锥追踪体
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param [options.targetPosition] - 追踪的目标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class ConeTrack extends CylinderEntity {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | Cesium.PositionProperty | number[] | string;
targetPosition?: LngLatPoint | Cesium.Cartesian3 | Cesium.PositionProperty | number[] | string;
style: ConeTrack.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 追踪的目标位置(确定了方向和距离)
*/
targetPosition: Cesium.Cartesian3 | LngLatPoint;
/**
* 追踪的目标位置
*/
readonly targetPoint: LngLatPoint;
/**
* 夹角,半场角度,取值范围 0.01-89.99
*/
angle: number;
/**
* 编辑处理类
*/
readonly EditClass: EditCylinder;
}
/**
* 定时闪烁高亮Entity(点、线、面)
*/
declare class FlickerEntity {
/**
* 高亮闪烁 Enity实体对象
* @param entitys - entity对象或对象数组
* @param [opts = {}] - 控制参数
* @param [opts.time] - 闪烁的时长(秒),未设置时不自动停止。
* @param [opts.color = Cesium.Color.YELLOW] - 高亮的颜色
* @param [opts.maxAlpha = 0.3] - 闪烁的最大透明度,从 0 到 maxAlpha 渐变
* @param [opts.onEnd] - 播放完成后的回调方法
* @returns 高亮闪烁控制 对象
*/
startFlicker(entitys: Cesium.Entity | Cesium.Entity[], opts?: {
time?: number;
color?: Cesium.Color;
maxAlpha?: number;
onEnd?: (...params: any[]) => any;
}): FlickerEntity;
/**
* 停止高亮闪烁
* @returns 高亮闪烁控制 对象
*/
stopFlicker(): FlickerEntity;
}
declare namespace CorridorEntity {
/**
* 走廊 支持的样式信息
* @property [width = 100] - 走廊宽度,指定走廊边缘之间的距离。
* @property [cornerType] - 指定边角的样式。
* @property [height = 0] - 高程,圆相对于椭球面的高度。
* @property [heightReference = Cesium.HeightReference.NONE] - 指定高度相对于什么的属性。
* @property [diffHeight = 100] - 高度差(走廊本身的高度),与extrudedHeight二选一。
* @property [extrudedHeight] - 指定走廊挤压面相对于椭球面的高度。
* @property [extrudedHeightReference = Cesium.HeightReference.NONE] - 指定挤压高度相对于什么的属性。
* @property [fill = true] - 是否填充。
* @property [materialType = "Color"] - 填充类型 ,可选项:{@link MaterialType}
* @property [materialOptions] - materialType对应的{@link MaterialType}中材质参数
* @property [material = Cesium.Color.WHITE] - 指定用于填充的材质,指定material后`materialType`和`materialOptions`将被覆盖。
* @property [color = "#3388ff"] - 颜色
* @property [opacity = 1.0] - 透明度, 取值范围:0.0-1.0
* @property [outline = false] - 是否边框
* @property [outlineWidth = 1] - 边框宽度
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
* @property [distanceDisplayCondition = false] - 是否按视距显示 或 指定此框将显示在与摄像机的多大距离。
* @property [distanceDisplayCondition_far = 100000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [granularity = Cesium.Math.RADIANS_PER_DEGREE] - 指定每个纬度和经度之间的距离。
* @property [hasShadows = false] - 是否投射阴影
* @property [shadows = Cesium.ShadowMode.DISABLED] - 指定走廊是投射还是接收来自光源的阴影。
* @property [clampToGround = false] - 是否贴地
* @property [classificationType = Cesium.ClassificationType.BOTH] - 指定贴地时的覆盖类型,是只对地形、3dtiles 或 两者同时。
* @property [zIndex = 0] - 层级顺序,用于排序。只有在高度和挤压高度未定义,并且走廊是静态的情况下才有效果。
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
width?: number;
cornerType?: string | Cesium.CornerType;
height?: number | Cesium.Property;
heightReference?: Cesium.HeightReference;
diffHeight?: number;
extrudedHeight?: number;
extrudedHeightReference?: Cesium.HeightReference;
fill?: boolean;
materialType?: string;
materialOptions?: any;
material?: Cesium.MaterialProperty | BaseMaterialProperty | Cesium.Color;
color?: string | Cesium.Color;
opacity?: number;
outline?: boolean;
outlineWidth?: number;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
distanceDisplayCondition?: boolean | Cesium.DistanceDisplayCondition;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
granularity?: number;
hasShadows?: boolean;
shadows?: Cesium.ShadowMode;
clampToGround?: boolean;
classificationType?: Cesium.ClassificationType;
zIndex?: number;
setHeight?: number | string;
addHeight?: number | string;
highlight?: CorridorEntity.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
};
}
/**
* 走廊 Entity矢量数据
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.minPointNum = 2] - 绘制时,至少需要点的个数
* @param [options.maxPointNum = 9999] - 绘制时,最多允许点的个数
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.hasMoveEdit = true] - 编辑时,是否可以整体平移
* @param [options.hasHeightEdit = true] - 编辑时,当有diffHeight时,是否可以编辑高度
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class CorridorEntity extends BasePolyEntity {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: CorridorEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
minPointNum?: number;
maxPointNum?: number;
hasEdit?: boolean;
hasMoveEdit?: boolean;
hasHeightEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 矢量数据对应的 Cesium内部对象的具体类型对象
*/
readonly entityGraphic: Cesium.CorridorGraphics;
/**
* 编辑处理类
*/
readonly EditClass: EditCorridor;
}
/**
* 曲线
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.minPointNum = 2] - 绘制时,至少需要点的个数
* @param [options.maxPointNum = 9999] - 绘制时,最多允许点的个数
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.hasMoveEdit = true] - 编辑时,是否可以整体平移
* @param [options.hasHeightEdit = true] - 编辑时,当有diffHeight时,是否可以编辑高度
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class CurveEntity extends PolylineEntity {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: PolylineEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
minPointNum?: number;
maxPointNum?: number;
hasEdit?: boolean;
hasMoveEdit?: boolean;
hasHeightEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
declare namespace CylinderEntity {
/**
* 圆锥 支持的样式信息
* @property [topRadius = 0] - 顶部半径,指定圆柱体顶部的半径,当为0时即为圆锥。
* @property [bottomRadius = 100] - 底部半径,指定圆柱体底部半径。
* @property [length = 100] - 高度,柱面长度。
* @property [heading = 0] - 方向角 (度数值,0-360度)
* @property [pitch = 0] - 俯仰角(度数值,0-360度)
* @property [roll = 0] - 翻滚角(度数值,0-360度)
* @property [fill = true] - 是否填充
* @property [materialType = "Color"] - 填充类型 ,可选项:{@link MaterialType}
* @property [materialOptions] - materialType对应的{@link MaterialType}中材质参数
* @property [material = Cesium.Color.WHITE] - 指定用于填充的材质,指定material后`materialType`和`materialOptions`将被覆盖。
* @property [color = "#00FF00"] - 填充颜色
* @property [opacity = 1.0] - 透明度, 取值范围:0.0-1.0
* @property [outline = false] - 是否边框
* @property [outlineWidth = 1] - 边框宽度
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
* @property [numberOfVerticalLines = 16] - 指定沿轮廓的周长绘制的垂直线的数量。
* @property [slices = 128] - 圆柱体周长周围的边数。
* @property [distanceDisplayCondition = false] - 是否按视距显示 或 指定此框将显示在与摄像机的多大距离。
* @property [distanceDisplayCondition_far = 100000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [hasShadows = false] - 是否阴影
* @property [shadows = Cesium.ShadowMode.DISABLED] - 指定圆柱是投射还是接收来自光源的阴影。
* @property [heightReference = Cesium.HeightReference.NONE] - 指定从实体位置到它的相对高度。
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
topRadius?: number;
bottomRadius?: number;
length?: number;
heading?: number;
pitch?: number;
roll?: number;
fill?: boolean;
materialType?: string;
materialOptions?: any;
material?: Cesium.MaterialProperty | BaseMaterialProperty | Cesium.Color;
color?: string | Cesium.Color;
opacity?: number;
outline?: boolean;
outlineWidth?: string;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
numberOfVerticalLines?: number;
slices?: number;
distanceDisplayCondition?: boolean | Cesium.DistanceDisplayCondition;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
hasShadows?: boolean;
shadows?: Cesium.ShadowMode;
heightReference?: Cesium.HeightReference;
setHeight?: number | string;
addHeight?: number | string;
highlight?: CylinderEntity.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
};
}
/**
* 圆锥 Entity对象
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.orientation] - 实体方向
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.drawShow = true] - 绘制时,是否自动隐藏entity,可避免拾取坐标存在问题。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class CylinderEntity extends BasePointEntity {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | Cesium.PositionProperty | number[] | string;
style: CylinderEntity.StyleOptions | any;
attr?: any;
orientation?: Cesium.Property;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
drawShow?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 矢量数据对应的 Cesium内部对象的具体类型对象
*/
readonly entityGraphic: Cesium.CylinderGraphics;
/**
* 编辑处理类
*/
readonly EditClass: EditCylinder;
/**
* 位置坐标 (笛卡尔坐标), 赋值时可以传入LatLngPoint对象
*/
position: Cesium.Cartesian3 | LngLatPoint;
}
declare namespace DivBillboardEntity {
/**
* HTML转图片后的图标点Entity 支持的样式信息
* @property html - Html内容
* @property [opacity = 1.0] - 透明度,取值范围:0.0-1.0
* @property [scale = 1] - 图像大小的比例
* @property [rotation = 0] - 旋转角度(弧度值),正北为0,逆时针旋转
* @property [rotationDegree = 0] - 旋转角度(度数值,0-360度),与rotation二选一
* @property [horizontalOrigin] - 横向方向的定位
* @property [verticalOrigin] - 垂直方向的定位
* @property [width] - 指定广告牌的宽度(以像素为单位),覆盖图片本身大小。
* @property [height] - 指定广告牌的高度(以像素为单位),覆盖图片本身大小。
* @property [hasPixelOffset = false] - 是否存在偏移量
* @property [pixelOffsetX = 0] - 横向偏移像素
* @property [pixelOffsetY = 0] - 纵向偏移像素
* @property [pixelOffset = Cartesian2.ZERO] - 指定像素偏移量。
* @property [scaleByDistance = false] - 是否按视距缩放 或 设置基于与相机的距离缩放点
* @property [scaleByDistance_far = 1000000] - 上限
* @property [scaleByDistance_farValue = 0.1] - 比例值
* @property [scaleByDistance_near = 1000] - 下限
* @property [scaleByDistance_nearValue = 1] - 比例值
* @property [distanceDisplayCondition = false] - 是否按视距显示 或 指定该广告牌将显示在与摄像机的多大距离
* @property [distanceDisplayCondition_far = 10000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [clampToGround = false] - 是否贴地
* @property [heightReference = Cesium.HeightReference.NONE] - 指定高度相对于什么的属性。
* @property [visibleDepth = true] - 是否被遮挡
* @property [disableDepthTestDistance] - 指定从相机到禁用深度测试的距离。
* @property [color = Color.WHITE] - 附加的颜色
* @property [eyeOffset = Cartesian3.ZERO] - 眼偏移量
* @property [alignedAxis = Cartesian3.ZERO] - 指定单位旋转向量轴。
* @property [sizeInMeters] - 指定该广告牌的大小是否应该以米来度量。
* @property [translucencyByDistance] - 用于基于与相机的距离设置半透明度。
* @property [pixelOffsetScaleByDistance] - 用于基于与相机的距离设置pixelOffset。
* @property [imageSubRegion] - 定义用于广告牌的图像的子区域,而不是从左下角开始以像素为单位的整个图像。
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
html: string;
opacity?: number;
scale?: number;
rotation?: number;
rotationDegree?: number;
horizontalOrigin?: Cesium.HorizontalOrigin;
verticalOrigin?: Cesium.VerticalOrigin;
width?: number;
height?: number;
hasPixelOffset?: boolean;
pixelOffsetX?: number;
pixelOffsetY?: number;
pixelOffset?: Cesium.Cartesian2 | number[];
scaleByDistance?: boolean | Cesium.NearFarScalar;
scaleByDistance_far?: number;
scaleByDistance_farValue?: number;
scaleByDistance_near?: number;
scaleByDistance_nearValue?: number;
distanceDisplayCondition?: boolean | Cesium.DistanceDisplayCondition;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
clampToGround?: boolean;
heightReference?: Cesium.HeightReference;
visibleDepth?: boolean;
disableDepthTestDistance?: number;
color?: Cesium.Color;
eyeOffset?: Cesium.Cartesian3;
alignedAxis?: Cesium.Cartesian3;
sizeInMeters?: boolean;
translucencyByDistance?: Cesium.NearFarScalar;
pixelOffsetScaleByDistance?: Cesium.NearFarScalar;
imageSubRegion?: Cesium.BoundingRectangle;
setHeight?: number | string;
addHeight?: number | string;
highlight?: BillboardEntity.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
};
}
/**
* HTML转图片后的 图标点Entity,
* 需要引入html2canvas或domtoimage插件进行DOM转图片
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.drawShow = true] - 绘制时,是否自动隐藏entity,可避免拾取坐标存在问题。
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class DivBillboardEntity extends BillboardEntity {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | Cesium.PositionProperty | number[] | string;
style: DivBillboardEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
drawShow?: boolean;
hasEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
/**
* 标绘处理对应的编辑基类
*/
declare class EditBase {
/**
* 矢量数据对应的 Cesium内部对象的具体类型对象
*/
readonly entityGraphic: any;
/**
* 激活绘制
* @returns 当前对象本身,可以链式调用
*/
activate(): EditBase;
/**
* 释放绘制
* @returns 当前对象本身,可以链式调用
*/
disable(): EditBase;
}
/**
* BoxEntity对象,标绘处理对应的编辑类
*/
declare class EditBox extends EditBase {
/**
* 位置坐标 (笛卡尔坐标)
*/
position: Cesium.Cartesian3;
}
/**
* Circle对象 标绘处理对应的编辑类
*/
declare class EditCircle extends EditPoly {
}
/**
* Corridor对象 标绘处理对应的编辑类
*/
declare class EditCorridor extends EditPoly {
}
/**
* Cylinder对象 标绘处理对应的编辑类
*/
declare class EditCylinder extends EditPoly {
}
/**
* Ellipsoid对象 标绘处理对应的编辑类
*/
declare class EditEllipsoid extends EditBase {
}
/**
* Model对象 标绘处理对应的编辑类
*/
declare class EditModel extends EditBase {
}
/**
* Plane对象 标绘处理对应的编辑类
*/
declare class EditPlane extends EditBase {
}
/**
* Point 对象 标绘处理对应的编辑类
*/
declare class EditPoint extends EditBase {
}
/**
* 线面状对象 标绘处理对应的编辑类基类
*/
declare class EditPoly extends EditBase {
}
/**
* Polygon对象 标绘处理对应的编辑类
*/
declare class EditPolygon extends EditPoly {
}
/**
* Polygon对象 标绘处理对应的编辑类,
* 用于外部扩展使用,绘制的点与显示的点不一致的标号
*/
declare class EditPolygonEx extends EditPolygon {
}
/**
* PolylineVolume对象 标绘处理对应的编辑类
*/
declare class EditPolylineVolume extends EditPoly {
}
/**
* Rectangle对象 标绘处理对应的编辑类,
*/
declare class EditRectangle extends EditPoly {
}
/**
* 3dtiles对象 标绘处理对应的编辑类
*/
declare class EditTileset extends EditBase {
}
/**
* Wall对象 标绘处理对应的编辑类,
*/
declare class EditWall extends EditPoly {
}
declare namespace EllipseEntity {
/**
* 椭圆、椭圆柱 支持的样式信息
* @property [semiMinorAxis = 100] - 椭圆时的 短半径
* @property [semiMajorAxis = 100] - 椭圆时的 长半径
* @property [height = 0] - 高程,圆相对于椭球面的高度。
* @property [heightReference = Cesium.HeightReference.NONE] - 指定高度相对于什么的属性。
* @property [diffHeight = 100] - 高度差(圆柱本身的高度),与extrudedHeight二选一。
* @property [extrudedHeight] - 指定椭圆的挤压面相对于椭球面的高度。
* @property [extrudedHeightReference = Cesium.HeightReference.NONE] - 指定挤压高度相对于什么的属性。
* @property [fill = true] - 是否填充
* @property [materialType = "Color"] - 填充类型 ,可选项:{@link MaterialType}
* @property [materialOptions] - materialType对应的{@link MaterialType}中材质参数
* @property [material = Cesium.Color.WHITE] - 指定用于填充的材质,指定material后`materialType`和`materialOptions`将被覆盖。
* @property [color = "#3388ff"] - 填充颜色
* @property [opacity = 1.0] - 透明度, 取值范围:0.0-1.0
* @property [outline = false] - 是否边框
* @property [outlineWidth = 1] - 边框宽度
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
* @property [outlineStyle] - 边框的完整自定义样式,会覆盖outlineWidth、outlineColor等参数。
* @property [rotation = 0] - 旋转角度(弧度值),正北为0,逆时针旋转
* @property [rotationDegree = 0] - 旋转角度(度数值,0-360度),与rotation二选一
* @property [stRotation = 0] - 椭圆纹理的角度(弧度值),正北为0,逆时针旋转
* @property [stRotationDegree = 0] - 椭圆纹理的角度(度数值,0-360度),与stRotation二选一
* @property [distanceDisplayCondition = false] - 是否按视距显示 或 指定此框将显示在与摄像机的多大距离。
* @property [distanceDisplayCondition_far = 100000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [granularity = Cesium.Math.RADIANS_PER_DEGREE] - 指定椭圆上各点之间的角距离。
* @property [numberOfVerticalLines = 16] - 指定沿轮廓的周长绘制的垂直线的数量。
* @property [hasShadows = false] - 是否投射阴影
* @property [shadows = Cesium.ShadowMode.DISABLED] - 指定椭圆是投射还是接收来自光源的阴影。
* @property [clampToGround = false] - 是否贴地
* @property [classificationType = Cesium.ClassificationType.BOTH] - 指定贴地时的覆盖类型,是只对地形、3dtiles 或 两者同时。
* @property [zIndex = 0] - 层级顺序。用于排序地面几何。只有在椭圆为常量且没有指定height或exturdedHeight时才有效果。
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
semiMinorAxis?: number | Cesium.Property;
semiMajorAxis?: number | Cesium.Property;
height?: number;
heightReference?: Cesium.HeightReference;
diffHeight?: number;
extrudedHeight?: number;
extrudedHeightReference?: Cesium.HeightReference;
fill?: boolean;
materialType?: string;
materialOptions?: any;
material?: Cesium.MaterialProperty | BaseMaterialProperty | Cesium.Color;
color?: string | Cesium.Color;
opacity?: number;
outline?: boolean;
outlineWidth?: number;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
outlineStyle?: PolylineEntity.StyleOptions | any;
rotation?: number;
rotationDegree?: number;
stRotation?: number;
stRotationDegree?: number;
distanceDisplayCondition?: boolean | Cesium.DistanceDisplayCondition;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
granularity?: number;
numberOfVerticalLines?: number;
hasShadows?: boolean;
shadows?: Cesium.ShadowMode;
clampToGround?: boolean;
classificationType?: Cesium.ClassificationType;
zIndex?: number;
addHeight?: number | string;
highlight?: CircleEntity.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
};
}
/**
* 椭圆、椭圆柱 Entity对象
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.drawShow = true] - 绘制时,是否自动隐藏entity,可避免拾取坐标存在问题。
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class EllipseEntity extends CircleEntity {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | Cesium.PositionProperty | number[] | string;
style: EllipseEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
drawShow?: boolean;
hasEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
declare namespace EllipsoidEntity {
/**
* 球、半球、椭球 支持的 样式信息
* @property [radii] - 指定椭球半径。
* @property [radii_x = 100] - X半径
* @property [radii_y = 100] - Y半径
* @property [radii_z = 100] - Z半径
* @property [innerRadii] - 指定椭球的内半径。
* @property [innerRadii_x = 0] - 内部X半径
* @property [innerRadii_y = 0] - 内部Y半径
* @property [innerRadii_z = 0] - 内部Z半径
* @property [minimumClock = 0] - 最小时钟角度(弧度值)
* @property [minimumClockDegree = 0] - 最小时钟角度(度数值,0-360度),与minimumClock二选一
* @property [maximumClock = 360] - 最大时钟角度(弧度值)
* @property [maximumClockDegree = 360] - 最大时钟角度(度数值,0-360度),与maximumClock二选一
* @property [minimumCone = 0] - 最小锥角(弧度值)
* @property [minimumConeDegree = 0] - 最小锥角(度数值,0-360度),与minimumCone二选一
* @property [maximumCone = 180] - 最大圆锥角(弧度值)
* @property [maximumConeDegree = 180] - 最大圆锥角(度数值,0-360度),与maximumCone二选一
* @property [heading = 0] - 方向角 (度数值,0-360度)
* @property [pitch = 0] - 俯仰角(度数值,0-360度)
* @property [roll = 0] - 翻滚角(度数值,0-360度)
* @property [fill = true] - 是否填充
* @property [materialType = "Color"] - 填充类型 ,可选项:{@link MaterialType}
* @property [materialOptions] - materialType对应的{@link MaterialType}中材质参数
* @property [material = Cesium.Color.WHITE] - 指定用于填充的材质,指定material后`materialType`和`materialOptions`将被覆盖。
* @property [color = "#00FF00"] - 颜色
* @property [opacity = 1.0] - 透明度, 取值范围:0.0-1.0
* @property [outline = false] - 是否边框
* @property [outlineWidth = 1] - 边框宽度
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
* @property [stackPartitions = 64] - 指定竖向划分数量
* @property [slicePartitions = 64] - 指定横向划分数量
* @property [subdivisions = 128] - 指定每个轮廓环的样本数量,确定曲率的粒度。
* @property [heightReference = Cesium.HeightReference.NONE] - 指定从实体位置到它的相对高度。
* @property [distanceDisplayCondition = false] - 是否按视距显示 或 指定此框将显示在与摄像机的多大距离。
* @property [distanceDisplayCondition_far = 100000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [hasShadows = false] - 是否投射阴影
* @property [shadows = Cesium.ShadowMode.DISABLED] - 指定椭球是否投射或接收来自光源的阴影。
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
radii?: Cesium.Cartesian3;
radii_x?: number;
radii_y?: number;
radii_z?: number;
innerRadii?: Cesium.Cartesian3;
innerRadii_x?: number;
innerRadii_y?: number;
innerRadii_z?: number;
minimumClock?: number;
minimumClockDegree?: number;
maximumClock?: number;
maximumClockDegree?: number;
minimumCone?: number;
minimumConeDegree?: number;
maximumCone?: number;
maximumConeDegree?: number;
heading?: number;
pitch?: number;
roll?: number;
fill?: boolean;
materialType?: string;
materialOptions?: any;
material?: Cesium.MaterialProperty | BaseMaterialProperty | Cesium.Color;
color?: string | Cesium.Color;
opacity?: number;
outline?: boolean;
outlineWidth?: string;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
stackPartitions?: number;
slicePartitions?: number;
subdivisions?: number;
heightReference?: Cesium.HeightReference;
distanceDisplayCondition?: boolean | Cesium.DistanceDisplayCondition;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
hasShadows?: boolean;
shadows?: Cesium.ShadowMode;
setHeight?: number | string;
addHeight?: number | string;
highlight?: EllipsoidEntity.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
};
/**
* 动态扫描面 参数
* @property planeOptions - 扫描面构造参数
* @property [planeOptions.type = 'heading'] - 扫描旋转的方向,可选值:'heading','pitch','roll'
* @property [planeOptions.step = 0.5] - 旋转的步长(角度),控制速度
* @property [planeOptions.style] - 样式信息
*/
type ScanPlaneOptions = {
planeOptions: {
type?: string;
step?: number;
style?: EllipsoidEntity.StyleOptions | any;
};
};
}
/**
* 球、半球、椭球 Entity对象
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.orientation] - 实体方向
* @param [options.scanPlane] - 动态扫描面
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.drawShow = true] - 绘制时,是否自动隐藏entity,可避免拾取坐标存在问题。
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.hasEditRadii = true] - 编辑时,是否可以编辑半径
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class EllipsoidEntity extends BasePointEntity {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | Cesium.PositionProperty | number[] | string;
style: EllipsoidEntity.StyleOptions | any;
attr?: any;
orientation?: Cesium.Property;
scanPlane?: EllipsoidEntity.ScanPlaneOptions | EllipsoidEntity.ScanPlaneOptions[];
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
drawShow?: boolean;
hasEdit?: boolean;
hasEditRadii?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 矢量数据对应的 Cesium内部对象的具体类型对象
*/
readonly entityGraphic: Cesium.EllipsoidGraphics;
/**
* 编辑处理类
*/
readonly EditClass: EditEllipsoid;
/**
* 添加 动态扫描面
* @param planeOptions - 扫描面构造参数
* @returns 矢量对象
*/
addScanPlane(planeOptions: EllipsoidEntity.ScanPlaneOptions): Cesium.Entity;
/**
* 移除单个指定的扫描面
* @param entity - addScanPlane返回的矢量对象
* @returns 无
*/
removeScanPlan(entity: Cesium.Entity): void;
/**
* 清除所有扫描面
* @returns 无
*/
removeAllScanPlan(): void;
/**
* 位置坐标 (笛卡尔坐标), 赋值时可以传入LatLngPoint对象
*/
position: Cesium.Cartesian3 | LngLatPoint;
}
declare namespace FontBillboardEntity {
/**
* Font CSS字体点转图片后的图标点 Entity 支持的样式信息
* @property [iconClass = ""] - 字体css样式
* @property [iconSize = 50] - 字体大小
* @property [color = '#ff0000'] - 字体颜色
* @property [opacity = 1.0] - 透明度,取值范围:0.0-1.0
* @property [scale = 1] - 图像大小的比例
* @property [rotation = 0] - 旋转角度(弧度值),正北为0,逆时针旋转
* @property [rotationDegree = 0] - 旋转角度(度数值,0-360度),与rotation二选一
* @property [horizontalOrigin] - 横向方向的定位
* @property [verticalOrigin] - 垂直方向的定位
* @property [width] - 指定广告牌的宽度(以像素为单位),覆盖图片本身大小。
* @property [height] - 指定广告牌的高度(以像素为单位),覆盖图片本身大小。
* @property [hasPixelOffset = false] - 是否存在偏移量
* @property [pixelOffsetX = 0] - 横向偏移像素
* @property [pixelOffsetY = 0] - 纵向偏移像素
* @property [pixelOffset = Cartesian2.ZERO] - 指定像素偏移量。
* @property [scaleByDistance = false] - 是否按视距缩放 或 设置基于与相机的距离缩放点
* @property [scaleByDistance_far = 1000000] - 上限
* @property [scaleByDistance_farValue = 0.1] - 比例值
* @property [scaleByDistance_near = 1000] - 下限
* @property [scaleByDistance_nearValue = 1] - 比例值
* @property [distanceDisplayCondition = false] - 是否按视距显示 或 指定该广告牌将显示在与摄像机的多大距离
* @property [distanceDisplayCondition_far = 10000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [clampToGround = false] - 是否贴地
* @property [heightReference = Cesium.HeightReference.NONE] - 指定高度相对于什么的属性。
* @property [visibleDepth = true] - 是否被遮挡
* @property [disableDepthTestDistance] - 指定从相机到禁用深度测试的距离。
* @property [eyeOffset = Cartesian3.ZERO] - 眼偏移量
* @property [alignedAxis = Cartesian3.ZERO] - 指定单位旋转向量轴。
* @property [sizeInMeters] - 指定该广告牌的大小是否应该以米来度量。
* @property [translucencyByDistance] - 用于基于与相机的距离设置半透明度。
* @property [pixelOffsetScaleByDistance] - 用于基于与相机的距离设置pixelOffset。
* @property [imageSubRegion] - 定义用于广告牌的图像的子区域,而不是从左下角开始以像素为单位的整个图像。
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
iconClass?: string;
iconSize?: number;
color?: string;
opacity?: number;
scale?: number;
rotation?: number;
rotationDegree?: number;
horizontalOrigin?: Cesium.HorizontalOrigin;
verticalOrigin?: Cesium.VerticalOrigin;
width?: number;
height?: number;
hasPixelOffset?: boolean;
pixelOffsetX?: number;
pixelOffsetY?: number;
pixelOffset?: Cesium.Cartesian2 | number[];
scaleByDistance?: boolean | Cesium.NearFarScalar;
scaleByDistance_far?: number;
scaleByDistance_farValue?: number;
scaleByDistance_near?: number;
scaleByDistance_nearValue?: number;
distanceDisplayCondition?: boolean | Cesium.DistanceDisplayCondition;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
clampToGround?: boolean;
heightReference?: Cesium.HeightReference;
visibleDepth?: boolean;
disableDepthTestDistance?: number;
eyeOffset?: Cesium.Cartesian3;
alignedAxis?: Cesium.Cartesian3;
sizeInMeters?: boolean;
translucencyByDistance?: Cesium.NearFarScalar;
pixelOffsetScaleByDistance?: Cesium.NearFarScalar;
imageSubRegion?: Cesium.BoundingRectangle;
setHeight?: number | string;
addHeight?: number | string;
highlight?: BillboardEntity.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
};
}
/**
* Font CSS字体点转图片后的图标点 Entity,
* 需要引入html2canvas或domtoimage插件进行DOM转图片
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.drawShow = true] - 绘制时,是否自动隐藏entity,可避免拾取坐标存在问题。
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class FontBillboardEntity extends BasePointEntity {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | Cesium.PositionProperty | number[] | string;
style: FontBillboardEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
drawShow?: boolean;
hasEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
declare namespace LabelEntity {
/**
* 文本点 支持的样式信息
* @property [text = "文字"] - 文本内容,换行可以用换行符'\n'。
* @property [scale = 1.0] - 指定缩放比例。
* @property [horizontalOrigin] - 横向方向的定位
* @property [verticalOrigin] - 垂直方向的定位
* @property [font_family = "楷体"] - 字体 ,可选项:微软雅黑,宋体,楷体,隶书,黑体 等
* @property [font_size = 30] - 字体大小
* @property [font_weight = "normal"] - 是否加粗 ,可选项:bold (解释:是),normal (解释:否),
* @property [font_style = "normal"] - 是否斜体 ,可选项:italic (解释:是),normal (解释:否),
* @property [font = '30px normal normal 楷体'] - 上叙4个属性的一次性指定CSS字体的属性。
* @property [fill = true] - 是否填充
* @property [color = "#ffffff"] - 文本颜色
* @property [opacity = 1.0] - 透明度,取值范围:0.0-1.0
* @property [outline = false] - 是否衬色
* @property [outlineColor = "#000000"] - 衬色颜色
* @property [outlineOpacity = 0.6] - 衬色透明度
* @property [outlineWidth = 2.0] - 衬色宽度
* @property [background = false] - 是否背景
* @property [backgroundColor = "#000000"] - 背景颜色
* @property [backgroundOpacity = 0.5] - 背景透明度
* @property [backgroundPadding = new Cesium.Cartesian2(7, 5)] - 背景内边距,指定文字与填充边界内容之间的空间(以像素为单位)。
* @property [hasPixelOffset = false] - 是否存在偏移量
* @property [pixelOffsetX = 0] - 横向偏移像素
* @property [pixelOffsetY = 0] - 纵向偏移像素
* @property [pixelOffset = Cartesian2.ZERO] - A {@link Cartesian2} Property specifying the pixel offset.
* @property [pixelOffsetScaleByDistance] - A {@link NearFarScalar} Property used to set pixelOffset based on distance from the camera.
* @property [eyeOffset = Cartesian3.ZERO] - A {@link Cartesian3} Property specifying the eye offset.
* @property [scaleByDistance = false] - 是否按视距缩放 或 设定基于与相机的距离设置比例。
* @property [scaleByDistance_far = 1000000] - 上限
* @property [scaleByDistance_farValue = 0.1] - 比例值
* @property [scaleByDistance_near = 1000] - 下限
* @property [scaleByDistance_nearValue = 1] - 比例值
* @property [distanceDisplayCondition = false] - 是否按视距显示 或 指定此框将显示在与摄像机的多大距离。
* @property [distanceDisplayCondition_far = 100000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [clampToGround = false] - 是否贴地
* @property [heightReference = Cesium.HeightReference.NONE] - 指定高度相对于什么的属性。
* @property [visibleDepth = true] - 是否被遮挡
* @property [disableDepthTestDistance] - 指定从相机到禁用深度测试的距离。
* @property [translucencyByDistance] - 用于基于与相机的距离设置半透明度。
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
*/
type StyleOptions = any | {
text?: string;
scale?: number;
horizontalOrigin?: Cesium.HorizontalOrigin;
verticalOrigin?: Cesium.VerticalOrigin;
font_family?: string;
font_size?: number;
font_weight?: string;
font_style?: string;
font?: string;
fill?: boolean;
color?: string | Cesium.Color;
opacity?: number;
outline?: boolean;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
outlineWidth?: number;
background?: boolean;
backgroundColor?: string | Cesium.Color;
backgroundOpacity?: number;
backgroundPadding?: number | Cesium.Cartesian2;
hasPixelOffset?: boolean;
pixelOffsetX?: number;
pixelOffsetY?: number;
pixelOffset?: Cesium.Cartesian2 | number[];
pixelOffsetScaleByDistance?: Cesium.NearFarScalar;
eyeOffset?: Cesium.Cartesian3;
scaleByDistance?: boolean | Cesium.NearFarScalar;
scaleByDistance_far?: number;
scaleByDistance_farValue?: number;
scaleByDistance_near?: number;
scaleByDistance_nearValue?: number;
distanceDisplayCondition?: boolean | Cesium.DistanceDisplayCondition;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
clampToGround?: boolean;
heightReference?: Cesium.HeightReference;
visibleDepth?: boolean;
disableDepthTestDistance?: number;
translucencyByDistance?: Cesium.NearFarScalar;
setHeight?: number | string;
addHeight?: number | string;
};
}
/**
* 文字 Entity对象
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.drawShow = true] - 绘制时,是否自动隐藏entity,可避免拾取坐标存在问题。
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class LabelEntity extends BasePointEntity {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | Cesium.PositionProperty | number[] | string;
style: LabelEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
drawShow?: boolean;
hasEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 矢量数据对应的 Cesium内部对象的具体类型对象
*/
readonly entityGraphic: Cesium.LabelGraphics;
/**
* 文本内容
*/
readonly text: string;
/**
* 开始执行弹跳动画
* @param [options] - 参数,包括
* @param [options.maxHeight = 50] - 弹跳的最大高度, 单位:像素
* @param [options.step = 1] - 弹跳增量, 控制速度,单位:像素
* @param [options.autoStop] - 是否自动停止,true时:会逐渐减弱至停止状态
* @returns 无
*/
startBounce(options?: {
maxHeight?: number;
step?: number;
autoStop?: boolean;
}): void;
/**
* 停止弹跳动画
* @returns 无
*/
stopBounce(): void;
/**
* 设置透明度
* @param value - 透明度
* @returns 无
*/
setOpacity(value: number): void;
/**
* 附加的label文本对象
*/
readonly label: Cesium.Label | Cesium.LabelGraphics;
}
declare namespace ModelEntity {
/**
* gltf小模型 支持的样式信息
* @property [url] - glTF模型的URI的字符串或资源属性。
* @property [scale = 1] - 比例
* @property [heading = 0] - 方向角 (度数值,0-360度)
* @property [pitch = 0] - 俯仰角(度数值,0-360度)
* @property [roll = 0] - 翻滚角(度数值,0-360度)
* @property [noPitchRoll] - 当addDynamicPosition时,设置为true时,可以设置模型只动态更改方向,内部固定模型的Pitch和Roll方向值为0
* @property [radius] - 编辑时,半径圆圈的半径,默认自动
* @property [minimumPixelSize = 0.0] - 指定模型的近似最小像素大小,而不考虑缩放。
* @property [maximumScale] - 模型的最大比例尺寸。minimumPixelSize的上限。
* @property [fill = false] - 是否填充,指定与模型渲染颜色混合
* @property [color = "#3388ff"] - 颜色
* @property [opacity = 1.0] - 透明度,取值范围:0.0-1.0
* @property [colorBlendMode = ColorBlendMode.HIGHLIGHT] - 指定颜色如何与模型混合。
* @property [colorBlendAmount = 0.5] - 当colorBlendMode为MIX时指定颜色强度的数字属性。0.0的值表示模型渲染的颜色,1.0的值表示纯色,任何介于两者之间的值表示两者的混合。
* @property [silhouette = false] - 是否轮廓
* @property [silhouetteColor = "#ff0000"] - 轮廓颜色
* @property [silhouetteSize = 2] - 轮廓宽度
* @property [silhouetteAlpha = 0.8] - 轮廓透明度
* @property [distanceDisplayCondition = false] - 是否按视距显示 或 指定此框将显示在与摄像机的多大距离。
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [distanceDisplayCondition_far = 100000] - 最大距离
* @property [distanceDisplayPoint] - 当视角距离超过一定距离后(distanceDisplayCondition_far定义的) 后显示为 像素点 对象的样式,仅在distanceDisplayCondition设置时有效。
* @property [distanceDisplayBillboard] - 当视角距离超过一定距离后(distanceDisplayCondition_far定义的) 后显示为 图标 对象的样式,仅在distanceDisplayCondition设置时有效。
* @property [hasShadows = true] - 是否阴影
* @property [shadows = ShadowMode.ENABLED] - 指定模型是投射还是接收来自光源的阴影。
* @property [clampToGround = false] - 是否贴地
* @property [heightReference = Cesium.HeightReference.NONE] - 指定高度相对于什么的属性。
* @property [incrementallyLoadTextures = true] - 确定模型加载后纹理是否会继续流进来。
* @property [runAnimations = true] - 指定模型中指定的glTF动画是否应该启动。
* @property [clampAnimations = true] - 指定在没有关键帧的情况下,glTF动画是否应该保持最后一个姿势。
* @property [lightColor] - 在为模型着色时指定光的颜色的属性。当undefined场景的浅色被使用代替。
* @property [nodeTransformations] - 一个对象,其中键是节点的名称,值是{@link TranslationRotationScale}属性,描述要应用到该节点的转换。该转换是在节点的现有转换之后(如glTF中指定的那样)应用的,并且不会替换节点的现有转换。
* @property [articulations] - An object, where keys are composed of an articulation name, a single space, and a stage name, and the values are numeric properties.
* @property [clippingPlanes] - 用于裁剪模型的Plane平面集合
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
url?: string | Cesium.Resource;
scale?: number;
heading?: number;
pitch?: number;
roll?: number;
noPitchRoll?: boolean;
radius?: number;
minimumPixelSize?: number;
maximumScale?: number;
fill?: boolean;
color?: string | Cesium.Color;
opacity?: number;
colorBlendMode?: Cesium.ColorBlendMode;
colorBlendAmount?: number;
silhouette?: boolean;
silhouetteColor?: string | Cesium.Color;
silhouetteSize?: number;
silhouetteAlpha?: number;
distanceDisplayCondition?: boolean | Cesium.DistanceDisplayCondition;
distanceDisplayCondition_near?: number;
distanceDisplayCondition_far?: number;
distanceDisplayPoint?: PointEntity.StyleOptions | any;
distanceDisplayBillboard?: BillboardEntity.StyleOptions | any;
hasShadows?: boolean;
shadows?: Cesium.ShadowMode;
clampToGround?: boolean;
heightReference?: Cesium.HeightReference;
incrementallyLoadTextures?: boolean;
runAnimations?: boolean;
clampAnimations?: boolean;
lightColor?: Cesium.Color;
nodeTransformations?: Cesium.PropertyBag | {
[key: string]: Cesium.TranslationRotationScale;
};
articulations?: Cesium.PropertyBag | {
[key: string]: number;
};
clippingPlanes?: Cesium.ClippingPlaneCollection;
setHeight?: number | string;
addHeight?: number | string;
highlight?: ModelEntity.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
};
}
/**
* gltf小模型 Entity对象
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.orientation] - 实体方向
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.maxCacheCount = 50] - 当使用addDynamicPosition设置为动画轨迹位置时,保留的坐标点数量
* @param [options.fixedHeading] - 当使用addDynamicPosition设置为动画轨迹位置时,是否使用固定的heading角度,而不用路线的自动方向角度。
* @param [options.forwardExtrapolationType = Cesium.ExtrapolationType.HOLD] - 当使用addDynamicPosition设置为动画轨迹位置时,在任何可用坐标之后一次请求值时要执行的推断类型,默认为最后一个坐标位置。
* @param [options.backwardExtrapolationType = Cesium.ExtrapolationType.HOLD] - 当使用addDynamicPosition设置为动画轨迹位置时, 在任何可用坐标之前一次请求值时要执行的推断类型,默认为第一个坐标位置。
* @param [options.clampToTileset] - 当使用addDynamicPosition设置为动画轨迹位置时,是否进行贴模型。
* @param [options.frameRateHeight = 30] - 当使用addDynamicPosition设置为动画轨迹位置时,并clampToTileset:true时,多少帧计算一次贴模型高度
* @param [options.objectsToExclude] - 当使用addDynamicPosition设置为动画轨迹位置时,并clampToTileset:true时,排除的不进行贴模型计算的模型对象,可以是: primitives, entities, 或 3D Tiles features
* @param [options.referenceFrame = Cesium.ReferenceFrame.FIXED] - 当使用addDynamicPosition设置为动画轨迹位置时,position位置被定义的参考系。
* @param [options.numberOfDerivatives = 0] - 当使用addDynamicPosition设置为动画轨迹位置时,每个位置的导数的数量;即速度、加速度等。
* @param [options.drawShow = true] - 绘制时,是否自动隐藏entity,可避免拾取坐标存在问题。
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.hasMoveEdit = true] - 编辑时,是否可以整体平移
* @param [options.hasEditScale = false] - 编辑时,是否自动启用调整缩放比例
* @param [options.hasEditRotate = false] - 编辑时,是否自动启用调整方向
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.billboard] - 设置附加的 图标 和对应的样式。
* @param [options.point] - 设置附加的 像素点 和对应的样式
* @param [options.circle] - 设置附加的 圆 和对应的样式
* @param [options.path] - 设置附加的 轨迹路线 和对应的样式
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class ModelEntity extends BasePointEntity {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | Cesium.PositionProperty | number[] | string;
style: ModelEntity.StyleOptions | any;
attr?: any;
orientation?: Cesium.Property;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
maxCacheCount?: number;
fixedHeading?: boolean;
forwardExtrapolationType?: Cesium.ExtrapolationType;
backwardExtrapolationType?: Cesium.ExtrapolationType;
clampToTileset?: boolean;
frameRateHeight?: number;
objectsToExclude?: any;
referenceFrame?: Cesium.ReferenceFrame;
numberOfDerivatives?: number;
drawShow?: boolean;
hasEdit?: boolean;
hasMoveEdit?: boolean;
hasEditScale?: number;
hasEditRotate?: number;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
billboard?: BillboardEntity.StyleOptions | any | any;
point?: PointEntity.StyleOptions | any | any;
circle?: CircleEntity.StyleOptions | any | any;
path?: PathEntity.StyleOptions | any | any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 矢量数据对应的 Cesium内部对象的具体类型对象
*/
readonly entityGraphic: Cesium.ModelGraphics;
/**
* 编辑处理类
*/
readonly EditClass: EditModel;
/**
* 模型整体的缩放比例
*/
scale: number;
/**
* 获取模型的当前时间的实际hpr角度(如动态模型)
* @returns Heading Pitch Roll方向
*/
getHeadingPitchRoll(): Cesium.HeadingPitchRoll;
/**
* 开始运行 自旋转动画效果
* @param [options = {}] - 参数包括:
* @param [options.direction = false] - 旋转方向, true逆时针,false顺时针
* @param [options.time = 60] - 飞行一周所需时间(单位 秒),控制速度
* @param [options.autoStopAngle] - 自动停止的角度值(0-360度),未设置时不自动停止
* @returns 无
*/
rotateStart(options?: {
direction?: boolean;
time?: number;
autoStopAngle?: number;
}): void;
/**
* 停止运行 自旋转动画效果
* @returns 无
*/
rotateStop(): void;
/**
* 动画移动到指定目标位置
* @param [options = {}] - 参数包括:
* @param options.position - 指定目标位置的坐标
* @param [options.time = 5] - 移动的时长(单位 秒),控制速度
* @param [options.onEnd] - 移动完成的回调方法
* @returns 无
*/
moveTo(options?: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
time?: number;
onEnd?: (...params: any[]) => any;
}): void;
/**
* 飞行定位至数据所在的视角
* @param [options = {}] - 参数对象:
* @param [options.scale = 1.2] - 缩放比例,可以根据控制视角比模型大小略大一些,这样效果更友好。
* @param options.radius - 相机距离目标点的距离(单位:米),与scale二选一
* @param [options.minHeight] - 定位时相机的最小高度值,用于控制避免异常数据
* @param [options.maxHeight] - 定位时相机的最大高度值,用于控制避免异常数据
* @param [options.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0至360
* @param [options.pitch] - 俯仰角度值,绕纬度线旋转角度, 0至360
* @param [options.roll] - 翻滚角度值,绕经度线旋转角度, 0至360
* @param [options.duration] - 飞行时间(单位:秒)。如果省略,SDK内部会根据飞行距离计算出理想的飞行时间。
* @param [options.complete] - 飞行完成后要执行的函数。
* @param [options.cancel] - 飞行取消时要执行的函数。
* @param [options.endTransform] - 变换矩阵表示飞行结束时相机所处的参照系。
* @param [options.maximumHeight] - 飞行高峰时的最大高度。
* @param [options.pitchAdjustHeight] - 如果相机飞得比这个值高,在飞行过程中调整俯仰以向下看,并保持地球在视口。
* @param [options.flyOverLongitude] - 地球上的两点之间总有两条路。这个选项迫使相机选择战斗方向飞过那个经度。
* @param [options.flyOverLongitudeWeight] - 仅在通过flyOverLongitude指定的lon上空飞行,只要该方式的时间不超过flyOverLongitudeWeight的短途时间。
* @param [options.convert = true] - 是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。
* @param [options.easingFunction] - 控制在飞行过程中如何插值时间。
* @returns 如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise
*/
flyTo(options?: {
scale?: number;
radius: number;
minHeight?: number;
maxHeight?: number;
heading?: number;
pitch?: number;
roll?: number;
duration?: number;
complete?: Cesium.Camera.FlightCompleteCallback;
cancel?: Cesium.Camera.FlightCancelledCallback;
endTransform?: Cesium.Matrix4;
maximumHeight?: number;
pitchAdjustHeight?: number;
flyOverLongitude?: number;
flyOverLongitudeWeight?: number;
convert?: boolean;
easingFunction?: Cesium.EasingFunction.Callback;
}): Promise;
/**
* 设置透明度
* @param value - 透明度
* @returns 无
*/
setOpacity(value: number): void;
/**
* 位置坐标 (笛卡尔坐标), 赋值时可以传入LatLngPoint对象
*/
position: Cesium.Cartesian3 | LngLatPoint;
/**
* 四周方向角,0-360度角度值
*/
heading: number;
}
declare namespace PathEntity {
/**
* path路径 支持的样式信息
* @property [width = 1.0] - 以像素为单位指定宽度的数字属性。
* @property [color = "#FFFF00"] - 颜色
* @property [opacity = 1.0] - 透明度,取值范围:0.0-1.0
* @property [material = Cesium.Color.WHITE] - 指定用于填充的材质,指定material后fillType和color属性将被覆盖。
* @property [leadTime] - 提前显示轨迹的时间长度(单位:秒),比如不显示前方路线,可以设置为0
* @property [trailTime] - 保留历史轨迹的时间长度(单位:秒)
* @property [resolution = 60] - 指定在对位置进行采样时步进的最大秒数。
* @property [distanceDisplayCondition = false] - 是否按视距显示 或 指定此框将显示在与摄像机的多大距离。
* @property [distanceDisplayCondition_far = 100000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
*/
type StyleOptions = any | {
width?: number;
color?: string | Cesium.Color;
opacity?: number;
material?: Cesium.MaterialProperty | BaseMaterialProperty | Cesium.Color;
leadTime?: number;
trailTime?: number;
resolution?: number;
distanceDisplayCondition?: boolean | Cesium.DistanceDisplayCondition;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
setHeight?: number | string;
addHeight?: number | string;
};
}
/**
* path路径 Entity矢量数据
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置(含时序的点集合)
* @param [options.orientation] - 实体方向
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.label] - 设置是否显示 文本 和对应的样式
* @param [options.model] - 设置附加的 gltf模型 和对应的样式
* @param [options.billboard] - 设置附加的 图标 和对应的样式。
* @param [options.point] - 设置附加的 像素点 和对应的样式
* @param [options.circle] - 设置附加的 圆 和对应的样式
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class PathEntity extends BasePointEntity {
constructor(options: {
position: Cesium.SampledPositionProperty;
orientation?: Cesium.Property;
style: PathEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
label?: LabelEntity.StyleOptions | any;
model?: ModelEntity.StyleOptions | any | any;
billboard?: BillboardEntity.StyleOptions | any | any;
point?: PointEntity.StyleOptions | any | any;
circle?: CircleEntity.StyleOptions | any | any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 矢量数据对应的 Cesium内部对象的具体类型对象
*/
readonly entityGraphic: Cesium.PathGraphics;
/**
* 获取当前时间的三维空间中的旋转。
*/
readonly orientationShow: Cesium.Quaternion;
/**
* 获取当前时间的方向角
*/
readonly hpr: Cesium.HeadingPitchRoll;
/**
* 俯仰角,上下摇摆的角度,0-360度角度值
*/
pitch: number;
/**
* 滚转角,左右摆动的角度,0-360度角度值
*/
roll: number;
/**
* 位置坐标数组 (笛卡尔坐标), 赋值时可以传入LatLngPoint数组对象
*/
positions: any[][] | LngLatPoint[];
/**
* 位置坐标(数组对象),示例 [ [123.123456,32.654321,198.7,time], [111.123456,22.654321,50.7,time] ]
*/
readonly coordinates: any[][];
/**
* 当前飞行过的positions轨迹点 数组的index
* @param [currentTime] - 指定的时间,默认为map当前时间
* @returns 数组的顺序
*/
getIndex(currentTime?: Cesium.JulianDate): number;
/**
* 获取数据的矩形边界
* @param [options] - 控制参数
* @param [options.isFormat = false] - 是否格式化,格式化时示例: { xmin: 73.16895, xmax: 134.86816, ymin: 12.2023, ymax: 54.11485 }
* @returns isFormat:true时,返回格式化对象,isFormat:false时返回Cesium.Rectangle对象
*/
getRectangle(options?: {
isFormat?: boolean;
}): Cesium.Rectangle | any;
/**
* 位置坐标(数组对象),示例 [ [123.123456,32.654321,198.7], [111.123456,22.654321,50.7] ]
* @param noAlt - true时不导出高度值
* @returns 位置坐标(数组对象)
*/
getCoordinates(noAlt: boolean): any[][];
/**
* 定位至当前时间所在的位置 (非相机位置)
* @param [options = {}] - 具有以下属性的对象:
* @param [options.radius] - 相机距离目标点的距离(单位:米)
* @param [options.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0至360
* @param [options.pitch] - 俯仰角度值,绕纬度线旋转角度, 0至360
* @param [options.roll] - 翻滚角度值,绕经度线旋转角度, 0至360
* @param [options.duration] - 飞行持续时间(秒)。如果省略,内部会根据飞行距离计算出理想的飞行时间。
* @param [options.endTransform] - 表示飞行完成后摄像机将位于的参考帧的变换矩阵。
* @param [options.maximumHeight] - 飞行高峰时的最大高度。
* @param [options.pitchAdjustHeight] - 如果相机的飞行角度高于该值,请在飞行过程中调整俯仰角度以向下看,并将地球保持在视口中。
* @param [options.flyOverLongitude] - 地球上2点之间总是有两种方式。此选项会迫使相机选择战斗方向以在该经度上飞行。
* @param [options.flyOverLongitudeWeight] - 仅在通过flyOverLongitude指定的lon上空飞行,只要该方式的时间不超过flyOverLongitudeWeight的短途时间。
* @param [options.easingFunction] - 控制在飞行过程中如何插值时间。
* @returns 如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise
*/
flyToPoint(options?: {
radius?: number;
heading?: number;
pitch?: number;
roll?: number;
duration?: number;
endTransform?: Cesium.Matrix4;
maximumHeight?: number;
pitchAdjustHeight?: number;
flyOverLongitude?: number;
flyOverLongitudeWeight?: number;
easingFunction?: Cesium.EasingFunction.Callback;
}): Promise;
/**
* 位置坐标 (笛卡尔坐标), 赋值时可以传入LatLngPoint对象
*/
position: Cesium.Cartesian3 | LngLatPoint;
}
declare namespace PlaneEntity {
/**
* 平面 支持的样式信息
* @property [dimensions] - 指定平面的宽度和高度。
* @property [dimensions_x = 100] - 长度
* @property [dimensions_y = 100] - 宽度
* @property [plane] - 指定平面的法线和距离。
* @property [plane_normal = "z"] - 方向 ,可选项:x (解释:X轴),y (解释:Y轴),z (解释:Z轴),
* @property [plane_distance = 0] - 偏移距离
* @property [heading = 0] - 方向角 (度数值,0-360度)
* @property [pitch = 0] - 俯仰角(度数值,0-360度)
* @property [roll = 0] - 翻滚角(度数值,0-360度)
* @property [fill = true] - 是否填充
* @property [materialType = "Color"] - 填充类型 ,可选项:{@link MaterialType}
* @property [materialOptions] - materialType对应的{@link MaterialType}中材质参数
* @property [material = Cesium.Color.WHITE] - 指定用于填充的材质,指定material后`materialType`和`materialOptions`将被覆盖。
* @property [randomColor = false] - 是否随机颜色
* @property [color = "#00FF00"] - 颜色
* @property [opacity = 1.0] - 透明度, 取值范围:0.0-1.0
* @property [outline = false] - 是否边框
* @property [outlineWidth = 1] - 边框宽度
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
* @property [distanceDisplayCondition = false] - 是否按视距显示 或 指定此框将显示在与摄像机的多大距离。
* @property [distanceDisplayCondition_far = 100000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [hasShadows = false] - 是否阴影
* @property [shadows = Cesium.ShadowMode.DISABLED] - 指定平面是投射还是接收来自光源的阴影。
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
dimensions?: Cesium.Cartesian2;
dimensions_x?: number;
dimensions_y?: number;
plane?: Cesium.Plane;
plane_normal?: string | Cesium.Cartesian3;
plane_distance?: number;
heading?: number;
pitch?: number;
roll?: number;
fill?: boolean;
materialType?: string;
materialOptions?: any;
material?: Cesium.MaterialProperty | BaseMaterialProperty | Cesium.Color;
randomColor?: boolean;
color?: string | Cesium.Color;
opacity?: number;
outline?: boolean;
outlineWidth?: string;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
distanceDisplayCondition?: boolean | Cesium.DistanceDisplayCondition;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
hasShadows?: boolean;
shadows?: Cesium.ShadowMode;
setHeight?: number | string;
addHeight?: number | string;
highlight?: PlaneEntity.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
};
}
/**
* 平面 Entity对象
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.orientation] - 实体方向
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.drawShow = true] - 绘制时,是否自动隐藏entity,可避免拾取坐标存在问题。
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class PlaneEntity extends BasePointEntity {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | Cesium.PositionProperty | number[] | string;
style: PlaneEntity.StyleOptions | any;
attr?: any;
orientation?: Cesium.Property;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
drawShow?: boolean;
hasEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 矢量数据对应的 Cesium内部对象的具体类型对象
*/
readonly entityGraphic: Cesium.PlaneGraphics;
/**
* 编辑处理类
*/
readonly EditClass: EditPlane;
}
declare namespace PointEntity {
/**
* 像素点 支持的样式信息
* @property [pixelSize = 10] - 像素大小
* @property [color = "#3388ff"] - 颜色
* @property [opacity = 1.0] - 透明度,取值范围:0.0-1.0
* @property [outline = false] - 是否边框
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
* @property [outlineWidth = 2] - 边框宽度
* @property [scaleByDistance = false] - 是否按视距缩放 或 指定用于基于距离缩放点。
* @property [scaleByDistance_far = 1000000] - 上限
* @property [scaleByDistance_farValue = 0.1] - 比例值
* @property [scaleByDistance_near = 1000] - 下限
* @property [scaleByDistance_nearValue = 1] - 比例值
* @property [distanceDisplayCondition = false] - 是否按视距显示 或 指定此框将显示在与摄像机的多大距离。
* @property [distanceDisplayCondition_far = 10000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [visibleDepth = true] - 是否被遮挡
* @property [disableDepthTestDistance] - 指定从相机到禁用深度测试的距离。
* @property [translucencyByDistance] - 用于基于与相机的距离设置半透明度。
* @property [clampToGround = false] - 是否贴地
* @property [heightReference = Cesium.HeightReference.NONE] - 指定高度相对于什么的属性。
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
pixelSize?: number;
color?: string | Cesium.Color;
opacity?: number;
outline?: boolean;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
outlineWidth?: number;
scaleByDistance?: boolean | Cesium.NearFarScalar;
scaleByDistance_far?: number;
scaleByDistance_farValue?: number;
scaleByDistance_near?: number;
scaleByDistance_nearValue?: number;
distanceDisplayCondition?: boolean | Cesium.DistanceDisplayCondition;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
visibleDepth?: boolean;
disableDepthTestDistance?: number;
translucencyByDistance?: Cesium.NearFarScalar;
clampToGround?: boolean;
heightReference?: Cesium.HeightReference;
setHeight?: number | string;
addHeight?: number | string;
highlight?: PointEntity.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
};
}
/**
* 像素点 Entity对象
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.maxCacheCount = 50] - 当使用addDynamicPosition设置为动画轨迹位置时,保留的坐标点数量
* @param [options.forwardExtrapolationType = Cesium.ExtrapolationType.HOLD] - 当使用addDynamicPosition设置为动画轨迹位置时,在任何可用坐标之后一次请求值时要执行的推断类型,默认为最后一个坐标位置。
* @param [options.backwardExtrapolationType = Cesium.ExtrapolationType.HOLD] - 当使用addDynamicPosition设置为动画轨迹位置时, 在任何可用坐标之前一次请求值时要执行的推断类型,默认为第一个坐标位置。
* @param [options.clampToTileset] - 当使用addDynamicPosition设置为动画轨迹位置时,是否进行贴模型。
* @param [options.frameRateHeight = 30] - 当使用addDynamicPosition设置为动画轨迹位置时,并clampToTileset:true时,多少帧计算一次贴模型高度
* @param [options.objectsToExclude] - 当使用addDynamicPosition设置为动画轨迹位置时,并clampToTileset:true时,排除的不进行贴模型计算的模型对象,可以是: primitives, entities, 或 3D Tiles features
* @param [options.drawShow = true] - 绘制时,是否自动隐藏entity,可避免拾取坐标存在问题。
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.model] - 设置附加的 gltf模型 和对应的样式
* @param [options.billboard] - 设置附加的 图标 和对应的样式
* @param [options.circle] - 设置附加的 圆 和对应的样式
* @param [options.path] - 设置附加的 轨迹路线 和对应的样式
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class PointEntity extends BasePointEntity {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | Cesium.PositionProperty | number[] | string;
style: PointEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
maxCacheCount?: number;
forwardExtrapolationType?: Cesium.ExtrapolationType;
backwardExtrapolationType?: Cesium.ExtrapolationType;
clampToTileset?: boolean;
frameRateHeight?: number;
objectsToExclude?: any;
drawShow?: boolean;
hasEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
model?: ModelEntity.StyleOptions | any | any;
billboard?: BillboardEntity.StyleOptions | any | any;
circle?: CircleEntity.StyleOptions | any | any;
path?: PathEntity.StyleOptions | any | any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 矢量数据对应的 Cesium内部对象的具体类型对象
*/
readonly entityGraphic: Cesium.PointGraphics;
}
declare namespace PolygonEntity {
/**
* 面 支持的样式信息
* @property [fill = true] - 是否填充
* @property [materialType = "Color"] - 填充类型 ,可选项:{@link MaterialType}
* @property [materialOptions] - materialType对应的{@link MaterialType}中材质参数
* @property [material = Cesium.Color.WHITE] - 指定用于填充的材质,指定material后`materialType`和`materialOptions`将被覆盖。
* @property [color = "#3388ff"] - 颜色
* @property [opacity = 1.0] - 透明度, 取值范围:0.0-1.0
* @property [randomColor = false] - 是否随机颜色
* @property [stRotation = 0] - 多边形纹理的角度(弧度值),正北为0,逆时针旋转
* @property [stRotationDegree = 0] - 多边形纹理的角度(度数值,0-360度),与stRotation二选一
* @property [outline = false] - 是否边框
* @property [outlineWidth = 1] - 边框宽度
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
* @property [outlineStyle] - 边框的完整自定义样式,会覆盖outlineWidth、outlineColor等参数。
* @property [distanceDisplayCondition = false] - 是否按视距显示 或 指定此框将显示在与摄像机的多大距离。
* @property [distanceDisplayCondition_far = 100000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [height = 0] - 高程,圆相对于椭球面的高度。
* @property [heightReference = Cesium.HeightReference.NONE] - 指定高度相对于什么的属性。
* @property [diffHeight = 100] - 高度差(走廊本身的高度),与extrudedHeight二选一。
* @property [extrudedHeight] - 指定走廊挤压面相对于椭球面的高度。
* @property [extrudedHeightReference = Cesium.HeightReference.NONE] - 指定挤压高度相对于什么的属性。
* @property [granularity = Cesium.Math.RADIANS_PER_DEGREE] - 指定每个纬度点和经度点之间的角距离。
* @property [closeTop = true] - 当为false时,离开一个挤压多边形的顶部打开。
* @property [closeBottom = true] - 当为false时,离开挤压多边形的底部打开。
* @property [arcType = Cesium.ArcType.GEODESIC] - 多边形的边缘必须遵循的线条类型。
* @property [hasShadows = false] - 是否阴影
* @property [shadows = Cesium.ShadowMode.DISABLED] - 指定多边形是投射还是接收来自光源的阴影。
* @property [clampToGround = false] - 是否贴地
* @property [perPositionHeight = false] - 指定是否使用每个位置的高度。同clampToGround,与clampToGround反之
* @property [classificationType = Cesium.ClassificationType.BOTH] - 指定贴地时的覆盖类型,是只对地形、3dtiles 或 两者同时。
* @property [zIndex = 0] - 层级顺序,指定用于排序地面几何的zIndex。只有当多边形是常数且没有指定高度或挤压高度时才有效果。
* @property [buffer] - 对坐标进行缓冲扩大buffer指定的半径范围,单位:米。如用于单体化建筑物扩大点方便鼠标拾取。
* @property [setHeight = 0] - 指定坐标高度值,或数组指定每个点的高度(常用于图层中配置)
* @property [addHeight = 0] - 在现有坐标基础上增加的高度值,或数组指定每个点增加的高度(常用于图层中配置)
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示,额外支持:
* // * @property {String|LngLatPoint} [label.position] 文字所在位置,默认是矢量对象本身的center属性值。支持配置 'center':围合面的内部中心点坐标,'{xxxx}'配置属性字段, 或者直接指定坐标值。
* // * @property {Boolean} [label.showAll] MultiPolygon和MultiLineString时,是否显示所有注记,默认只在最大坐标数的面或线上显示。
*/
type StyleOptions = any | {
fill?: boolean;
materialType?: string;
materialOptions?: any;
material?: Cesium.MaterialProperty | BaseMaterialProperty | Cesium.Color;
color?: string | Cesium.Color;
opacity?: number;
randomColor?: boolean;
stRotation?: number;
stRotationDegree?: number;
outline?: boolean;
outlineWidth?: number;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
outlineStyle?: PolylineEntity.StyleOptions | any;
distanceDisplayCondition?: boolean | Cesium.DistanceDisplayCondition;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
height?: number;
heightReference?: Cesium.HeightReference;
diffHeight?: number;
extrudedHeight?: number;
extrudedHeightReference?: Cesium.HeightReference;
granularity?: number;
closeTop?: boolean;
closeBottom?: boolean;
arcType?: Cesium.ArcType;
hasShadows?: boolean;
shadows?: Cesium.ShadowMode;
clampToGround?: boolean;
perPositionHeight?: boolean;
classificationType?: Cesium.ClassificationType;
zIndex?: number;
buffer?: number;
setHeight?: number | number[];
addHeight?: number | number[];
highlight?: PolygonEntity.StyleOptions | any;
label?: LabelEntity.StyleOptions | any | any;
};
}
/**
* 面 Entity矢量数据
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.minPointNum = 2] - 绘制时,至少需要点的个数
* @param [options.maxPointNum = 9999] - 绘制时,最多允许点的个数
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.hasMoveEdit = true] - 编辑时,是否可以整体平移
* @param [options.hasHeightEdit = true] - 编辑时,当有diffHeight时,是否可以编辑高度
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class PolygonEntity extends BasePolyEntity {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: PolygonEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
minPointNum?: number;
maxPointNum?: number;
hasEdit?: boolean;
hasMoveEdit?: boolean;
hasHeightEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 矢量数据对应的 Cesium内部对象的具体类型对象
*/
readonly entityGraphic: Cesium.PolygonGraphics;
/**
* 编辑处理类
*/
readonly EditClass: EditPolygon;
/**
* 周长 距离(单位:米)
*/
readonly distance: number;
/**
* 实际显示的坐标数组 (笛卡尔坐标),
* 如标绘中时positions对应的可能只是控制点坐标或CallbackProperty属性
*/
readonly positionsShow: Cesium.Cartesian3[];
/**
* 对应的Cesium面entity内部位置对象
*/
readonly hierarchy: Cesium.PolygonHierarchy;
/**
* 位置坐标数组 (笛卡尔坐标), 赋值时可以传入LatLngPoint数组对象 或 Cesium.PolygonHierarchy
*/
positions: Cesium.Cartesian3[];
/**
* 将矢量数据导出为GeoJSON格式规范对象。
* @param [options] - 参数对象:
* @param [options.closure] - 是否闭合,true时增加第1个点。
* @param [options.noAlt] - 不导出高度值
* @returns GeoJSON格式规范对象
*/
toGeoJSON(options?: {
closure?: boolean;
noAlt?: boolean;
}): any;
/**
* 获取entity的坐标【只取最外层圈坐标】
* @param entity - polygon面对象
* @returns 最外层圈坐标数组
*/
static getPositions(entity: Cesium.Entity): Cesium.Cartesian3[];
/**
* 获取entity的多个坐标【只取多圈的坐标,如挖洞多边形】
* @param entity - polygon面对象
* @returns 多个 坐标数组
*/
static getAllPositions(entity: Cesium.Entity): any[][];
/**
* 中心点坐标 (笛卡尔坐标)
*/
readonly center: Cesium.Cartesian3;
/**
* 按Cesium.CallbackProperty的方式 更新坐标集合(更加平滑)
* @param positions - 坐标数组
* @returns 当前坐标集合
*/
setCallbackPositions(positions: string[] | any[][] | LngLatPoint[]): Cesium.Cartesian3[];
}
declare namespace PolylineEntity {
/**
* 线 支持的样式信息
* @property [materialType = "Color"] - 线型 ,可选项:{@link MaterialType}
* @property [materialOptions] - materialType对应的{@link MaterialType}中材质参数
* @property [material = Cesium.Color.WHITE] - 指定用于填充的材质,指定material后`materialType`和`materialOptions`将被覆盖。
* @property [width = 4] - 线宽
* @property [color = "#3388ff"] - 颜色
* @property [opacity = 1.0] - 透明度,取值范围:0.0-1.0
* @property [randomColor = false] - 是否随机颜色
* @property [depthFailMaterial] - 指定当折线位于地形之下时用于绘制折线的材质。
* @property [closure = false] - 是否闭合, 在positions是属性机制的回调对象时无效
* @property [outline = false] - 是否衬色
* @property [outlineColor = "#ffffff"] - 衬色颜色
* @property [outlineWidth = 2] - 衬色宽度
* @property [depthFail] - 是否显示遮挡
* @property [depthFailColor] - 遮挡处颜色
* @property [depthFailOpacity] - 遮挡处透明度
* @property [distanceDisplayCondition = false] - 是否按视距显示 或 指定此框将显示在与摄像机的多大距离。
* @property [distanceDisplayCondition_far = 100000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [arcType = Cesium.ArcType.GEODESIC] - 折线段必须遵循的线的类型。
* @property [granularity = Cesium.Math.RADIANS_PER_DEGREE] - 如果arcType不是arcType.none,则指定每个纬度和经度之间的角距离的数字属性。
* @property [hasShadows = false] - 是否阴影
* @property [shadows = Cesium.ShadowMode.DISABLED] - 指定对象是投射还是接收来自光源的阴影。
* @property [clampToGround = false] - 是否贴地
* @property [classificationType = Cesium.ClassificationType.BOTH] - 指定贴地时的覆盖类型,是只对地形、3dtiles 或 两者同时。
* @property [zIndex = 0] - 层级顺序,指定用于排序地面几何的zIndex。只有当' clampToGround '为真且支持地形上的折线时才会有效果。
* @property [setHeight = 0] - 指定坐标高度值,或数组指定每个点的高度(常用于图层中配置)
* @property [addHeight = 0] - 在现有坐标基础上增加的高度值,或数组指定每个点增加的高度(常用于图层中配置)
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示,额外支持:
* // * @property {String} [label.text = "文字"] 文本内容,换行可以用换行符'\n'。
* // * @property {String|LngLatPoint} [label.position] 文字所在位置,默认是矢量对象本身的center属性值。支持配置 'center':围合面的内部中心点坐标,'{xxxx}'配置属性字段, 或者直接指定坐标值。
* // * @property {Boolean} [label.showAll] MultiPolygon和MultiLineString时,是否显示所有注记,默认只在最大坐标数的面或线上显示。
*/
type StyleOptions = any | {
materialType?: string;
materialOptions?: any;
material?: Cesium.MaterialProperty | BaseMaterialProperty | Cesium.Color;
width?: number;
color?: string | Cesium.Color;
opacity?: number;
randomColor?: boolean;
depthFailMaterial?: Cesium.MaterialProperty | Cesium.Color;
closure?: boolean;
outline?: boolean;
outlineColor?: string | Cesium.Color;
outlineWidth?: number;
depthFail?: boolean;
depthFailColor?: string;
depthFailOpacity?: number;
distanceDisplayCondition?: boolean | Cesium.DistanceDisplayCondition;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
arcType?: Cesium.ArcType;
granularity?: number;
hasShadows?: boolean;
shadows?: Cesium.ShadowMode;
clampToGround?: boolean;
classificationType?: Cesium.ClassificationType;
zIndex?: number;
setHeight?: number | number[];
addHeight?: number | number[];
highlight?: PolylineEntity.StyleOptions | any;
label?: LabelEntity.StyleOptions | any | any;
};
}
/**
* 线 Entity矢量数据
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.minPointNum = 2] - 绘制时,至少需要点的个数
* @param [options.maxPointNum = 9999] - 绘制时,最多允许点的个数
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.hasMoveEdit = true] - 编辑时,是否可以整体平移
* @param [options.hasHeightEdit = true] - 编辑时,当有diffHeight时,是否可以编辑高度
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class PolylineEntity extends BasePolyEntity {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: PolylineEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
minPointNum?: number;
maxPointNum?: number;
hasEdit?: boolean;
hasMoveEdit?: boolean;
hasHeightEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 矢量数据对应的 Cesium内部对象的具体类型对象
*/
readonly entityGraphic: Cesium.PolylineGraphics;
/**
* 位置坐标数组 (笛卡尔坐标), 赋值时可以传入LatLngPoint数组对象
*/
positions: Cesium.Cartesian3[];
}
declare namespace PolylineVolumeEntity {
/**
* 管道线 支持的样式信息
* @property [shape = "pipeline"] - 形状类型 或 定义要挤压的形状。类型可选项:pipeline (解释:空心管),circle (解释:实心管),star (解释:星状管),
* @property [radius = 10] - 半径(单位:米)
* @property [thicknes = radius/3] - 厚度(单位:米),空心管/星状管 的外层厚度
* @property [slices] - 边数,比如为4时是矩形管;星状管代表角的个数;
* @property [startAngle = 0] - 开始角度,取值范围0-360
* @property [endAngle = 360] - 结束角度,取值范围0-360,比如endAngle=180的空心管是拱形半圆管道
* @property [fill = true] - 是否填充
* @property [color = "#FFFF00"] - 颜色
* @property [opacity = 1.0] - 透明度,取值范围:0.0-1.0
* @property [material = Cesium.Color.WHITE] - 指定用于填充的材质,指定material后fillType和color属性将被覆盖。
* @property [outline = false] - 是否边线
* @property [outlineWidth = 1.0] - 边线宽度
* @property [outlineColor = "#ffffff"] - 边线颜色
* @property [outlineOpacity = opacity] - 边框透明度
* @property [cornerType = CornerType.ROUNDED] - 指定边角的样式。
* @property [granularity = Cesium.Math.RADIANS_PER_DEGREE] - 指定每个纬度点和经度点之间的角距离。
* @property [distanceDisplayCondition = false] - 是否按视距显示 或 指定此框将显示在与摄像机的多大距离。
* @property [distanceDisplayCondition_far = 100000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [hasShadows = false] - 是否投射阴影
* @property [shadows = Cesium.ShadowMode.DISABLED] - 指定管道是否投射或接收来自光源的阴影。
* @property [setHeight = 0] - 指定坐标高度值,或数组指定每个点的高度(常用于图层中配置)
* @property [addHeight = 0] - 在现有坐标基础上增加的高度值,或数组指定每个点增加的高度(常用于图层中配置)
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
shape?: string | Cesium.Cartesian2[];
radius?: number;
thicknes?: number;
slices?: number;
startAngle?: number;
endAngle?: number;
fill?: boolean;
color?: string | Cesium.Color;
opacity?: number;
material?: Cesium.MaterialProperty | BaseMaterialProperty | Cesium.Color;
outline?: boolean;
outlineWidth?: number;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
cornerType?: Cesium.CornerType;
granularity?: number;
distanceDisplayCondition?: boolean | Cesium.DistanceDisplayCondition;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
hasShadows?: boolean;
shadows?: Cesium.ShadowMode;
setHeight?: number | number[];
addHeight?: number | number[];
highlight?: PolylineVolumeEntity.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
};
}
/**
* 管道线 Entity矢量数据
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.minPointNum = 2] - 绘制时,至少需要点的个数
* @param [options.maxPointNum = 9999] - 绘制时,最多允许点的个数
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.hasMoveEdit = true] - 编辑时,是否可以整体平移
* @param [options.hasHeightEdit = true] - 编辑时,当有diffHeight时,是否可以编辑高度
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class PolylineVolumeEntity extends BasePolyEntity {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: PolylineVolumeEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
minPointNum?: number;
maxPointNum?: number;
hasEdit?: boolean;
hasMoveEdit?: boolean;
hasHeightEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 矢量数据对应的 Cesium内部对象的具体类型对象
*/
readonly entityGraphic: Cesium.PolygonGraphics;
/**
* 编辑处理类
*/
readonly EditClass: EditPolylineVolume;
}
declare namespace RectangleEntity {
/**
* 矩形 支持的样式信息
* @property [fill = true] - 是否填充
* @property [materialType = "Color"] - 填充类型 ,可选项:{@link MaterialType}
* @property [materialOptions] - materialType对应的{@link MaterialType}中材质参数
* @property [material = Cesium.Color.WHITE] - 指定用于填充的材质,指定material后`materialType`和`materialOptions`将被覆盖。
* @property [color = "#3388ff"] - 颜色
* @property [opacity = 1.0] - 透明度, 取值范围:0.0-1.0
* @property [outline = false] - 是否边框
* @property [outlineWidth = 1] - 边框宽度
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
* @property [outlineStyle] - 边框的完整自定义样式,会覆盖outlineWidth、outlineColor等参数。
* @property [height = 0] - 高程,圆相对于椭球面的高度。
* @property [heightReference = Cesium.HeightReference.NONE] - 指定高度相对于什么的属性。
* @property [diffHeight = 100] - 高度差(走廊本身的高度),与extrudedHeight二选一。
* @property [extrudedHeight] - 指定走廊挤压面相对于椭球面的高度。
* @property [extrudedHeightReference = Cesium.HeightReference.NONE] - 指定挤压高度相对于什么的属性。
* @property [rotation = 0] - 旋转角度(弧度值),正北为0,逆时针旋转
* @property [rotationDegree = 0] - 旋转角度(度数值,0-360度),与rotation二选一
* @property [stRotation = 0] - 矩形纹理的角度(弧度值),正北为0,逆时针旋转
* @property [stRotationDegree = 0] - 矩形纹理的角度(度数值,0-360度),与stRotation二选一
* @property [distanceDisplayCondition = false] - 是否按视距显示 或 指定此框将显示在与摄像机的多大距离。
* @property [distanceDisplayCondition_far = 100000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [hasShadows = false] - 是否阴影
* @property [shadows = Cesium.ShadowMode.DISABLED] - 指定矩形是投射还是接收来自光源的阴影。
* @property [granularity = Cesium.Math.RADIANS_PER_DEGREE] - 指定矩形上各点之间的角距离。
* @property [clampToGround = false] - 是否贴地
* @property [classificationType = Cesium.ClassificationType.BOTH] - 指定贴地时的覆盖类型,是只对地形、3dtiles 或 两者同时。
* @property [zIndex = 0] - 层级顺序,指定用于排序地面几何的zIndex。只有当矩形为常量且没有指定height或extrdedheight时才有效果。
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
fill?: boolean;
materialType?: string;
materialOptions?: any;
material?: Cesium.MaterialProperty | BaseMaterialProperty | Cesium.Color;
color?: string | Cesium.Color;
opacity?: number;
outline?: boolean;
outlineWidth?: number;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
outlineStyle?: PolylineEntity.StyleOptions | any;
height?: number;
heightReference?: Cesium.HeightReference;
diffHeight?: number;
extrudedHeight?: number;
extrudedHeightReference?: Cesium.HeightReference;
rotation?: number;
rotationDegree?: number;
stRotation?: number;
stRotationDegree?: number;
distanceDisplayCondition?: boolean | Cesium.DistanceDisplayCondition;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
hasShadows?: boolean;
shadows?: Cesium.ShadowMode;
granularity?: number;
clampToGround?: boolean;
classificationType?: Cesium.ClassificationType;
zIndex?: number;
setHeight?: number | string;
addHeight?: number | string;
highlight?: RectangleEntity.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
};
}
/**
* 矩形 Entity矢量数据
* @param options - 参数对象,包括以下:
* @param [options.positions] - 坐标位置
* @param [options.rectangle] - 矩形范围,与positions二选一。
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.minPointNum = 2] - 绘制时,至少需要点的个数
* @param [options.maxPointNum = 9999] - 绘制时,最多允许点的个数
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.hasMoveEdit = true] - 编辑时,是否可以整体平移
* @param [options.hasHeightEdit = true] - 编辑时,当有diffHeight时,是否可以编辑高度
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class RectangleEntity extends BasePolyEntity {
constructor(options: {
positions?: LngLatPoint[] | Cesium.Cartesian3[] | any[] | Cesium.PositionProperty | Cesium.CallbackProperty;
rectangle?: Cesium.Rectangle | Cesium.PositionProperty | Cesium.CallbackProperty;
style: RectangleEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
minPointNum?: number;
maxPointNum?: number;
hasEdit?: boolean;
hasMoveEdit?: boolean;
hasHeightEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 矢量数据对应的 Cesium内部对象的具体类型对象
*/
readonly entityGraphic: Cesium.RectangleGraphics;
/**
* 编辑处理类
*/
readonly EditClass: EditRectangle;
/**
* 矩形的边线坐标集合(笛卡尔坐标)
*/
outlinePositions: Cesium.Cartesian3[];
/**
* 矩形的边线坐标集合(经纬度二维数组),示例 [ [123.123456,32.654321,198.7], [111.123456,22.654321,50.7], …… ]
*/
readonly outlineCoordinates: any[][];
/**
* 坐标数据对应的矩形边界对象
*/
rectangle: Cesium.Rectangle;
/**
* 周长 距离(单位:米)
*/
readonly distance: number;
/**
* 将矢量数据导出为GeoJSON格式规范对象。
* @param [options] - 参数对象:
* @param [options.outline] - 是否导出边线的坐标
* @param [options.closure] - 导出outline时,是否闭合,true时会添加第0个点进行闭合。
* @param [options.noAlt] - 不导出高度值
* @returns GeoJSON格式规范对象
*/
toGeoJSON(options?: {
outline?: boolean;
closure?: boolean;
noAlt?: boolean;
}): any;
/**
* 获取矩形的4个边线坐标集合(笛卡尔坐标)
* @param [closure = true] - 是否闭合,true时会添加第0个点进行闭合。
* @returns 边线坐标数组
*/
getOutlinePositions(closure?: boolean): Cesium.Cartesian3[];
/**
* 获取矩形的4个边线坐标集合(经纬度二维数组)
* @param [closure = true] - 是否闭合,true时会添加第0个点进行闭合。
* @param [noAlt] - 是否包含高度值
* @returns 边线坐标数组(经纬度二维数组)
*/
getOutlineCoordinates(closure?: boolean, noAlt?: boolean): any[][];
/**
* 获取数据的矩形边界
* @param [options] - 控制参数
* @param [options.isFormat = false] - 是否格式化,格式化时示例: { xmin: 73.16895, xmax: 134.86816, ymin: 12.2023, ymax: 54.11485 }
* @returns isFormat:true时,返回格式化对象,isFormat:false时返回Cesium.Rectangle对象
*/
getRectangle(options?: {
isFormat?: boolean;
}): Cesium.Rectangle | any;
/**
* 判断点是否在矩形内
* @param position - 需要判断的点
* @returns 是否在矩形内
*/
isInPoly(position: Cesium.Cartesian3 | LngLatPoint): boolean;
/**
* 中心点坐标 (笛卡尔坐标)
*/
readonly center: Cesium.Cartesian3;
/**
* 面积(单位:平方米)
*/
readonly area: number;
/**
* 位置坐标数组
*/
readonly points: LngLatPoint[] | Cesium.Cartesian3[] | any[];
/**
* 飞行定位至 数据所在的视角
* @param [options = {}] - 参数对象:
* @param [options.radius] - 点状数据时,相机距离目标点的距离(单位:米)
* @param [options.scale = 1.2] - 线面数据时,缩放比例,可以控制视角比矩形略大一些,这样效果更友好。
* @param [options.minHeight] - 定位时相机的最小高度值,用于控制避免异常数据
* @param [options.maxHeight] - 定位时相机的最大高度值,用于控制避免异常数据
* @param [options.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0至360
* @param [options.pitch] - 俯仰角度值,绕纬度线旋转角度, 0至360
* @param [options.roll] - 翻滚角度值,绕经度线旋转角度, 0至360
* @param [options.duration] - 飞行时间(单位:秒)。如果省略,SDK内部会根据飞行距离计算出理想的飞行时间。
* @param [options.complete] - 飞行完成后要执行的函数。
* @param [options.cancel] - 飞行取消时要执行的函数。
* @param [options.endTransform] - 变换矩阵表示飞行结束时相机所处的参照系。
* @param [options.maximumHeight] - 飞行高峰时的最大高度。
* @param [options.pitchAdjustHeight] - 如果相机飞得比这个值高,在飞行过程中调整俯仰以向下看,并保持地球在视口。
* @param [options.flyOverLongitude] - 地球上的两点之间总有两条路。这个选项迫使相机选择战斗方向飞过那个经度。
* @param [options.flyOverLongitudeWeight] - 仅在通过flyOverLongitude指定的lon上空飞行,只要该方式的时间不超过flyOverLongitudeWeight的短途时间。
* @param [options.convert = true] - 是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。
* @param [options.easingFunction] - 控制在飞行过程中如何插值时间。
* @returns 如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise
*/
flyTo(options?: {
radius?: number;
scale?: number;
minHeight?: number;
maxHeight?: number;
heading?: number;
pitch?: number;
roll?: number;
duration?: number;
complete?: Cesium.Camera.FlightCompleteCallback;
cancel?: Cesium.Camera.FlightCancelledCallback;
endTransform?: Cesium.Matrix4;
maximumHeight?: number;
pitchAdjustHeight?: number;
flyOverLongitude?: number;
flyOverLongitudeWeight?: number;
convert?: boolean;
easingFunction?: Cesium.EasingFunction.Callback;
}): Promise;
}
declare namespace RectangularSensor {
/**
* 相控阵雷达 支持的样式信息
* @property radius - 半径
* @property [xHalfAngle = 0] - 传感器水平半角(弧度值)
* @property [xHalfAngleDegree = 0] - 传感器水平半角(度数值,0-360度),与xHalfAngle二选一
* @property [yHalfAngle = 0] - 传感器垂直半角(弧度值)
* @property [yHalfAngleDegree = 0] - 传感器垂直半角(度数值,0-360度),与yHalfAngle二选一
* @property [color = "#00FF00"] - 颜色
* @property [opacity = 0.4] - 透明度
* @property [material = new Cesium.Color(0.0, 1.0, 1.0, 0.4)] - 指定用于填充的材质,指定material后color属性将被覆盖。
* @property [lineColor = "#ffffff"] - 边线颜色
* @property [lineOpacity = 0.6] - 边线透明度
* @property [heading = 0] - 方向角 (度数值,0-360度)
* @property [pitch = 0] - 俯仰角(度数值,0-360度)
* @property [roll = 0] - 翻滚角(度数值,0-360度)
* @property [showScanPlane = true] - 是否显示扫描面
* @property [scanPlaneColor = new Cesium.Color(0.0, 1.0, 1.0, 1.0)] - 扫描面颜色
* @property [scanPlaneOpacity = 0.9] - 扫描面透明度
* @property [scanPlaneMode = 'vertical'] - 扫描面方向模式,可选值:vertical(解释:垂直方向)、horizontal(解释:水平方向)
* @property [scanPlaneRate = 3] - 扫描速率
* @property [showSectorLines = true] - 是否显示扇面的线
* @property [showSectorSegmentLines = true] - 是否显示扇面和圆顶面连接的线
* @property [showLateralSurfaces = true] - 是否显示侧面
* @property [lateralSurfaceMaterial] - 侧面材质
* @property [showDomeSurfaces = true] - 是否显示圆顶表面
* @property [domeSurfaceMaterial] - 圆顶表面材质
* @property [showDomeLines = true] - 是否显示圆顶面线
* @property [showIntersection = true] - 是否显示与地球相交的线
* @property [intersectionColor = Cesium.Color.WHITE] - 与地球相交的线的颜色
* @property [intersectionWidth = 5.0] - 与地球相交的线的宽度(像素)
* @property [slice = 32] - 切分程度
* @property [depthTest = true] - 是否被遮挡
*/
type StyleOptions = any | {
radius: number;
xHalfAngle?: number;
xHalfAngleDegree?: number;
yHalfAngle?: number;
yHalfAngleDegree?: number;
color?: string | Cesium.Color;
opacity?: number;
material?: Cesium.MaterialProperty | BaseMaterialProperty | Cesium.Color;
lineColor?: string | Cesium.Color;
lineOpacity?: number;
heading?: number;
pitch?: number;
roll?: number;
showScanPlane?: boolean;
scanPlaneColor?: string | Cesium.Color;
scanPlaneOpacity?: number;
scanPlaneMode?: number;
scanPlaneRate?: number;
showSectorLines?: boolean;
showSectorSegmentLines?: boolean;
showLateralSurfaces?: boolean;
lateralSurfaceMaterial?: Cesium.MaterialProperty;
showDomeSurfaces?: boolean;
domeSurfaceMaterial?: Cesium.MaterialProperty;
showDomeLines?: boolean;
showIntersection?: boolean;
intersectionColor?: Cesium.Color;
intersectionWidth?: Cesium.Color;
slice?: number;
depthTest?: boolean;
};
}
/**
* 相控阵雷达 Entity对象,该对象暂不支持鼠标交互和拾取
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.orientation] - 实体方向
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.drawShow = true] - 绘制时,是否自动隐藏entity,可避免拾取坐标存在问题。
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class RectangularSensor extends BasePointEntity {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | Cesium.PositionProperty | number[] | string;
style: RectangularSensor.StyleOptions | any;
attr?: any;
orientation?: Cesium.Property;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
drawShow?: boolean;
hasEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 矢量数据对应的 Cesium内部对象的具体类型对象
*/
readonly entityGraphic: any;
/**
* 圆的半径(单位:米)
*/
radius: number;
}
declare namespace Video2D {
/**
* 视频融合(投射2D平面) 支持的样式信息
* @property options.container - 视频对应的video标签
* @property angle - 水平张角(度数)
* @property angle2 - 垂直张角(度数)
* @property distance - 投射距离
* @property [heading = 0] - 方向角 (度数值,0-360度)
* @property [pitch = 0] - 俯仰角(度数值,0-360度)
* @property [roll = 0] - 翻滚角(度数值,0-360度)
* @property [opacity = 1.0] - 透明度
* @property [material = Cesium.Color.WHITE] - 指定用于填充的材质,指定material后。
* @property [stRotation = 0] - 多边形纹理的角度(弧度值),正北为0,逆时针旋转
* @property [stRotationDegree = 0] - 多边形纹理的角度(度数值,0-360度),与stRotation二选一
* @property [outline = false] - 是否边框
* @property [outlineWidth = 1] - 边框宽度
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
* @property [outlineStyle] - 边框的完整自定义样式,会覆盖outlineWidth、outlineColor等参数。
* @property [distanceDisplayCondition = false] - 是否按视距显示 或 指定此框将显示在与摄像机的多大距离。
* @property [distanceDisplayCondition_far = 100000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [hasShadows = false] - 是否阴影
* @property [shadows = Cesium.ShadowMode.DISABLED] - 指定多边形是投射还是接收来自光源的阴影。
* @property [showFrustum = false] - 是否显示视椎体框线
*/
type StyleOptions = any | {
angle: number;
angle2: number;
distance: number;
heading?: number;
pitch?: number;
roll?: number;
opacity?: number;
material?: Cesium.MaterialProperty | BaseMaterialProperty | Cesium.Color;
stRotation?: number;
stRotationDegree?: number;
outline?: boolean;
outlineWidth?: number;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
outlineStyle?: PolylineEntity.StyleOptions | any;
distanceDisplayCondition?: boolean | Cesium.DistanceDisplayCondition;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
hasShadows?: boolean;
shadows?: Cesium.ShadowMode;
showFrustum?: boolean;
};
}
/**
* 视频融合(投射2D平面),
* 根据相机位置、方向等参数,在相机前面生成一个PolygonEntity面,然后贴视频纹理
* @param options - 参数对象,包括以下:
* @param options.position - 相机坐标位置
* @param [options.targetPosition] - 目标视点位置,可以替代style中的相机heading\pitch\roll方向和distance距离参数
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class Video2D extends PolygonEntity {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | Cesium.PositionProperty | number[] | string;
targetPosition?: LngLatPoint | Cesium.Cartesian3 | number[];
style: Video2D.StyleOptions | any;
attr?: any;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 位置坐标 (笛卡尔坐标), 赋值时可以传入LatLngPoint对象
*/
position: Cesium.Cartesian3 | LngLatPoint;
/**
* 位置坐标 (笛卡尔坐标)
*/
readonly point: LngLatPoint;
/**
* 位置坐标(数组对象),示例[113.123456,31.123456,30.1]
*/
readonly coordinate: any[];
/**
* 目标点位置(笛卡尔坐标)
*/
targetPosition: Cesium.Cartesian3 | LngLatPoint;
/**
* 四周方向角,0-360度角度值
*
提示:父类属性,非所有子类都具备
*/
heading: number;
/**
* 俯仰角,上下摇摆的角度,0-360度角度值
*
提示:父类属性,非所有子类都具备
*/
pitch: number;
/**
* 滚转角,左右摆动的角度,0-360度角度值
*
提示:父类属性,非所有子类都具备
*/
roll: number;
/**
* 水平张角,半场角度
*/
angle: number;
/**
* 垂直张角,半场角度
*/
angle2: number;
/**
* 投射距离(单位:米)
*/
distance: number;
/**
* 混合系数0-1
*/
opacity: number;
/**
* 是否显示视椎体框线
*/
showFrustum: boolean;
/**
* 暂停或播放 视频
*/
play: boolean;
/**
* 位置坐标(数组对象),示例[113.123456,31.123456,30.1]
* @param noAlt - true时不导出高度值
* @returns 位置坐标(数组对象)
*/
getCoordinate(noAlt: boolean): any[];
/**
* 定位至相机的第一视角
* @returns 无
*/
setView(): void;
/**
* 开始绘制矢量数据,绘制的数据会加载在layer图层。
* @param layer - 图层
* @returns 无
*/
startDraw(layer: GraphicLayer): void;
/**
* 停止绘制
* @returns 无
*/
stopDraw(): void;
}
declare namespace WallEntity {
/**
* 墙 支持的样式信息
* @property [diffHeight = 100] - 墙高
* @property [minimumHeights] - 没有指定diffHeight时,可以指定用于墙壁底部而不是球体表面的高度数组。
* @property [maximumHeights] - 没有指定diffHeight时,可以指定用于墙顶的高度数组,而不是每个位置的高度。
* @property [fill = true] - 是否填充
* @property [materialType = "Color"] - 填充类型 ,可选项:{@link MaterialType}
* @property [materialOptions] - materialType对应的{@link MaterialType}中材质参数
* @property [material = Cesium.Color.WHITE] - 指定用于填充的材质,指定material后`materialType`和`materialOptions`将被覆盖。
* @property [color = "#00FF00"] - 颜色
* @property [opacity = 1.0] - 透明度, 取值范围:0.0-1.0
* @property [closure = false] - 是否闭合, 在positions是属性机制的回调对象时无效
* @property [outline = false] - 是否边框
* @property [outlineWidth = 1] - 边框宽度
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
* @property [distanceDisplayCondition = false] - 是否按视距显示 或 指定此框将显示在与摄像机的多大距离。
* @property [distanceDisplayCondition_far = 100000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [hasShadows = false] - 是否阴影
* @property [shadows = Cesium.ShadowMode.DISABLED] - 指定墙壁是投射还是接收来自光源的阴影。
* @property [granularity = Cesium.Math.RADIANS_PER_DEGREE] - 指定每个纬度点和经度点之间的角距离。
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示,额外支持:
* // * @property {String|LngLatPoint} [label.position] 文字所在位置,默认是矢量对象本身的center属性值。支持配置 'center':围合面的内部中心点坐标,'{xxxx}'配置属性字段, 或者直接指定坐标值。
* // * @property {Boolean} [label.showAll] MultiPolygon和MultiLineString时,是否显示所有注记,默认只在最大坐标数的面或线上显示。
*/
type StyleOptions = any | {
diffHeight?: number;
minimumHeights?: number[];
maximumHeights?: number[];
fill?: boolean;
materialType?: string;
materialOptions?: any;
material?: Cesium.MaterialProperty | BaseMaterialProperty | Cesium.Color;
color?: string | Cesium.Color;
opacity?: number;
closure?: boolean;
outline?: boolean;
outlineWidth?: string;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
distanceDisplayCondition?: boolean | Cesium.DistanceDisplayCondition;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
hasShadows?: boolean;
shadows?: Cesium.ShadowMode;
granularity?: number;
setHeight?: number | string;
addHeight?: number | string;
highlight?: WallEntity.StyleOptions | any;
label?: LabelEntity.StyleOptions | any | any;
};
}
/**
* 墙 Entity矢量数据
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.minPointNum = 2] - 绘制时,至少需要点的个数
* @param [options.maxPointNum = 9999] - 绘制时,最多允许点的个数
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.hasMoveEdit = true] - 编辑时,是否可以整体平移
* @param [options.hasHeightEdit = true] - 编辑时,当有diffHeight时,是否可以编辑高度
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class WallEntity extends BasePolyEntity {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: WallEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
minPointNum?: number;
maxPointNum?: number;
hasEdit?: boolean;
hasMoveEdit?: boolean;
hasHeightEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 矢量数据对应的 Cesium内部对象的具体类型对象
*/
readonly entityGraphic: Cesium.WallGraphics;
/**
* 编辑处理类
*/
readonly EditClass: EditWall;
}
/**
* 攻击箭头 Entity矢量数据
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.hasMoveEdit = true] - 绘制时,是否可以整体平移
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class AttackArrow extends PolygonEntity {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: PolygonEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
hasMoveEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
/**
* 攻击箭头(平尾) Entity矢量数据
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.hasMoveEdit = true] - 绘制时,是否可以整体平移
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class AttackArrowPW extends PolygonEntity {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: PolygonEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
hasMoveEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 计算当前军标对象的边界坐标点
* @param positions - 坐标位置
* @param [options] - 控制参数(预留)
* @returns 边界坐标点
*/
static getOutlinePositions(positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[], options?: any): Cesium.Cartesian3[];
}
/**
* 攻击箭头(燕尾) Entity矢量数据
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.hasMoveEdit = true] - 绘制时,是否可以整体平移
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class AttackArrowYW extends PolygonEntity {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: PolygonEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
hasMoveEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 计算当前军标对象的边界坐标点
* @param positions - 坐标位置
* @param [options] - 控制参数(预留)
* @returns 边界坐标点
*/
static getOutlinePositions(positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[], options?: any): Cesium.Cartesian3[];
}
/**
* 闭合曲面(3个点) Entity矢量数据
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.hasMoveEdit = true] - 绘制时,是否可以整体平移
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class CloseVurve extends PolygonEntity {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: PolygonEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
hasMoveEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 计算当前军标对象的边界坐标点
* @param positions - 坐标位置
* @param [options] - 控制参数(预留)
* @returns 边界坐标点
*/
static getOutlinePositions(positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[], options?: any): Cesium.Cartesian3[];
}
/**
* 双箭头(钳击) Entity矢量数据
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.hasMoveEdit = true] - 绘制时,是否可以整体平移
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class DoubleArrow extends PolygonEntity {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: PolygonEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
hasMoveEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 计算当前军标对象的边界坐标点
* @param positions - 坐标位置
* @param [options] - 控制参数(预留)
* @returns 边界坐标点
*/
static getOutlinePositions(positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[], options?: any): Cesium.Cartesian3[];
}
/**
* Regular对象 标绘处理对应的编辑类
*/
declare class EditRegular extends EditPolygon {
}
/**
* Sector对象 标绘处理对应的编辑类
*/
declare class EditSector extends EditPolygon {
}
/**
* 直箭头(2个点) Entity矢量数据
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.hasMoveEdit = true] - 绘制时,是否可以整体平移
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class FineArrow extends PolygonEntity {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: PolygonEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
hasMoveEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 计算当前军标对象的边界坐标点
* @param positions - 坐标位置
* @param [options] - 控制参数(预留)
* @returns 边界坐标点
*/
static getOutlinePositions(positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[], options?: any): Cesium.Cartesian3[];
}
/**
* 燕尾直箭头(2个点) Entity矢量数据
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.hasMoveEdit = true] - 绘制时,是否可以整体平移
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class FineArrowYW extends PolygonEntity {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: PolygonEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
hasMoveEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 计算当前军标对象的边界坐标点
* @param positions - 坐标位置
* @param [options] - 控制参数(预留)
* @returns 边界坐标点
*/
static getOutlinePositions(positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[], options?: any): Cesium.Cartesian3[];
}
/**
* 集结地(3个点) Entity矢量数据
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.hasMoveEdit = true] - 绘制时,是否可以整体平移
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class GatheringPlace extends PolygonEntity {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: PolygonEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
hasMoveEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 计算当前军标对象的边界坐标点
* @param positions - 坐标位置
* @param [options] - 控制参数(预留)
* @returns 边界坐标点
*/
static getOutlinePositions(positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[], options?: any): Cesium.Cartesian3[];
}
/**
* 等腰三角形(3个点) Entity矢量数据
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.hasMoveEdit = true] - 绘制时,是否可以整体平移
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class IsosTriangle extends PolygonEntity {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: PolygonEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
hasMoveEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 计算当前矢量对象的边界坐标点
* @param positions - 坐标位置
* @param [options] - 控制参数(预留)
* @returns 边界坐标点
*/
static getOutlinePositions(positions: Cesium.Cartesian3[], options?: any): Cesium.Cartesian3[];
}
/**
* 弓形面(3个点) Entity矢量数据
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.hasMoveEdit = true] - 绘制时,是否可以整体平移
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class Lune extends PolygonEntity {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: PolygonEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
hasMoveEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 计算当前军标对象的边界坐标点
* @param positions - 坐标位置
* @param [options] - 控制参数(预留)
* @returns 边界坐标点
*/
static getOutlinePositions(positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[], options?: any): Cesium.Cartesian3[];
}
/**
* 正多边形 Entity矢量数据
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息,还包括:
* @param [options.style.border = 3] - 边数量
* @param options.style.radius - 区域的半径(单位:米)
* @param [options.style.startAngle = 0] - 区域的开始角度(正东方向为0,顺时针到360度)
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.hasMoveEdit = true] - 绘制时,是否可以整体平移
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class Regular extends PolygonEntity {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: {
border?: number;
radius: number;
startAngle?: number;
};
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
hasMoveEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 编辑处理类
*/
readonly EditClass: EditRegular;
/**
* 计算当前矢量对象的边界坐标点
* @param positions - 坐标位置
* @param options - 控制参数
* @param [options.border = 3] - 边数量
* @param options.radius - 区域的半径(单位:米)
* @param [options.startAngle = 0] - 区域的开始角度(正东方向为0,顺时针到360度)
* @returns 边界坐标点
*/
static getOutlinePositions(positions: Cesium.Cartesian3[], options: {
border?: number;
radius: number;
startAngle?: number;
}): Cesium.Cartesian3[];
/**
* 位置坐标数组 (笛卡尔坐标), 赋值时可以传入LatLngPoint数组对象 或 Cesium.PolygonHierarchy
*/
positions: Cesium.Cartesian3[];
}
/**
* 扇形(3个点) Entity矢量数据
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息,还包括:
* @param options.style.radius - 扇形区域的半径(单位:米)
* @param options.style.startAngle - 扇形区域的开始角度(正东方向为0,顺时针到360度)
* @param options.style.endAngle - 扇形区域的结束角度(正东方向为0,顺时针到360度)
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.hasMoveEdit = true] - 绘制时,是否可以整体平移
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class Sector extends PolygonEntity {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: {
radius: number;
startAngle: number;
endAngle: number;
};
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
hasMoveEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 编辑处理类
*/
readonly EditClass: EditSector;
/**
* 计算当前矢量对象的边界坐标点
* @param positions - 坐标位置
* @param options - 控制参数
* @param options.radius - 扇形区域的半径(单位:米)
* @param options.startAngle - 扇形区域的开始角度(正东方向为0,顺时针到360度)
* @param options.endAngle - 扇形区域的结束角度(正东方向为0,顺时针到360度)
* @returns 边界坐标点
*/
static getOutlinePositions(positions: Cesium.Cartesian3[], options: {
radius: number;
startAngle: number;
endAngle: number;
}): Cesium.Cartesian3[];
/**
* 位置坐标数组 (笛卡尔坐标), 赋值时可以传入LatLngPoint数组对象 或 Cesium.PolygonHierarchy
*/
positions: Cesium.Cartesian3[];
}
/**
* 直箭头(3个点) Entity矢量数据
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.hasMoveEdit = true] - 绘制时,是否可以整体平移
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class StraightArrow extends PolygonEntity {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: PolygonEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
hasMoveEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 计算当前军标对象的边界坐标点
* @param positions - 坐标位置
* @param [options] - 控制参数(预留)
* @returns 边界坐标点
*/
static getOutlinePositions(positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[], options?: any): Cesium.Cartesian3[];
}
/**
* 角度量算对象,
* 非直接调用,由 Measure 类统一创建及管理
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.label] - 测量结果文本的样式
* @param [options.angleDecimal = 1] - 显示的 角度值 文本中保留的小数位
* @param [options.decimal = 2] - 显示的 距离值 文本中保留的小数位
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.minPointNum = 2] - 绘制时,至少需要点的个数
* @param [options.maxPointNum = 9999] - 绘制时,最多允许点的个数
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.hasMoveEdit = true] - 编辑时,是否可以整体平移
* @param [options.hasHeightEdit = true] - 编辑时,当有diffHeight时,是否可以编辑高度
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class AngleMeasure extends PolylineEntity {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: PolylineEntity.StyleOptions | any;
attr?: any;
label?: LabelEntity.StyleOptions | any;
angleDecimal?: number;
decimal?: number;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
minPointNum?: number;
maxPointNum?: number;
hasEdit?: boolean;
hasMoveEdit?: boolean;
hasHeightEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 测量结果
*/
readonly measured: any;
/**
* 更新测量结果的文本
* @param unit - 计量单位,{@link MeasureUtil#formatDistance} 可选值:auto、m、km、mile、zhang 等。auto时根据距离值自动选用k或km
* @returns 无
*/
updateText(unit: string): void;
}
/**
* 面积测量对象,
* 非直接调用,由 Measure 类统一创建及管理
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.label] - 测量结果文本的样式
* @param [options.decimal = 2] - 显示的 面积值 文本中保留的小数位
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.minPointNum = 2] - 绘制时,至少需要点的个数
* @param [options.maxPointNum = 9999] - 绘制时,最多允许点的个数
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.hasMoveEdit = true] - 编辑时,是否可以整体平移
* @param [options.hasHeightEdit = true] - 编辑时,当有diffHeight时,是否可以编辑高度
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class AreaMeasure extends PolygonEntity {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: PolygonEntity.StyleOptions | any;
attr?: any;
label?: LabelEntity.StyleOptions | any;
decimal?: number;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
minPointNum?: number;
maxPointNum?: number;
hasEdit?: boolean;
hasMoveEdit?: boolean;
hasHeightEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 测量结果
*/
readonly measured: any;
/**
* 更新测量结果的文本
* @param unit - 计量单位,{@link MeasureUtil#formatArea} 可选值:计量单位,可选值:auto、m、km、mu、ha 。auto时根据面积值自动选用m或km
* @returns 无
*/
updateText(unit: string): void;
/**
* 开始绘制矢量数据,绘制的数据会加载在layer图层。
* @param layer - 图层
* @returns 无
*/
startDraw(layer: GraphicLayer): void;
}
/**
* 贴地面积量算对象,
* 非直接调用,由 Measure 类统一创建及管理
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.label] - 测量结果文本的样式
* @param [options.decimal = 2] - 显示的 面积值 文本中保留的小数位
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.minPointNum = 2] - 绘制时,至少需要点的个数
* @param [options.maxPointNum = 9999] - 绘制时,最多允许点的个数
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.hasMoveEdit = true] - 编辑时,是否可以整体平移
* @param [options.hasHeightEdit = true] - 编辑时,当有diffHeight时,是否可以编辑高度
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class AreaSurfaceMeasure extends AreaMeasure {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: PolygonEntity.StyleOptions | any;
attr?: any;
label?: LabelEntity.StyleOptions | any;
decimal?: number;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
minPointNum?: number;
maxPointNum?: number;
hasEdit?: boolean;
hasMoveEdit?: boolean;
hasHeightEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
/**
* 距离量算对象,
* 非直接调用,由 Measure 类统一创建及管理
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.label] - 测量结果文本的样式
* @param [options.decimal = 2] - 显示的 距离值 文本中保留的小数位
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.minPointNum = 2] - 绘制时,至少需要点的个数
* @param [options.maxPointNum = 9999] - 绘制时,最多允许点的个数
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.hasMoveEdit = true] - 编辑时,是否可以整体平移
* @param [options.hasHeightEdit = true] - 编辑时,当有diffHeight时,是否可以编辑高度
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class DistanceMeasure extends PolylineEntity {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: PolylineEntity.StyleOptions | any;
attr?: any;
label?: LabelEntity.StyleOptions | any;
decimal?: number;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
minPointNum?: number;
maxPointNum?: number;
hasEdit?: boolean;
hasMoveEdit?: boolean;
hasHeightEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 测量结果
*/
readonly measured: any;
/**
* 更新测量结果的文本
* @param unit - 计量单位,{@link MeasureUtil#formatDistance} 可选值:auto、m、km、mile、zhang 等。auto时根据距离值自动选用k或km
* @returns 无
*/
updateText(unit: string): void;
}
/**
* 贴地距离量算对象
* 非直接调用,由 Measure 类统一创建及管理
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.label] - 测量结果文本的样式
* @param [options.decimal = 2] - 显示的 距离值 文本中保留的小数位
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.minPointNum = 2] - 绘制时,至少需要点的个数
* @param [options.maxPointNum = 9999] - 绘制时,最多允许点的个数
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.hasMoveEdit = true] - 编辑时,是否可以整体平移
* @param [options.hasHeightEdit = true] - 编辑时,当有diffHeight时,是否可以编辑高度
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class DistanceSurfaceMeasure extends DistanceMeasure {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: PolylineEntity.StyleOptions | any;
attr?: any;
label?: LabelEntity.StyleOptions | any;
decimal?: number;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
minPointNum?: number;
maxPointNum?: number;
hasEdit?: boolean;
hasMoveEdit?: boolean;
hasHeightEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
/**
* 高度量算对象,
* 非直接调用,由 Measure 类统一创建及管理
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.label] - 测量结果文本的样式
* @param [options.decimal = 2] - 显示的 距离和高度值 文本中保留的小数位
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.minPointNum = 2] - 绘制时,至少需要点的个数
* @param [options.maxPointNum = 9999] - 绘制时,最多允许点的个数
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.hasMoveEdit = true] - 编辑时,是否可以整体平移
* @param [options.hasHeightEdit = true] - 编辑时,当有diffHeight时,是否可以编辑高度
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class HeightMeasure extends PolylineEntity {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: PolylineEntity.StyleOptions | any;
attr?: any;
label?: LabelEntity.StyleOptions | any;
decimal?: number;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
minPointNum?: number;
maxPointNum?: number;
hasEdit?: boolean;
hasMoveEdit?: boolean;
hasHeightEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 测量结果
*/
readonly measured: any;
/**
* 更新测量结果的文本
* @param unit - 计量单位,{@link MeasureUtil#formatDistance} 可选值:auto、m、km、mile、zhang 等。auto时根据距离值自动选用k或km
* @returns 无
*/
updateText(unit: string): void;
}
/**
* 三角高度量算对象,
* 非直接调用,由 Measure 类统一创建及管理
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.label] - 测量结果文本的样式
* @param [options.decimal = 2] - 显示的 距离和高度值 文本中保留的小数位
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.minPointNum = 2] - 绘制时,至少需要点的个数
* @param [options.maxPointNum = 9999] - 绘制时,最多允许点的个数
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.hasMoveEdit = true] - 编辑时,是否可以整体平移
* @param [options.hasHeightEdit = true] - 编辑时,当有diffHeight时,是否可以编辑高度
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class HeightTriangleMeasure extends HeightMeasure {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: PolylineEntity.StyleOptions | any;
attr?: any;
label?: LabelEntity.StyleOptions | any;
decimal?: number;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
minPointNum?: number;
maxPointNum?: number;
hasEdit?: boolean;
hasMoveEdit?: boolean;
hasHeightEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 更新测量结果的文本
* @param unit - 计量单位,{@link MeasureUtil#formatDistance} 可选值:auto、m、km、mile、zhang 等。auto时根据距离值自动选用k或km
* @returns 无
*/
updateText(unit: string): void;
}
/**
* 坐标量算对象,
* 非直接调用,由 Measure 类统一创建及管理
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.drawShow = true] - 绘制时,是否自动隐藏entity,可避免拾取坐标存在问题。
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class PointMeasure extends PointEntity {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | Cesium.PositionProperty | number[] | string;
style: PointEntity.StyleOptions | any;
attr?: any;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
drawShow?: boolean;
hasEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
/**
* 剖面量算对象
* 非直接调用,由 Measure 类统一创建及管理
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.label] - 测量结果文本的样式
* @param [options.decimal = 2] - 显示的 距离值 文本中保留的小数位
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @param [options.viewFrom] - 观察这个物体时建议的初始偏移量。
* @param [options.parent] - 要与此实体关联的父实体。
* @param [options.onBeforeCreate] - 在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。
* @param [options.minPointNum = 2] - 绘制时,至少需要点的个数
* @param [options.maxPointNum = 9999] - 绘制时,最多允许点的个数
* @param [options.addHeight] - 在绘制时,在绘制点的基础上增加的高度值
* @param [options.hasEdit = true] - 是否允许编辑
* @param [options.hasMoveEdit = true] - 编辑时,是否可以整体平移
* @param [options.hasHeightEdit = true] - 编辑时,当有diffHeight时,是否可以编辑高度
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class SectionMeasure extends DistanceMeasure {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | Cesium.PositionProperty | any[];
style: PolylineEntity.StyleOptions | any;
attr?: any;
label?: LabelEntity.StyleOptions | any;
decimal?: number;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
viewFrom?: Cesium.Property;
parent?: Cesium.Entity;
onBeforeCreate?: (...params: any[]) => any;
minPointNum?: number;
maxPointNum?: number;
addHeight?: number;
hasEdit?: boolean;
hasMoveEdit?: boolean;
hasHeightEdit?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
/**
* 体积量算对象(方量),
* 非直接调用,由 Measure 类统一创建及管理。
*
* 1. 挖方量: 计算“基准面”到地表之间的凸出部分进行挖掉的体积。
* 2. 填方量:计算“基准面”与“墙底部”之间的缺少部分进行填平的体积。
* @param options - 参数对象,包括以下:
* @param options.style - 基准面样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.polygonWallStyle] - 围墙面的样式
* @param [options.label] - 测量结果文本的样式
* @param [options.showFillVolume = true] - 是否显示填方体积结果文本
* @param [options.fillVolumeName = '填方体积'] - 填方体积结果的名称
* @param [options.showDigVolume = true] - 是否显示挖方体积结果文本
* @param [options.digVolumeName = '挖方体积'] - 挖方体积结果的名称
* @param [options.showArea = true] - 是否显示横切面积结果文本
* @param [options.areaName = '横切面积'] - 横切面积结果的名称
* @param [options.heightLabel = true] - 是否显示各边界点高度值文本
* @param [options.offsetLabel = false] - 是否显示各边界点高度差文本
* @param [options.labelHeight] - 各边界点高度结果文本的样式
* @param [options.decimal = 2] - 显示的 数值 文本中保留的小数位
* @param [options.has3dtiles] - 是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class VolumeMeasure extends AreaMeasure {
constructor(options: {
style: PolygonEntity.StyleOptions | any;
attr?: any;
polygonWallStyle?: PolygonEntity.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
showFillVolume?: boolean;
fillVolumeName?: string;
showDigVolume?: boolean;
digVolumeName?: string;
showArea?: boolean;
areaName?: string;
heightLabel?: boolean;
offsetLabel?: boolean;
labelHeight?: LabelEntity.StyleOptions | any;
decimal?: number;
has3dtiles?: boolean;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 面内的最高地表高度
*/
readonly polygonMaxHeight: number;
/**
* 基准面 高度,
* 1. 挖方量: 计算“基准面”到地表之间的凸出部分进行挖掉的体积。
* 2. 填方量:计算“基准面”与“墙底部”之间的缺少部分进行填平的体积。
*/
height: number;
/**
* 底部高度,
* 会影响 填方量:计算“基准面高度”与“底部高度”之间的缺少部分进行填平的体积。
*/
minHeight: number;
/**
* 最高高度,对应墙的高度,
* 不影响测量结果,只是显示效果的区别。
*/
maxHeight: number;
/**
* 更新测量结果的文本
* @param unit - 计量单位,{@link MeasureUtil#formatArea} 可选值:计量单位,可选值:auto、m、km、mu、ha 。auto时根据面积值自动选用m或km
* @returns 无
*/
updateText(unit: string): void;
/**
* 是否可以编辑
*/
hasEdit: boolean;
}
/**
* 单个坐标的点状 Primitive图元 矢量对象 基类
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param [options.modelMatrix] - 将图元(所有几何实例)从模型转换为世界坐标的4x4变换矩阵,可以替代position。
* @param options.style - 矢量数据的 样式信息,具体见各类数据的说明
* @param [options.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.frameRate = 20] - 当postion为CallbackProperty时,多少帧获取一次数据。用于控制效率,如果卡顿就把该数值调大一些。
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.maxCacheCount = 50] - 当使用addDynamicPosition设置为动画轨迹位置时,保留的坐标点数量
* @param [options.forwardExtrapolationType = Cesium.ExtrapolationType.HOLD] - 当使用addDynamicPosition设置为动画轨迹位置时,在任何可用坐标之后一次请求值时要执行的推断类型,默认为最后一个坐标位置。
* @param [options.backwardExtrapolationType = Cesium.ExtrapolationType.HOLD] - 当使用addDynamicPosition设置为动画轨迹位置时, 在任何可用坐标之前一次请求值时要执行的推断类型,默认为第一个坐标位置。
* @param [options.clampToTileset] - 当使用addDynamicPosition设置为动画轨迹位置时,是否进行贴模型。
* @param [options.frameRateHeight = 30] - 当使用addDynamicPosition设置为动画轨迹位置时,并clampToTileset:true时,多少帧计算一次贴模型高度
* @param [options.objectsToExclude] - 当使用addDynamicPosition设置为动画轨迹位置时,并clampToTileset:true时,排除的不进行贴模型计算的模型对象,可以是: primitives, entities, 或 3D Tiles features
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class BasePointPrimitive extends BasePrimitive {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
modelMatrix?: Cesium.Matrix4;
style: any;
attr?: any;
frameRate?: number;
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
maxCacheCount?: number;
forwardExtrapolationType?: Cesium.ExtrapolationType;
backwardExtrapolationType?: Cesium.ExtrapolationType;
clampToTileset?: boolean;
frameRateHeight?: number;
objectsToExclude?: any;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 位置坐标 (笛卡尔坐标), 赋值时可以传入LatLngPoint对象
*/
position: Cesium.Cartesian3 | LngLatPoint;
/**
* 同 positions只是为了兼容entity的同名属性
*/
readonly positionsShow: Cesium.Cartesian3[];
/**
* 当前实时位置坐标(笛卡尔坐标)
*/
readonly positionShow: Cesium.Cartesian3;
/**
* 位置坐标
*/
readonly point: LngLatPoint;
/**
* 位置坐标(数组对象),示例[113.123456,31.123456,30.1]
*/
readonly coordinate: any[];
/**
* 中心点坐标 (笛卡尔坐标)
*/
readonly center: Cesium.Cartesian3;
/**
* 中心点坐标
*/
readonly centerPoint: LngLatPoint;
/**
* 坐标对应的高度值(单位:米)
*/
height: number;
/**
* 将图元(所有几何实例)从模型转换为世界坐标的4x4变换矩阵。
*
提示:父类属性,非所有子类都具备
*/
readonly modelMatrix: Cesium.Matrix4;
/**
* 四周方向角,0-360度角度值
*
提示:父类属性,非所有子类都具备
*/
heading: number;
/**
* 俯仰角,上下摇摆的角度,0-360度角度值
*
提示:父类属性,非所有子类都具备
*/
pitch: number;
/**
* 滚转角,左右摆动的角度,0-360度角度值
*
提示:父类属性,非所有子类都具备
*/
roll: number;
/**
* 贴模型分析时,排除的不进行贴模型计算的模型对象,默认是当前本身,可以是: primitives, entities 等
*/
objectsToExclude: any | undefined;
/**
* 用于 map.trackedEntity 追踪的
*/
readonly trackedEntity: Cesium.Entity | any;
/**
* 动态位置坐标
*/
property: Cesium.SampledPositionProperty | Cesium.CallbackProperty;
/**
* 设置并添加动画轨迹位置,按“指定时间”运动到达“指定位置”。
* @param point - 指定位置坐标
* @param [currTime = Cesium.JulianDate.now()] - 指定时间, 默认为当前时间5秒后。当为String时,可以传入'2021-01-01 12:13:00'; 当为number时,可以传入当前时间延迟的秒数。
* @returns 当前对象本身,可以链式调用
*/
addDynamicPosition(point: LngLatPoint | Cesium.Cartesian3 | number[], currTime?: Cesium.JulianDate | Date | string | number): BasePointPrimitive;
/**
* 异步计算更新坐标高度进行贴地(或贴模型),内部自动调用{@link PointUtil#getSurfaceHeight}方法处理。
* @param [options = {}] - 参数对象:
* @param [options.has3dtiles = auto] - 是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)
* @param [options.objectsToExclude] - 贴模型分析时,排除的不进行贴模型计算的模型对象,可以是: primitives, entities, 或 3D Tiles features
* @returns 异步计算完成的Promise
*/
autoSurfaceHeight(options?: {
has3dtiles?: boolean;
objectsToExclude?: any;
}): Promise;
/**
* 位置坐标(数组对象),示例[113.123456,31.123456,30.1]
* @param noAlt - true时不导出高度值
* @returns 位置坐标(数组对象)
*/
getCoordinate(noAlt: boolean): any[];
}
/**
* 多个坐标的线面状 Primitive图元 矢量对象 基类
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 矢量数据的 样式信息,具体见各类数据的说明
* @param [options.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class BasePolyPrimitive extends BasePrimitive {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
style: any;
attr?: any;
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 中心点坐标 (笛卡尔坐标)
*/
readonly center: Cesium.Cartesian3;
/**
* 围合面的内部中心点坐标
*/
readonly centerOfMass: Cesium.Cartesian3;
/**
* 边线的中心点坐标
*/
readonly centerOfLine: Cesium.Cartesian3;
/**
* 距离(单位:米)
*/
readonly distance: number;
/**
* 面积(单位:平方米)
*/
readonly area: number;
/**
* 位置坐标数组 (笛卡尔坐标), 赋值时可以传入LatLngPoint数组对象
*/
positions: Cesium.Cartesian3[];
/**
* 同 positions 只是为了兼容entity的同名属性
*/
readonly positionsShow: Cesium.Cartesian3[];
/**
* 位置坐标数组
*/
readonly points: LngLatPoint[] | Cesium.Cartesian3[] | any[];
/**
* 位置坐标(数组对象),示例 [ [123.123456,32.654321,198.7], [111.123456,22.654321,50.7] ]
*/
readonly coordinates: any[][];
/**
* 坐标数据对应的矩形边界
*/
readonly rectangle: Cesium.Rectangle;
/**
* 位置坐标(数组对象),示例 [ [123.123456,32.654321,198.7], [111.123456,22.654321,50.7] ]
* @param noAlt - true时不导出高度值
* @returns 位置坐标(数组对象)
*/
getCoordinates(noAlt: boolean): any[][];
/**
* 判断点是否在当前对象的坐标点围成的多边形内
* @param position - 需要判断的点
* @returns 是否在多边形内
*/
isInPoly(position: Cesium.Cartesian3 | LngLatPoint): boolean;
/**
* 异步计算更新坐标高度进行贴地(或贴模型),内部自动调用{@link PolyUtil#computeSurfacePoints}方法处理。
* @param [options = {}] - 参数对象:
* @param [options.has3dtiles = auto] - 是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)
* @param [options.objectsToExclude] - 贴模型分析时,排除的不进行贴模型计算的模型对象,可以是: primitives, entities, 或 3D Tiles features
* @param [options.offset = 0] - 可以按需增加偏移高度(单位:米),便于可视
* @returns 异步计算完成的Promise
*/
autoSurfaceHeight(options?: {
has3dtiles?: boolean;
objectsToExclude?: any;
offset?: number;
}): Promise;
}
/**
* Primitive图元 矢量对象 基类
* @param options - 参数对象,包括以下:
* @param options.position - 【点状】矢量数据时的坐标位置,具体看子类实现
* @param options.positions - 【线面状(多点)】矢量数据时的坐标位置,具体看子类实现
* @param options.style - 矢量数据的 样式信息,具体见各类数据的说明
* @param [options.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class BasePrimitive extends BaseGraphic {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
style: any;
attr?: any;
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 当加载primitive数据的内部Cesium容器
*/
primitiveCollection: Cesium.PrimitiveCollection | Cesium.LabelCollection | Cesium.BillboardCollection | Cesium.PointPrimitiveCollection | Cesium.CloudCollection;
/**
* 矢量数据对应的 Cesium内部对象
*/
readonly primitive: Cesium.Primitive | Cesium.GroundPrimitive | Cesium.ClassificationPrimitive | any;
/**
* 返回实例可修改的属性。{@link Cesium.GeometryInstance}
* @example
* let attributes = primitiveGraphic.geometryInstanceAttributes;
* attributes.color = Cesium.ColorGeometryInstanceAttribute.toValue(Cesium.Color.AQUA);
* attributes.show = Cesium.ShowGeometryInstanceAttribute.toValue(true);
*/
readonly geometryInstanceAttributes: any;
/**
* 对应材质的uniforms(当赋有材质时),
* 一个对象,它的属性被用来设置片段着色器shader。
*
* 对象属性值可以是常量或函数。这个函数将在每一帧后处理阶段执行之前被调用。
*
*
* 常量值也可以是图像的URI、数据URI,或者可以用作纹理的HTML元素,如HTMLImageElement或HTMLCanvasElement。
*
*/
readonly uniforms: any | undefined;
/**
* 附加的label文本对象
*/
readonly label: Cesium.Label | any;
/**
* 是否正在编辑状态,不是所有子类均支持编辑
*/
readonly isEditing: boolean;
/**
* 设置透明度, 不是所有类型均支持调整透明度,主要看数据类型和材质类型决定。
* @param value - 透明度
* @returns 无
*/
setOpacity(value: number): void;
/**
* 重新渲染
* @param [style] - 新的样式信息
* @returns 当前对象本身
*/
redraw(style?: any): BasePrimitive;
/**
* 高亮对象。
* @param [highlightStyle] - 高亮的样式,具体见各{@link GraphicType}矢量数据的style参数。
* @param [closeLast = true] - 是否清除地图上上一次的高亮对象
* @returns 无
*/
openHighlight(highlightStyle?: any, closeLast?: boolean): void;
/**
* 清除已选中的高亮,原有style的配置项需要与highlightStyle配置有一一对应关系,否则无法清除
* @returns 无
*/
closeHighlight(): void;
/**
* 开始绘制矢量数据,绘制的数据会加载在layer图层。
* @param layer - 图层
* @returns 无
*/
startDraw(layer: GraphicLayer): void;
/**
* 停止绘制
* @returns 无
*/
stopDraw(): void;
/**
* 完成绘制和编辑,如有未完成的绘制会自动完成。
* 在移动端需要调用此方法来类似PC端双击结束。
* @returns 是否正常结束了矢量对象绘制
*/
endDraw(): boolean;
/**
* 开始编辑对象
* @returns 无
*/
startEditing(): void;
/**
* 停止编辑,释放正在编辑的对象。
* @returns 无
*/
stopEditing(): void;
/**
* 矢量数据对应的 Cesium内部对象 (不同子类中实现)
*/
readonly czmObject: Cesium.Entity | Cesium.Primitive | Cesium.GroundPrimitive | Cesium.ClassificationPrimitive | any;
/**
* 显示隐藏状态
*/
show: boolean;
}
/**
* 图标点 Primitive矢量数据
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class BillboardPrimitive extends BasePointPrimitive {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
style: BillboardEntity.StyleOptions | any;
attr?: any;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 当加载primitive数据的内部Cesium容器
*/
readonly primitiveCollection: Cesium.BillboardCollection;
/**
* 图像、URI或Canvas
*/
image: string | HTMLCanvasElement;
/**
* 设置透明度
* @param value - 透明度
* @returns 无
*/
setOpacity(value: number): void;
}
declare namespace BoxPrimitive {
/**
* 盒子 支持的样式信息
* @property [dimensions] - 指定盒子的长度、宽度和高度。
* @property [dimensions_x = 100] - 盒子长度
* @property [dimensions_y = 100] - 盒子宽度
* @property [dimensions_z = 100] - 盒子高度
* @property [heading = 0] - 方向角 (度数值,0-360度)
* @property [pitch = 0] - 俯仰角(度数值,0-360度)
* @property [roll = 0] - 翻滚角(度数值,0-360度)
* @property [materialType = "Color"] - 填充材质类型 ,可选项:{@link MaterialType}
* @property [materialOptions] - materialType对应的{@link MaterialType}中材质参数
* @property [material] - 指定用于填充的材质,指定material后`materialType`和`materialOptions`将被覆盖。
* @property [color = "#00FF00"] - 颜色
* @property [opacity = 1.0] - 透明度, 取值范围:0.0-1.0
* @property [outline = false] - 是否边框
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
* @property [materialSupport = MaterialAppearance.MaterialSupport.TEXTURED] - 将被支持的材质类型。
*
* //以下是 这是MaterialAppearance的参数
* @property [flat = false] - 当true时,在片段着色器中使用平面着色,不考虑光照。
* @property [faceForward = !closed] - 当true时,片段着色器根据需要翻转表面的法线,以确保法线面向查看器以避免黑点。
* @property [translucent = true] - 当true时,几何图形将显示为半透明,因此{@link Cesium.PerInstanceColorAppearance#renderState}将启用alpha混合。
* @property [closed = true] - 当true时,几何图形将被关闭,因此{@link Cesium.PerInstanceColorAppearance#renderState}启用了背面剔除。
* @property [vertexShaderSource] - 可选的GLSL顶点着色器源,覆盖默认的顶点着色器。
* @property [fragmentShaderSource] - 可选的GLSL片段着色器源覆盖默认的片段着色器。
* @property [renderState] - 可选渲染状态,以覆盖默认渲染状态。
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
dimensions?: Cesium.Cartesian3;
dimensions_x?: number;
dimensions_y?: number;
dimensions_z?: number;
heading?: number;
pitch?: number;
roll?: number;
materialType?: string;
materialOptions?: any;
material?: Cesium.Material;
color?: string | Cesium.Color;
opacity?: number;
outline?: boolean;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
materialSupport?: Cesium.MaterialAppearance.MaterialSupportType;
flat?: boolean;
faceForward?: boolean;
translucent?: boolean;
closed?: boolean;
vertexShaderSource?: string;
fragmentShaderSource?: string;
renderState?: any;
setHeight?: number | string;
addHeight?: number | string;
highlight?: BoxPrimitive.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
};
}
/**
* 盒子 Primitive图元矢量对象
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param [options.modelMatrix] - 将图元(所有几何实例)从模型转换为世界坐标的4x4变换矩阵,可以替代position。
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class BoxPrimitive extends BasePointPrimitive {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
modelMatrix?: Cesium.Matrix4;
style: BoxPrimitive.StyleOptions | any;
attr?: any;
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
declare namespace CirclePrimitive {
/**
* 圆 支持的样式信息
* @property [radius = 100] - 半径
* @property [height = 0] - 高程,圆相对于椭球面的高度。
* @property [diffHeight = 100] - 高度差(圆柱本身的高度),与extrudedHeight二选一。
* @property [extrudedHeight] - 指定圆的挤压面相对于椭球面的高度。
* @property [stRotation = 0] - 椭圆纹理的角度(弧度值),正北为0,逆时针旋转
* @property [stRotationDegree = 0] - 椭圆纹理的角度(度数值,0-360度),与stRotation二选一
* @property [granularity = Cesium.Math.RADIANS_PER_DEGREE] - 指定椭圆上各点之间的角距离。
* @property [materialType = "Color"] - 填充材质类型 ,可选项:{@link MaterialType}
* @property [materialOptions] - materialType对应的{@link MaterialType}中材质参数
* @property [material] - 指定用于填充的材质,指定material后`materialType`和`materialOptions`将被覆盖。
* @property [color = "#00FF00"] - 颜色
* @property [opacity = 1.0] - 透明度, 取值范围:0.0-1.0
* @property [outline = false] - 是否边框
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
* @property [outlineStyle] - 边框的样式,会覆盖outlineColor、outlineOpacity
* @property [materialSupport = Cesium.MaterialAppearance.MaterialSupport.TEXTURED] - 将被支持的材质类型。
* @property [clampToGround = false] - 是否贴地
* @property [classificationType = Cesium.ClassificationType.BOTH] - 指定贴地时的覆盖类型,是只对地形、3dtiles 或 两者同时。
* @property [classification = false] - 是否为ClassificationPrimitive ,分类基元 表示Scene要高亮显示的包围几何的体积
*
* //以下是 这是MaterialAppearance的参数
* @property [flat = false] - 当true时,在片段着色器中使用平面着色,不考虑光照。
* @property [faceForward = !closed] - 当true时,片段着色器根据需要翻转表面的法线,以确保法线面向查看器以避免黑点。
* @property [translucent = true] - 当true时,几何图形将显示为半透明,因此{@link Cesium.PerInstanceColorAppearance#renderState}将启用alpha混合。
* @property [closed = false] - 当true时,几何图形将被关闭,因此{@link Cesium.PerInstanceColorAppearance#renderState}启用了背面剔除。
* @property [vertexShaderSource] - 可选的GLSL顶点着色器源,覆盖默认的顶点着色器。
* @property [fragmentShaderSource] - 可选的GLSL片段着色器源覆盖默认的片段着色器。
* @property [renderState] - 可选渲染状态,以覆盖默认渲染状态。
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
radius?: number;
height?: number;
diffHeight?: number;
extrudedHeight?: number;
stRotation?: number;
stRotationDegree?: number;
granularity?: number;
materialType?: string;
materialOptions?: any;
material?: Cesium.Material;
color?: string | Cesium.Color;
opacity?: number;
outline?: boolean;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
outlineStyle?: PolylinePrimitive.StyleOptions | any;
materialSupport?: Cesium.MaterialAppearance.MaterialSupportType;
clampToGround?: boolean;
classificationType?: Cesium.ClassificationType;
classification?: boolean;
flat?: boolean;
faceForward?: boolean;
translucent?: boolean;
closed?: boolean;
vertexShaderSource?: string;
fragmentShaderSource?: string;
renderState?: any;
setHeight?: number | string;
addHeight?: number | string;
highlight?: CirclePrimitive.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
};
}
/**
* 圆 Primitive图元矢量对象
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param [options.modelMatrix] - 将图元(所有几何实例)从模型转换为世界坐标的4x4变换矩阵,可以替代position。
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class CirclePrimitive extends BasePointPrimitive {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
modelMatrix?: Cesium.Matrix4;
style: CirclePrimitive.StyleOptions | any;
attr?: any;
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 圆的半径(单位:米)
*/
radius: number;
/**
* 圆的边线坐标集合(笛卡尔坐标)
*/
readonly outlinePositions: Cesium.Cartesian3[];
/**
* 获取圆的边线坐标集合(经纬度二维数组)
* @param [closure = true] - 是否闭合,true时会添加第0个点进行闭合。
* @param [count = 90] - 象限内点的数量,返回的总数为 count*4
* @param [noAlt] - 是否包含高度值
* @returns 边线坐标数组(经纬度二维数组)
*/
getOutlineCoordinates(closure?: boolean, count?: number, noAlt?: boolean): any[][];
/**
* 获取圆的边线坐标集合(笛卡尔坐标)
* @param [closure = true] - 是否闭合,true时会添加第0个点进行闭合。
* @param [count] - 象限内点的数量,返回的总数为 count*4
* @returns 边线坐标数组
*/
getOutlinePositions(closure?: boolean, count?: number): Cesium.Cartesian3[];
/**
* 获取数据的矩形边界
* @param [options] - 控制参数
* @param [options.isFormat = false] - 是否格式化,格式化时示例: { xmin: 73.16895, xmax: 134.86816, ymin: 12.2023, ymax: 54.11485 }
* @returns isFormat:true时,返回格式化对象,isFormat:false时返回Cesium.Rectangle对象
*/
getRectangle(options?: {
isFormat?: boolean;
}): Cesium.Rectangle | any;
/**
* 判断点是否在圆内
* @param position - 需要判断的点
* @returns 是否在圆内
*/
isInPoly(position: Cesium.Cartesian3 | LngLatPoint): boolean;
/**
* 飞行定位至 数据所在的视角
* @param [options = {}] - 参数对象:
* @param [options.radius] - 点状数据时,相机距离目标点的距离(单位:米)
* @param [options.scale = 1.2] - 线面数据时,缩放比例,可以控制视角比矩形略大一些,这样效果更友好。
* @param [options.minHeight] - 定位时相机的最小高度值,用于控制避免异常数据
* @param [options.maxHeight] - 定位时相机的最大高度值,用于控制避免异常数据
* @param [options.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0至360
* @param [options.pitch] - 俯仰角度值,绕纬度线旋转角度, 0至360
* @param [options.roll] - 翻滚角度值,绕经度线旋转角度, 0至360
* @param [options.duration] - 飞行时间(单位:秒)。如果省略,SDK内部会根据飞行距离计算出理想的飞行时间。
* @param [options.complete] - 飞行完成后要执行的函数。
* @param [options.cancel] - 飞行取消时要执行的函数。
* @param [options.endTransform] - 变换矩阵表示飞行结束时相机所处的参照系。
* @param [options.maximumHeight] - 飞行高峰时的最大高度。
* @param [options.pitchAdjustHeight] - 如果相机飞得比这个值高,在飞行过程中调整俯仰以向下看,并保持地球在视口。
* @param [options.flyOverLongitude] - 地球上的两点之间总有两条路。这个选项迫使相机选择战斗方向飞过那个经度。
* @param [options.flyOverLongitudeWeight] - 仅在通过flyOverLongitude指定的lon上空飞行,只要该方式的时间不超过flyOverLongitudeWeight的短途时间。
* @param [options.convert = true] - 是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。
* @param [options.easingFunction] - 控制在飞行过程中如何插值时间。
* @returns 如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise
*/
flyTo(options?: {
radius?: number;
scale?: number;
minHeight?: number;
maxHeight?: number;
heading?: number;
pitch?: number;
roll?: number;
duration?: number;
complete?: Cesium.Camera.FlightCompleteCallback;
cancel?: Cesium.Camera.FlightCancelledCallback;
endTransform?: Cesium.Matrix4;
maximumHeight?: number;
pitchAdjustHeight?: number;
flyOverLongitude?: number;
flyOverLongitudeWeight?: number;
convert?: boolean;
easingFunction?: Cesium.EasingFunction.Callback;
}): Promise;
}
declare namespace CloudPrimitive {
/**
* 积云 Primitive矢量数据 支持的样式信息
* @property scale - 积云的比例(以米为单位)。该scale属性会影响广告牌的大小,但不会影响云的实际外观。
* @property maximumSize - 积云的最大尺寸。这定义了云可以出现的最大椭球体积。这不是保证特定的大小,而是指定了云出现的边界,改变它可以影响云的形状。
* @property slice - 切片,即为广告牌外观选择的云的特定横截面。给定一个介于 0 和 1 之间的值,切片根据其在 z 方向上的最大尺寸指定与云相交的深度。
* @property [brightness = 1.0] - 亮度
*/
type StyleOptions = any | {
scale: Cesium.Cartesian2;
maximumSize: Cesium.Cartesian3;
slice: number;
brightness?: number;
};
}
/**
* 积云 Primitive矢量数据
*
*
*

*
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.stopPropagation = false] - 当前类中事件是否停止冒泡, false时:事件冒泡到layer中。
*/
declare class CloudPrimitive extends BasePointPrimitive {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
style: CloudPrimitive.StyleOptions | any;
attr?: any;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
stopPropagation?: boolean;
});
/**
* 当加载primitive数据的内部Cesium容器
*/
readonly primitiveCollection: Cesium.CloudCollection;
/**
* 积云的最大大小。这定义了云可以出现在的最大椭球体体积。这不是保证一个特定的大小,而是指定了云出现的边界,改变它可能会影响云的形状。
* 改变maximumSize的z值对云的外观有最显著的影响,因为它改变了云的深度,从而改变了云形状纹理采样的位置。
*
*
*
* To modify the billboard's actual size, modify the cloud's scale property.
*/
maximumSize: Cesium.Cartesian3;
/**
* 积云广告牌的规模(以米为单位)。缩放属性会影响广告牌的大小,但不会影响云的实际外观。
*
*
*
*
* cloud.scale = new Cesium.Cartesian2(12, 8);
*
* |
*
* cloud.scale = new Cesium.Cartesian2(24, 10);
*
* |
*
*
*
* To modify the cloud's appearance, modify its maximumSize
* and slice properties.
*/
scale: Cesium.Cartesian2;
/**
* 在广告牌上渲染的云的“切片”,即为广告牌的外观选择的云的特定横截面。给定一个介于0和1之间的值,切片根据它在z方向上的最大大小指定与云相交的深度。
*
*
* cloud.slice = 0.32;
 |
* cloud.slice = 0.5;
 |
* cloud.slice = 0.6;
 |
*
*
*
*
*
* 由于计算这个切片的性质,低于0.2的值可能导致横截面太小,从而可以看到椭球体的边缘。同样,大于0.7的值会使云看起来更小。应该完全避免超出范围[0.1,0.9]的值,因为它们不会产生理想的结果。
*
*
* cloud.slice = 0.08;
 |
* cloud.slice = 0.8;
 |
*
*
*
* 如果slice设置为负数,云将不会渲染一个横截面。相反,它将渲染椭球的外部是可见的。对于具有“maximumSize”小值的云。,这可以产生好看的结果,但对于较大的云,这可能导致云扭曲到不希望的椭球体体积。
*
*
*
* cloud.slice = -1.0; cloud.maximumSize.z = 18;
*
* |
*
* cloud.slice = -1.0; cloud.maximumSize.z = 30;
*  |
*
*
*/
slice: number;
/**
* 云的亮度。这可以用来给云一个更暗、更灰的外观。
*
*
*
* cloud.brightness = 1.0;
 |
* cloud.brightness = 0.6;
 |
* cloud.brightness = 0.0;
 |
*
*
*/
brightness: number;
/**
* 是否可以调整透明度
*/
readonly hasOpacity: boolean;
}
declare namespace ConeTrackPrimitive {
/**
* 圆锥追踪体 Primitive图元矢量对象 支持的样式信息
* @property [angle] - 圆锥追踪体张角(角度值,取值范围 0.01-89.99)
* @property [bottomRadius = 100] - 不指定angle时,也可以直接指定圆锥底部半径(单位:米)
* @property [length = 100] - 圆锥追踪体长度值(单位:米),没有指定targetPosition时有效
* @property [slices = 128] - 圆柱体周长周围的边数。
* @property [heading = 0] - 方向角 (度数值,0-360度),没有指定targetPosition时有效
* @property [pitch = 0] - 俯仰角(度数值,0-360度),没有指定targetPosition时有效
* @property [roll = 0] - 翻滚角(度数值,0-360度),没有指定targetPosition时有效
* @property [fill = true] - 是否填充
* @property [color = "#00FF00"] - 颜色
* @property [opacity = 1.0] - 透明度, 取值范围:0.0-1.0
* @property [materialType = "Color"] - 填充材质类型 ,可选项:{@link MaterialType}
* @property [materialOptions] - materialType对应的{@link MaterialType}中材质参数
* @property [material] - 指定用于填充的材质,指定material后`materialType`和`materialOptions`将被覆盖。
* @property [outline = false] - 是否边框
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
* @property [materialSupport = MaterialAppearance.MaterialSupport.TEXTURED] - 将被支持的材质类型。
* @property [flat = false] - 当true时,在片段着色器中使用平面着色,不考虑光照。
* @property [faceForward = !closed] - 当true时,片段着色器根据需要翻转表面的法线,以确保法线面向查看器以避免黑点。
* @property [translucent = true] - 当true时,几何图形将显示为半透明,因此{@link Cesium.PerInstanceColorAppearance#renderState}将启用alpha混合。
* @property [closed = false] - 当true时,几何图形将被关闭,因此{@link Cesium.PerInstanceColorAppearance#renderState}启用了背面剔除。
* @property [vertexShaderSource] - 可选的GLSL顶点着色器源,覆盖默认的顶点着色器。
* @property [fragmentShaderSource] - 可选的GLSL片段着色器源覆盖默认的片段着色器。
* @property [renderState] - 可选渲染状态,以覆盖默认渲染状态。
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
angle?: number;
bottomRadius?: number;
length?: number;
slices?: number;
heading?: number;
pitch?: number;
roll?: number;
fill?: boolean;
color?: string | Cesium.Color;
opacity?: number;
materialType?: string;
materialOptions?: any;
material?: Cesium.Material;
outline?: boolean;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
materialSupport?: Cesium.MaterialAppearance.MaterialSupportType;
flat?: boolean;
faceForward?: boolean;
translucent?: boolean;
closed?: boolean;
vertexShaderSource?: string;
fragmentShaderSource?: string;
renderState?: any;
highlight?: CylinderPrimitive.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
};
}
/**
* 圆锥追踪体 Primitive图元矢量对象
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置(不支持动态属性)
* @param [options.targetPosition] - 追踪的目标位置(不支持动态属性)
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class ConeTrackPrimitive extends CylinderPrimitive {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
targetPosition?: LngLatPoint | Cesium.Cartesian3 | number[];
style: ConeTrackPrimitive.StyleOptions | any;
attr?: any;
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 追踪的目标位置(确定了方向和距离)
*/
targetPosition: Cesium.Cartesian3 | LngLatPoint;
/**
* 追踪的目标位置
*/
readonly targetPoint: LngLatPoint;
/**
* 夹角,半场角度,取值范围 0.01-89.99
*/
angle: number;
/**
* 是否可以编辑
*/
hasEdit: boolean;
}
declare namespace CorridorPrimitive {
/**
* 走廊 Primitive图元 支持的样式信息
* @property [width = 100] - 走廊宽度,指定走廊边缘之间的距离。
* @property [cornerType] - 指定边角的样式。
* @property [materialType = "Color"] - 填充材质类型 ,可选项:{@link MaterialType}
* @property [materialOptions] - materialType对应的{@link MaterialType}中材质参数
* @property [material] - 指定用于填充的材质,指定material后`materialType`和`materialOptions`将被覆盖。
* @property [color = "#3388ff"] - 颜色
* @property [opacity = 1.0] - 透明度,取值范围:0.0-1.0
* @property [outline = false] - 是否边框
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
* @property [height = 0] - 高程,圆相对于椭球面的高度。
* @property [diffHeight = 100] - 高度差(走廊本身的高度),与extrudedHeight二选一。
* @property [extrudedHeight] - 指定走廊挤压面相对于椭球面的高度。
* @property [hasShadows = false] - 是否阴影
* @property [shadows = Cesium.ShadowMode.DISABLED] - 指定对象是投射还是接收来自光源的阴影。
* @property [clampToGround = false] - 是否贴地
* @property [classificationType = Cesium.ClassificationType.BOTH] - 指定贴地时的覆盖类型,是只对地形、3dtiles 或 两者同时。
* @property [classification = false] - 是否为ClassificationPrimitive ,分类基元 表示Scene要高亮显示的包围几何的体积
*
*
* //以下是 这是MaterialAppearance的参数
* @property [flat = false] - 当true时,在片段着色器中使用平面着色,不考虑光照。
* @property [faceForward = !closed] - 当true时,片段着色器根据需要翻转表面的法线,以确保法线面向查看器以避免黑点。
* @property [translucent = true] - 当true时,几何图形将显示为半透明,因此{@link Cesium.PerInstanceColorAppearance#renderState}将启用alpha混合。
* @property [closed = false] - 当true时,几何图形将被关闭,因此{@link Cesium.PerInstanceColorAppearance#renderState}启用了背面剔除。
* @property [vertexShaderSource] - 可选的GLSL顶点着色器源,覆盖默认的顶点着色器。
* @property [fragmentShaderSource] - 可选的GLSL片段着色器源覆盖默认的片段着色器。
* @property [renderState] - 可选渲染状态,以覆盖默认渲染状态。
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
width?: number;
cornerType?: string | Cesium.CornerType;
materialType?: string;
materialOptions?: any;
material?: Cesium.Material;
color?: string | Cesium.Color;
opacity?: number;
outline?: boolean;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
height?: number;
diffHeight?: number;
extrudedHeight?: number;
hasShadows?: boolean;
shadows?: Cesium.ShadowMode;
clampToGround?: boolean;
classificationType?: Cesium.ClassificationType;
classification?: boolean;
flat?: boolean;
faceForward?: boolean;
translucent?: boolean;
closed?: boolean;
vertexShaderSource?: string;
fragmentShaderSource?: string;
renderState?: any;
setHeight?: number | string;
addHeight?: number | string;
label?: LabelPrimitive.StyleOptions | any;
};
}
/**
* 走廊 Primitive图元 矢量对象
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class CorridorPrimitive extends BasePolyPrimitive {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
style: CorridorPrimitive.StyleOptions | any;
attr?: any;
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
declare namespace CylinderPrimitive {
/**
* 圆锥 支持的样式信息
* @property [topRadius = 0] - 顶部半径,指定圆柱体顶部的半径,当为0时即为圆锥。
* @property [bottomRadius = 100] - 底部半径,指定圆柱体底部半径。
* @property [length = 100] - 高度,柱面长度。
* @property [slices = 128] - 圆柱体周长周围的边数。
* @property [heading = 0] - 方向角 (度数值,0-360度)
* @property [pitch = 0] - 俯仰角(度数值,0-360度)
* @property [roll = 0] - 翻滚角(度数值,0-360度)
* @property [color = "#00FF00"] - 颜色
* @property [opacity = 1.0] - 透明度, 取值范围:0.0-1.0
* @property [materialType = "Color"] - 填充材质类型 ,可选项:{@link MaterialType}
* @property [materialOptions] - materialType对应的{@link MaterialType}中材质参数
* @property [material] - 指定用于填充的材质,指定material后`materialType`和`materialOptions`将被覆盖。
* @property [outline = false] - 是否边框
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
* @property [materialSupport = MaterialAppearance.MaterialSupport.TEXTURED] - 将被支持的材质类型。
* @property [flat = false] - 当true时,在片段着色器中使用平面着色,不考虑光照。
* @property [faceForward = !closed] - 当true时,片段着色器根据需要翻转表面的法线,以确保法线面向查看器以避免黑点。
* @property [translucent = true] - 当true时,几何图形将显示为半透明,因此{@link Cesium.PerInstanceColorAppearance#renderState}将启用alpha混合。
* @property [closed = true] - 当true时,几何图形将被关闭,因此{@link Cesium.PerInstanceColorAppearance#renderState}启用了背面剔除。
* @property [vertexShaderSource] - 可选的GLSL顶点着色器源,覆盖默认的顶点着色器。
* @property [fragmentShaderSource] - 可选的GLSL片段着色器源覆盖默认的片段着色器。
* @property [renderState] - 可选渲染状态,以覆盖默认渲染状态。
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
topRadius?: number;
bottomRadius?: number;
length?: number;
slices?: number;
heading?: number;
pitch?: number;
roll?: number;
color?: string | Cesium.Color;
opacity?: number;
materialType?: string;
materialOptions?: any;
material?: Cesium.Material;
outline?: boolean;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
materialSupport?: Cesium.MaterialAppearance.MaterialSupportType;
flat?: boolean;
faceForward?: boolean;
translucent?: boolean;
closed?: boolean;
vertexShaderSource?: string;
fragmentShaderSource?: string;
renderState?: any;
highlight?: CylinderPrimitive.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
};
}
/**
* 圆锥 Primitive图元矢量对象
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param [options.modelMatrix] - 将图元(所有几何实例)从模型转换为世界坐标的4x4变换矩阵,可以替代position。
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class CylinderPrimitive extends BasePointPrimitive {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
modelMatrix?: Cesium.Matrix4;
style: CylinderPrimitive.StyleOptions | any;
attr?: any;
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
declare namespace DiffuseWall {
/**
* 立体面(或圆)散射效果 支持的样式信息
* @property [diffHeight = 100] - 墙高
* @property [color = "#3388ff"] - 颜色
* @property [opacity = 1.0] - 透明度,取值范围:0.0-1.0
* @property [speed = 10] - 扩散的速度,值越大越快
* @property [maxScale = 1] - 扩散的最大比例
* @property [shadows = Cesium.ShadowMode.DISABLED] - 指定对象是投射还是接收来自光源的阴影。
*/
type StyleOptions = any | {
diffHeight?: number;
color?: string | Cesium.Color;
opacity?: number;
speed?: number;
maxScale?: number;
shadows?: Cesium.ShadowMode;
};
}
/**
* 立体面(或圆)散射效果 矢量对象
* @param options - 参数对象,包括以下:
* @param [options.positions] - 坐标位置数组(多边形时)
* @param [options.position] - 坐标位置数组(圆形时),与positions二选一
* @param [options.style] - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class DiffuseWall extends BasePolyPrimitive {
constructor(options: {
positions?: LngLatPoint[] | Cesium.Cartesian3[] | any[];
position?: LngLatPoint | Cesium.Cartesian3 | number[];
style?: DiffuseWall.StyleOptions | any;
attr?: any;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 圆形时,位置坐标 (笛卡尔坐标), 赋值时可以传入LatLngPoint对象
*/
position: Cesium.Cartesian3 | LngLatPoint;
/**
* 圆形时,半径(单位:米)
*/
radius: number;
/**
* 中心点坐标 (笛卡尔坐标)
*/
readonly center: Cesium.Cartesian3;
/**
* 位置坐标数组 (笛卡尔坐标), 赋值时可以传入LatLngPoint数组对象
*/
positions: Cesium.Cartesian3[];
/**
* 矢量数据对应的 Cesium内部对象 (不同子类中实现)
*/
readonly czmObject: Cesium.Entity | Cesium.Primitive | Cesium.GroundPrimitive | Cesium.ClassificationPrimitive | any;
}
declare namespace DynamicRiver {
/**
* 动态河流 支持的样式信息
* @property image - 图片材质URL
* @property [opacity = 0.5] - 透明度,取值范围:0.0-1.0
* @property [width = 20] - 河流宽度。(单位:米)
* @property [height = 0] - 海拔高度,相对于椭球面的高度。(单位:米)
* @property [speed = 10] - 流动速度,值越大越快
* @property [axisY = false] - 是否uv交换(图片横竖切换)
* @property [move = true] - 是否开启流动效果
* @property [direction = true] - 设置流动方向
*/
type StyleOptions = any | {
image: string;
opacity?: number;
width?: number;
height?: number;
speed?: number;
axisY?: boolean;
move?: boolean;
direction?: boolean;
};
}
/**
* 动态河流 矢量对象
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class DynamicRiver extends BasePolyPrimitive {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
style: DynamicRiver.StyleOptions | any;
attr?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 图片材质URL
*/
image: string;
/**
* 宽度 (单位:米)
*/
width: number;
/**
* 海拔高度,相对于椭球面的高度。(单位:米)
*/
height: number;
/**
* 透明度 0.0-1.0
*/
opacity: number;
/**
* 设置流动方向
*/
direction: boolean;
/**
* 流动速度
*/
speed: number;
/**
* 是否开启流动效果
*/
move: boolean;
/**
* 是否uv交换(图片横竖切换)
*/
axisY: boolean;
/**
* 执行升高或降低高度的动画效果
* @param height - 升高或降低的相对高度(单位:米),负数代表降低
* @param time - 动画时长(单位:秒)
* @returns 无
*/
offsetHeight(height: number, time: number): void;
/**
* 设置透明度
* @param value - 透明度
* @returns 无
*/
setOpacity(value: number): void;
/**
* 矢量数据对应的 Cesium内部对象 (不同子类中实现)
*/
readonly czmObject: Cesium.Entity | Cesium.Primitive | Cesium.GroundPrimitive | Cesium.ClassificationPrimitive | any;
}
declare namespace EllipsoidPrimitive {
/**
* 球体 支持的样式信息
* @property [radii] - 指定椭球半径。
* @property [radii_x = 100] - X半径
* @property [radii_y = 100] - Y半径
* @property [radii_z = 100] - Z半径
* @property [innerRadii] - 指定椭球的内半径。
* @property [innerRadii_x = 0] - 内部X半径
* @property [innerRadii_y = 0] - 内部Y半径
* @property [innerRadii_z = 0] - 内部Z半径
* @property [minimumClock = 0] - 最小时钟角度(弧度值)
* @property [minimumClockDegree = 0] - 最小时钟角度(度数值,0-360度),与minimumClock二选一
* @property [maximumClock = 360] - 最大时钟角度(弧度值)
* @property [maximumClockDegree = 360] - 最大时钟角度(度数值,0-360度),与maximumClock二选一
* @property [minimumCone = 0] - 最小锥角(弧度值)
* @property [minimumConeDegree = 0] - 最小锥角(度数值,0-360度),与minimumCone二选一
* @property [maximumCone = 180] - 最大圆锥角(弧度值)
* @property [maximumConeDegree = 180] - 最大圆锥角(度数值,0-360度),与maximumCone二选一
* @property [stackPartitions = 64] - 指定竖向划分数量
* @property [slicePartitions = 64] - 指定横向划分数量
* @property [color = "#00FF00"] - 颜色
* @property [opacity = 1.0] - 透明度, 取值范围:0.0-1.0
* @property [materialType = "Color"] - 填充材质类型 ,可选项:{@link MaterialType}
* @property [materialOptions] - materialType对应的{@link MaterialType}中材质参数
* @property [material] - 指定用于填充的材质,指定material后`materialType`和`materialOptions`将被覆盖。
* @property [materialSupport = MaterialAppearance.MaterialSupport.TEXTURED] - 将被支持的材质类型。
* @property [outline = false] - 是否边框
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
*
* //以下是 这是MaterialAppearance的参数
* @property [flat = false] - 当true时,在片段着色器中使用平面着色,不考虑光照。
* @property [faceForward = !closed] - 当true时,片段着色器根据需要翻转表面的法线,以确保法线面向查看器以避免黑点。
* @property [translucent = true] - 当true时,几何图形将显示为半透明,因此{@link Cesium.PerInstanceColorAppearance#renderState}将启用alpha混合。
* @property [closed = true] - 当true时,几何图形将被关闭,因此{@link Cesium.PerInstanceColorAppearance#renderState}启用了背面剔除。
* @property [vertexShaderSource] - 可选的GLSL顶点着色器源,覆盖默认的顶点着色器。
* @property [fragmentShaderSource] - 可选的GLSL片段着色器源覆盖默认的片段着色器。
* @property [renderState] - 可选渲染状态,以覆盖默认渲染状态。
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
radii?: Cesium.Cartesian3;
radii_x?: number;
radii_y?: number;
radii_z?: number;
innerRadii?: Cesium.Cartesian3;
innerRadii_x?: number;
innerRadii_y?: number;
innerRadii_z?: number;
minimumClock?: number;
minimumClockDegree?: number;
maximumClock?: number;
maximumClockDegree?: number;
minimumCone?: number;
minimumConeDegree?: number;
maximumCone?: number;
maximumConeDegree?: number;
stackPartitions?: number;
slicePartitions?: number;
color?: string | Cesium.Color;
opacity?: number;
materialType?: string;
materialOptions?: any;
material?: Cesium.Material;
materialSupport?: Cesium.MaterialAppearance.MaterialSupportType;
outline?: boolean;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
flat?: boolean;
faceForward?: boolean;
translucent?: boolean;
closed?: boolean;
vertexShaderSource?: string;
fragmentShaderSource?: string;
renderState?: any;
highlight?: EllipsoidPrimitive.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
};
}
/**
* 球体 Primitive图元矢量对象
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param [options.modelMatrix] - 将图元(所有几何实例)从模型转换为世界坐标的4x4变换矩阵,可以替代position。
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class EllipsoidPrimitive extends BasePointPrimitive {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
modelMatrix?: Cesium.Matrix4;
style: EllipsoidPrimitive.StyleOptions | any;
attr?: any;
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
declare namespace FrustumPrimitive {
/**
* 四棱锥体 支持的样式信息
* @property [angle] - 四棱锥体张角(角度值,取值范围 0.01-89.99)
* @property [angle2 = angle] - 四棱锥体张角2,(角度值,取值范围 0.01-89.99)
* @property [length = 100] - 长度值(单位:米),没有指定targetPosition时有效
* @property [heading = 0] - 方向角 (度数值,0-360度),没有指定targetPosition时有效
* @property [pitch = 0] - 俯仰角(度数值,0-360度),没有指定targetPosition时有效
* @property [roll = 0] - 翻滚角(度数值,0-360度),没有指定targetPosition时有效
* @property [materialType = "Color"] - 填充材质类型 ,可选项:{@link MaterialType}
* @property [materialOptions] - materialType对应的{@link MaterialType}中材质参数
* @property [material] - 指定用于填充的材质,指定material后`materialType`和`materialOptions`将被覆盖。
* @property [color = "#00FF00"] - 颜色
* @property [opacity = 1.0] - 透明度, 取值范围:0.0-1.0
* @property [outline = false] - 是否边框
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
* @property [materialSupport = MaterialAppearance.MaterialSupport.TEXTURED] - 将被支持的材质类型。
* @property [flat = false] - 当true时,在片段着色器中使用平面着色,不考虑光照。
* @property [faceForward = !closed] - 当true时,片段着色器根据需要翻转表面的法线,以确保法线面向查看器以避免黑点。
* @property [translucent = true] - 当true时,几何图形将显示为半透明,因此{@link Cesium.PerInstanceColorAppearance#renderState}将启用alpha混合。
* @property [closed = true] - 当true时,几何图形将被关闭,因此{@link Cesium.PerInstanceColorAppearance#renderState}启用了背面剔除。
* @property [vertexShaderSource] - 可选的GLSL顶点着色器源,覆盖默认的顶点着色器。
* @property [fragmentShaderSource] - 可选的GLSL片段着色器源覆盖默认的片段着色器。
* @property [renderState] - 可选渲染状态,以覆盖默认渲染状态。
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
angle?: number;
angle2?: number;
length?: number;
heading?: number;
pitch?: number;
roll?: number;
materialType?: string;
materialOptions?: any;
material?: Cesium.Material;
color?: string | Cesium.Color;
opacity?: number;
outline?: boolean;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
materialSupport?: Cesium.MaterialAppearance.MaterialSupportType;
flat?: boolean;
faceForward?: boolean;
translucent?: boolean;
closed?: boolean;
vertexShaderSource?: string;
fragmentShaderSource?: string;
renderState?: any;
highlight?: FrustumPrimitive.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
};
}
/**
* 四棱锥体 Primitive图元矢量对象
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param [options.targetPosition] - 追踪的目标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class FrustumPrimitive extends BasePointPrimitive {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
targetPosition?: LngLatPoint | Cesium.Cartesian3 | number[];
style: FrustumPrimitive.StyleOptions | any;
attr?: any;
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 圆锥追踪的目标(确定了方向和距离)
*/
targetPosition: Cesium.Cartesian3 | LngLatPoint;
/**
* 圆锥追踪的目标位置坐标
*/
readonly targetPoint: LngLatPoint;
/**
* 夹角,半场角度,取值范围 0.01-89.99
*/
angle: number;
/**
* 夹角2,半场角度,取值范围 0.01-89.99
*/
angle2: number;
/**
* 求当前位置射线与地球相交点
*/
readonly groundPosition: Cesium.Cartesian3;
/**
* 获取射线向地面与地球的4个交点坐标
* @param [time = Cesium.JulianDate.now()] - 指定的时间值
* @returns 坐标数组
*/
getRayEarthPositions(time?: Cesium.JulianDate): Cesium.Cartesian3[];
/**
* 四周方向角,0-360度角度值
*
提示:父类属性,非所有子类都具备
*/
heading: number;
/**
* 俯仰角,上下摇摆的角度,0-360度角度值
*
提示:父类属性,非所有子类都具备
*/
pitch: number;
/**
* 滚转角,左右摆动的角度,0-360度角度值
*
提示:父类属性,非所有子类都具备
*/
roll: number;
}
declare namespace LabelPrimitive {
/**
* 文字 支持的样式信息(与LabelEntity相同)
* @property [所有] - 与LabelEntity相同
*/
type StyleOptions = any | {
所有?: LabelEntity.StyleOptions | any;
};
}
/**
* 文字 Primitive矢量数据
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class LabelPrimitive extends BasePointPrimitive {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
style: LabelPrimitive.StyleOptions | any;
attr?: any;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 当加载primitive数据的内部Cesium容器
*/
readonly primitiveCollection: Cesium.LabelCollection;
/**
* 文本内容
*/
readonly text: string;
/**
* 设置透明度
* @param value - 透明度
* @returns 无
*/
setOpacity(value: number): void;
}
declare namespace LightCone {
/**
* 光锥体 支持的样式信息
* @property [color = '#00ffff'] - 颜色
* @property [radius = 100] - 锥体底部半径。(单位:米)
* @property [height = 1000] - 锥体高度,相对于椭球面的高度。(单位:米)
*/
type StyleOptions = any | {
color?: string | Cesium.Color;
radius?: number;
height?: number;
};
}
/**
* 光锥体
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class LightCone extends BasePointPrimitive {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
style: LightCone.StyleOptions | any;
attr?: any;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 颜色
*/
color: Cesium.Color;
/**
* 设置透明度
* @param value - 透明度
* @returns 无
*/
setOpacity(value: number): void;
/**
* 矢量数据对应的 Cesium内部对象 (不同子类中实现)
*/
readonly czmObject: Cesium.Entity | Cesium.Primitive | Cesium.GroundPrimitive | Cesium.ClassificationPrimitive | any;
}
declare namespace ModelPrimitive {
/**
* gltf小模型 支持的样式信息
* @property [url] - glTF模型的URI的字符串或资源属性。
* @property [scale = 1] - 整体缩放比例
* @property [scaleX = 1] - X轴方向缩放比例
* @property [scaleY = 1] - Y轴方向缩放比例
* @property [scaleZ = 1] - Z轴方向缩放比例
* @property [heading = 0] - 方向角 (度数值,0-360度)
* @property [pitch = 0] - 俯仰角(度数值,0-360度)
* @property [roll = 0] - 翻滚角(度数值,0-360度)
* @property [noPitchRoll] - 当addDynamicPosition时,设置为true时,可以设置模型只动态更改方向,内部固定模型的Pitch和Roll方向值为0
* @property [minimumPixelSize = 0.0] - 指定模型的近似最小像素大小,而不考虑缩放。
* @property [maximumScale] - 模型的最大比例尺寸。minimumPixelSize的上限。
* @property [fill = false] - 是否填充,指定与模型渲染颜色混合
* @property [color = "#3388ff"] - 颜色
* @property [opacity = 1.0] - 透明度,取值范围:0.0-1.0
* @property [colorBlendMode = ColorBlendMode.HIGHLIGHT] - 指定颜色如何与模型混合。
* @property [colorBlendAmount = 0.5] - 当colorBlendMode为MIX时指定颜色强度的数字属性。0.0的值表示模型渲染的颜色,1.0的值表示纯色,任何介于两者之间的值表示两者的混合。
* @property [silhouette = false] - 是否轮廓
* @property [silhouetteColor = "#ff0000"] - 轮廓颜色
* @property [silhouetteSize = 2] - 轮廓宽度
* @property [silhouetteAlpha = 0.8] - 轮廓透明度
* @property [distanceDisplayCondition = false] - 是否按视距显示 或 指定此框将显示在与摄像机的多大距离。
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [distanceDisplayCondition_far = 100000] - 最大距离
* @property [distanceDisplayPoint] - 当视角距离超过一定距离后(distanceDisplayCondition_far定义的) 后显示为 像素点 对象的样式,仅在distanceDisplayCondition设置时有效。
* @property [distanceDisplayBillboard] - 当视角距离超过一定距离后(distanceDisplayCondition_far定义的) 后显示为 图标 对象的样式,仅在distanceDisplayCondition设置时有效。
* @property [customShader] - 自定义shader效果
* @property [hasShadows = true] - 是否阴影
* @property [shadows = ShadowMode.ENABLED] - 指定模型是投射还是接收来自光源的阴影。
* @property [clampToGround = false] - 是否贴地
* @property [heightReference = Cesium.HeightReference.NONE] - 指定高度相对于什么的属性。
* @property [incrementallyLoadTextures = true] - 确定模型加载后纹理是否会继续流进来。
* @property [runAnimations = true] - 指定模型中指定的glTF动画是否应该启动。
* @property [clampAnimations = true] - 指定在没有关键帧的情况下,glTF动画是否应该保持最后一个姿势。
* @property [lightColor] - 在为模型着色时指定光的颜色的属性。当undefined场景的浅色被使用代替。
* @property [nodeTransformations] - 一个对象,其中键是节点的名称,值是{@link TranslationRotationScale}属性,描述要应用到该节点的转换。该转换是在节点的现有转换之后(如glTF中指定的那样)应用的,并且不会替换节点的现有转换。
* @property [articulations] - An object, where keys are composed of an articulation name, a single space, and a stage name, and the values are numeric properties.
* @property [clippingPlanes] - 用于裁剪模型的Plane平面集合
* @property [allowPicking = true] - 当true时,每个glTF和Primitive都可以用{@link Cesium.Scene#pick}来拾取。
* @property [asynchronous = true] - 确定模型WebGL资源创建是否将分散在几个帧或块上,直到所有glTF文件加载完成。
* @property [dequantizeInShader = true] - 确定一个{@link https://github.com/google/draco|Draco}编码的模型是否在GPU上被去量化。这减少了编码模型的总内存使用量。
* @property [backFaceCulling = true] - 是否剔除面向背面的几何图形。当为真时,背面剔除是由材料的双面属性决定的;当为false时,禁用背面剔除。如果{@link Model#color}是半透明的,或者{@link Model#silhouette}大于0.0,则背面不会被剔除。
* @property [debugShowBoundingVolume = false] - 仅供调试。查看模型的包围边界球。
* @property [debugWireframe = false] - 仅供调试。查看模型的三角网线框图。
*
* //以下是 以下是 模型动画相关
* @property [startTime] - 场景时间开始播放动画。当undefined时,动画从下一帧开始。
* @property [delay = 0.0] - 从startTime开始播放的延迟,以秒为单位。
* @property [stopTime] - 场景时间停止播放动画。当这是undefined,动画播放它的整个持续时间。
* @property [removeOnStop = false] - 当true时,动画在停止播放后被删除。
* @property [multiplier = 1.0] - 大于1.0的值增加动画播放的速度相对于场景时钟的速度;小于1.0会降低速度。
* @property [reverse = false] - 当true时,动画会反向播放。
* @property [loop = Cesium.ModelAnimationLoop.REPEAT] - 决定动画是否循环以及如何循环。
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
url?: string | Cesium.Resource;
scale?: number;
scaleX?: number;
scaleY?: number;
scaleZ?: number;
heading?: number;
pitch?: number;
roll?: number;
noPitchRoll?: boolean;
minimumPixelSize?: number;
maximumScale?: number;
fill?: boolean;
color?: string | Cesium.Color;
opacity?: number;
colorBlendMode?: Cesium.ColorBlendMode;
colorBlendAmount?: number;
silhouette?: boolean;
silhouetteColor?: string | Cesium.Color;
silhouetteSize?: number;
silhouetteAlpha?: number;
distanceDisplayCondition?: boolean | Cesium.DistanceDisplayCondition;
distanceDisplayCondition_near?: number;
distanceDisplayCondition_far?: number;
distanceDisplayPoint?: PointEntity.StyleOptions | any;
distanceDisplayBillboard?: BillboardEntity.StyleOptions | any;
customShader?: Cesium.CustomShader;
hasShadows?: boolean;
shadows?: Cesium.ShadowMode;
clampToGround?: boolean;
heightReference?: Cesium.HeightReference;
incrementallyLoadTextures?: boolean;
runAnimations?: boolean;
clampAnimations?: boolean;
lightColor?: Cesium.Color;
nodeTransformations?: Cesium.PropertyBag | {
[key: string]: Cesium.TranslationRotationScale;
};
articulations?: Cesium.PropertyBag | {
[key: string]: number;
};
clippingPlanes?: Cesium.ClippingPlaneCollection;
allowPicking?: boolean;
asynchronous?: boolean;
dequantizeInShader?: boolean;
backFaceCulling?: boolean;
debugShowBoundingVolume?: boolean;
debugWireframe?: boolean;
startTime?: Cesium.JulianDate;
delay?: number;
stopTime?: Cesium.JulianDate;
removeOnStop?: boolean;
multiplier?: number;
reverse?: boolean;
loop?: Cesium.ModelAnimationLoop;
setHeight?: number | string;
addHeight?: number | string;
highlight?: ModelPrimitive.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
};
}
/**
* gltf小模型 Primitive图元矢量对象
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param [options.orientation] - 实体方向,仅position是回调属性时有效
* @param [options.modelMatrix] - 将图元(所有几何实例)从模型转换为世界坐标的4x4变换矩阵,可以替代position。
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.frameRate = 1] - 当postion为CallbackProperty时,多少帧获取一次数据。用于控制效率,如果卡顿就把该数值调大一些。
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.maxCacheCount = 50] - 当使用addDynamicPosition设置为动画轨迹位置时,保留的坐标点数量
* @param [options.fixedHeading] - 当使用addDynamicPosition设置为动画轨迹位置时,是否使用固定的heading角度,而不用路线的自动方向角度。
* @param [options.forwardExtrapolationType = Cesium.ExtrapolationType.HOLD] - 当使用addDynamicPosition设置为动画轨迹位置时,在任何可用坐标之后一次请求值时要执行的推断类型,默认为最后一个坐标位置。
* @param [options.backwardExtrapolationType = Cesium.ExtrapolationType.HOLD] - 当使用addDynamicPosition设置为动画轨迹位置时, 在任何可用坐标之前一次请求值时要执行的推断类型,默认为第一个坐标位置。
* @param [options.clampToTileset] - 当使用addDynamicPosition设置为动画轨迹位置时,是否进行贴模型。
* @param [options.frameRateHeight = 30] - 当使用addDynamicPosition设置为动画轨迹位置时,并clampToTileset:true时,多少帧计算一次贴模型高度
* @param [options.objectsToExclude] - 当使用addDynamicPosition设置为动画轨迹位置时,并clampToTileset:true时,排除的不进行贴模型计算的模型对象,可以是: primitives, entities, 或 3D Tiles features
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class ModelPrimitive extends BasePointPrimitive {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[] | Cesium.PositionProperty;
orientation?: Cesium.Property;
modelMatrix?: Cesium.Matrix4;
style: ModelPrimitive.StyleOptions | any;
attr?: any;
frameRate?: number;
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
maxCacheCount?: number;
fixedHeading?: boolean;
forwardExtrapolationType?: Cesium.ExtrapolationType;
backwardExtrapolationType?: Cesium.ExtrapolationType;
clampToTileset?: boolean;
frameRateHeight?: number;
objectsToExclude?: any;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 模型整体的缩放比例
*/
scale: number;
/**
* X轴方向缩放比例
*/
scaleX: number;
/**
* Y轴方向缩放比例
*/
scaleY: number;
/**
* Z轴方向缩放比例
*/
scaleZ: number;
/**
* 获取图层完成解析加载完成的Promise承诺, 等价于load事件(区别在于load事件必须在load完成前绑定才能监听)。
*/
readonly readyPromise: Promise;
/**
* 设置透明度
* @param value - 透明度
* @returns 无
*/
setOpacity(value: number): void;
}
declare namespace Pit {
/**
* 井 支持的样式信息,
* @property image - 井墙面贴图URL
* @property imageBottom - 井底面贴图URL
* @property diffHeight - 井下深度(单位:米)
* @property [splitNum = 50] - 井墙面每两点之间插值个数
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
image: string;
imageBottom: string;
diffHeight: number;
splitNum?: number;
label?: LabelPrimitive.StyleOptions | any;
};
}
/**
* 井 矢量对象
* 用于显示地形开挖后的开挖效果。
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class Pit extends BasePolyPrimitive {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
style: Pit.StyleOptions | any;
attr?: any;
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 井下深度(单位:米)
*/
diffHeight: number;
/**
* 中心点坐标 (笛卡尔坐标)
*/
readonly center: Cesium.Cartesian3;
}
declare namespace PlanePrimitive {
/**
* 平面 支持的样式信息
* @property [dimensions] - 指定平面的宽度和高度。
* @property [dimensions_x = 100] - 长度
* @property [dimensions_y = 100] - 宽度
* @property [plane_normal = "z"] - 方向 ,可选项:x (解释:X轴),y (解释:Y轴),z (解释:Z轴),
* @property [heading = 0] - 方向角 (度数值,0-360度)
* @property [pitch = 0] - 俯仰角(度数值,0-360度)
* @property [roll = 0] - 翻滚角(度数值,0-360度)
* @property [color = "#00FF00"] - 颜色
* @property [opacity = 1.0] - 透明度, 取值范围:0.0-1.0
* @property [materialType = "Color"] - 填充材质类型 ,可选项:{@link MaterialType}
* @property [materialOptions] - materialType对应的{@link MaterialType}中材质参数
* @property [material] - 指定用于填充的材质,指定material后`materialType`和`materialOptions`将被覆盖。
* @property [materialSupport = MaterialAppearance.MaterialSupport.TEXTURED] - 将被支持的材质类型。
* @property [outline = false] - 是否边框
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
*
* //以下是 这是MaterialAppearance的参数
* @property [flat = false] - 当true时,在片段着色器中使用平面着色,不考虑光照。
* @property [faceForward = !closed] - 当true时,片段着色器根据需要翻转表面的法线,以确保法线面向查看器以避免黑点。
* @property [translucent = true] - 当true时,几何图形将显示为半透明,因此{@link Cesium.PerInstanceColorAppearance#renderState}将启用alpha混合。
* @property [closed = false] - 当true时,几何图形将被关闭,因此{@link Cesium.PerInstanceColorAppearance#renderState}启用了背面剔除。
* @property [vertexShaderSource] - 可选的GLSL顶点着色器源,覆盖默认的顶点着色器。
* @property [fragmentShaderSource] - 可选的GLSL片段着色器源覆盖默认的片段着色器。
* @property [renderState] - 可选渲染状态,以覆盖默认渲染状态。
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
dimensions?: Cesium.Cartesian2;
dimensions_x?: number;
dimensions_y?: number;
plane_normal?: string | Cesium.Cartesian3;
heading?: number;
pitch?: number;
roll?: number;
color?: string | Cesium.Color;
opacity?: number;
materialType?: string;
materialOptions?: any;
material?: Cesium.Material;
materialSupport?: Cesium.MaterialAppearance.MaterialSupportType;
outline?: boolean;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
flat?: boolean;
faceForward?: boolean;
translucent?: boolean;
closed?: boolean;
vertexShaderSource?: string;
fragmentShaderSource?: string;
renderState?: any;
highlight?: PlanePrimitive.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
};
}
/**
* 平面 Primitive图元矢量对象
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param [options.modelMatrix] - 将图元(所有几何实例)从模型转换为世界坐标的4x4变换矩阵,可以替代position。
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class PlanePrimitive extends BasePointPrimitive {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
modelMatrix?: Cesium.Matrix4;
style: PlanePrimitive.StyleOptions | any;
attr?: any;
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 用于指定位置的矩阵
*/
readonly modelMatrix: Cesium.Matrix4;
}
declare namespace PointPrimitive {
/**
* 像素点 支持的样式信息
* @property [pixelSize = 10] - 像素大小
* @property [color = "#3388ff"] - 颜色
* @property [opacity = 1.0] - 透明度,取值范围:0.0-1.0
* @property [outline = false] - 是否边框
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
* @property [outlineWidth = 2] - 边框宽度
* @property [scaleByDistance = false] - 是否按视距缩放 或 指定用于基于距离缩放点。
* @property [scaleByDistance_far = 1000000] - 上限
* @property [scaleByDistance_farValue = 0.1] - 比例值
* @property [scaleByDistance_near = 1000] - 下限
* @property [scaleByDistance_nearValue = 1] - 比例值
* @property [distanceDisplayCondition = false] - 是否按视距显示 或 指定此框将显示在与摄像机的多大距离。
* @property [distanceDisplayCondition_far = 10000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [visibleDepth = true] - 是否被遮挡
* @property [disableDepthTestDistance] - 指定从相机到禁用深度测试的距离。
* @property [translucencyByDistance] - 用于基于与相机的距离设置半透明度。
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
pixelSize?: number;
color?: string | Cesium.Color;
opacity?: number;
outline?: boolean;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
outlineWidth?: number;
scaleByDistance?: boolean | Cesium.NearFarScalar;
scaleByDistance_far?: number;
scaleByDistance_farValue?: number;
scaleByDistance_near?: number;
scaleByDistance_nearValue?: number;
distanceDisplayCondition?: boolean | Cesium.DistanceDisplayCondition;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
visibleDepth?: boolean;
disableDepthTestDistance?: number;
translucencyByDistance?: Cesium.NearFarScalar;
setHeight?: number | string;
addHeight?: number | string;
label?: LabelPrimitive.StyleOptions | any;
};
}
/**
* 像素点 Primitive矢量数据
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.frameRate = 1] - 当postion为CallbackProperty时,多少帧获取一次数据。用于控制效率,如果卡顿就把该数值调大一些。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class PointPrimitive extends BasePointPrimitive {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
style: PointPrimitive.StyleOptions | any;
attr?: any;
frameRate?: number;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 当加载primitive数据的内部Cesium容器
*/
readonly primitiveCollection: Cesium.PointPrimitiveCollection;
}
declare namespace PolygonPrimitive {
/**
* 面 Primitive图元 支持的样式信息
* @property [materialType = "Color"] - 填充材质类型 ,可选项:{@link MaterialType}
* @property [materialOptions] - materialType对应的{@link MaterialType}中材质参数
* @property [material] - 指定用于填充的材质,指定material后`materialType`和`materialOptions`将被覆盖。
* @property [color = "#3388ff"] - 颜色
* @property [opacity = 1.0] - 透明度,取值范围:0.0-1.0
* @property [randomColor = false] - 是否随机颜色
* @property [image] - 当为贴图时,贴图的url
* @property [stRotation = 0] - 多边形纹理的角度(弧度值),正北为0,逆时针旋转
* @property [stRotationDegree = 0] - 多边形纹理的角度(度数值,0-360度),与stRotation二选一
* @property [outline = false] - 是否边框
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
* @property [outlineStyle] - 边框的样式,会覆盖outlineColor、outlineOpacity
* @property [height = 0] - 高程,圆相对于椭球面的高度。
* @property [diffHeight = 100] - 高度差(走廊本身的高度),与extrudedHeight二选一。
* @property [extrudedHeight] - 指定走廊挤压面相对于椭球面的高度。
* @property [granularity = Cesium.Math.RADIANS_PER_DEGREE] - 指定每个纬度点和经度点之间的角距离。
* @property [closeTop = true] - 当为false时,离开一个挤压多边形的顶部打开。
* @property [closeBottom = true] - 当为false时,离开挤压多边形的底部打开。
* @property [arcType = Cesium.ArcType.GEODESIC] - 多边形的边缘必须遵循的线条类型。
* @property [hasShadows = false] - 是否阴影
* @property [shadows = Cesium.ShadowMode.DISABLED] - 指定对象是投射还是接收来自光源的阴影。
* @property [clampToGround = false] - 是否贴地
* @property [classificationType = Cesium.ClassificationType.BOTH] - 指定贴地时的覆盖类型,是只对地形、3dtiles 或 两者同时。
* @property [classification = false] - 是否为ClassificationPrimitive ,分类基元 表示Scene要高亮显示的包围几何的体积
*
* //以下是 这是MaterialAppearance的参数
* @property [flat = false] - 当true时,在片段着色器中使用平面着色,不考虑光照。
* @property [faceForward = !closed] - 当true时,片段着色器根据需要翻转表面的法线,以确保法线面向查看器以避免黑点。
* @property [translucent = true] - 当true时,几何图形将显示为半透明,因此{@link Cesium.PerInstanceColorAppearance#renderState}将启用alpha混合。
* @property [closed = false] - 当true时,几何图形将被关闭,因此{@link Cesium.PerInstanceColorAppearance#renderState}启用了背面剔除。
* @property [vertexShaderSource] - 可选的GLSL顶点着色器源,覆盖默认的顶点着色器。
* @property [fragmentShaderSource] - 可选的GLSL片段着色器源覆盖默认的片段着色器。
* @property [renderState] - 可选渲染状态,以覆盖默认渲染状态。
* @property [buffer] - 对坐标进行缓冲扩大buffer指定的半径范围,单位:米。如用于单体化建筑物扩大点方便鼠标拾取。
* @property [setHeight] - 指定坐标高度值,或数组指定每个点的高度(常用于图层中配置)
* @property [addHeight] - 在现有坐标基础上增加的高度值,或数组指定每个点增加的高度(常用于图层中配置)
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示 ,额外支持:
* // * @property {String|LngLatPoint} [label.position] 文字所在位置,默认是矢量对象本身的center属性值。支持配置 'center':围合面的内部中心点坐标,'{xxxx}'配置属性字段, 或者直接指定坐标值。
* // * @property {Boolean} [label.showAll] MultiPolygon和MultiLineString时,是否显示所有注记,默认只在最大坐标数的面或线上显示。
*/
type StyleOptions = any | {
materialType?: string;
materialOptions?: any;
material?: Cesium.Material;
color?: string | Cesium.Color;
opacity?: number;
randomColor?: boolean;
image?: string;
stRotation?: number;
stRotationDegree?: number;
outline?: boolean;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
outlineStyle?: PolylinePrimitive.StyleOptions | any;
height?: number;
diffHeight?: number;
extrudedHeight?: number;
granularity?: number;
closeTop?: boolean;
closeBottom?: boolean;
arcType?: Cesium.ArcType;
hasShadows?: boolean;
shadows?: Cesium.ShadowMode;
clampToGround?: boolean;
classificationType?: Cesium.ClassificationType;
classification?: boolean;
flat?: boolean;
faceForward?: boolean;
translucent?: boolean;
closed?: boolean;
vertexShaderSource?: string;
fragmentShaderSource?: string;
renderState?: any;
buffer?: number;
setHeight?: number | number[];
addHeight?: number | number[];
highlight?: PolygonPrimitive.StyleOptions | any;
label?: LabelPrimitive.StyleOptions | any | any;
};
}
/**
* 面 Primitive图元 矢量对象
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class PolygonPrimitive extends BasePolyPrimitive {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
style: PolygonPrimitive.StyleOptions | any;
attr?: any;
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 周长 距离(单位:米)
*/
readonly distance: number;
/**
* 位置坐标数组 (笛卡尔坐标), 赋值时可以传入LatLngPoint数组对象
*/
positions: Cesium.Cartesian3[];
/**
* 中心点坐标 (笛卡尔坐标)
*/
readonly center: Cesium.Cartesian3;
}
declare namespace PolylinePrimitive {
/**
* 线 Primitive图元 支持的样式信息
* @property [width = 4] - 线宽
* @property [materialType = "Color"] - 填充材质类型 ,可选项:{@link MaterialType}
* @property [materialOptions] - materialType对应的{@link MaterialType}中材质参数
* @property [material] - 指定用于填充的材质,指定material后`materialType`和`materialOptions`将被覆盖。
* @property [color = "#3388ff"] - 颜色
* @property [opacity = 1.0] - 透明度,取值范围:0.0-1.0
* @property [randomColor = false] - 是否随机颜色
* @property [colors] - 定义每顶点或每段颜色 的数组。
* @property [colorsPerVertex = false] - 用于确定颜色在线条的每一段上是平坦的还是在顶点上插值的。
* @property [closure = false] - 是否闭合
* @property [depthFail] - 是否显示遮挡
* @property [depthFailColor] - 遮挡处颜色
* @property [depthFailOpacity] - 遮挡处透明度
* @property [distanceDisplayCondition = false] - 是否按视距显示 或 指定此框将显示在与摄像机的多大距离。
* @property [distanceDisplayCondition_far = 100000] - 最大距离
* @property [distanceDisplayCondition_near = 0] - 最小距离
* @property [arcType = Cesium.ArcType.GEODESIC] - 折线段必须遵循的线的类型。
* @property [granularity = Cesium.Math.RADIANS_PER_DEGREE] - 如果arcType不是arcType.none,则指定每个纬度和经度之间的角距离的数字属性。
* @property [hasShadows = false] - 是否阴影
* @property [shadows = Cesium.ShadowMode.DISABLED] - 指定对象是投射还是接收来自光源的阴影。
* @property [clampToGround = false] - 是否贴地
* @property [classificationType = Cesium.ClassificationType.BOTH] - 指定贴地时的覆盖类型,是只对地形、3dtiles 或 两者同时。
* @property [setHeight] - 指定坐标高度值,或数组指定每个点的高度(常用于图层中配置)
* @property [addHeight] - 在现有坐标基础上增加的高度值,或数组指定每个点增加的高度(常用于图层中配置)
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示 ,额外支持:
* // * @property {String|LngLatPoint} [label.position] 文字所在位置,默认是矢量对象本身的center属性值。支持配置 'center':围合面的内部中心点坐标,'{xxxx}'配置属性字段, 或者直接指定坐标值。
* // * @property {Boolean} [label.showAll] MultiPolygon和MultiLineString时,是否显示所有注记,默认只在最大坐标数的面或线上显示。
*/
type StyleOptions = any | {
width?: number;
materialType?: string;
materialOptions?: any;
material?: Cesium.Material;
color?: string | Cesium.Color;
opacity?: number;
randomColor?: boolean;
colors?: Cesium.Color[];
colorsPerVertex?: boolean;
closure?: boolean;
depthFail?: boolean;
depthFailColor?: string;
depthFailOpacity?: number;
distanceDisplayCondition?: boolean | Cesium.DistanceDisplayCondition;
distanceDisplayCondition_far?: number;
distanceDisplayCondition_near?: number;
arcType?: Cesium.ArcType;
granularity?: number;
hasShadows?: boolean;
shadows?: Cesium.ShadowMode;
clampToGround?: boolean;
classificationType?: Cesium.ClassificationType;
setHeight?: number | number[];
addHeight?: number | number[];
highlight?: PolylinePrimitive.StyleOptions | any;
label?: LabelPrimitive.StyleOptions | any | any;
};
}
/**
* 线 Primitive图元 矢量对象
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class PolylinePrimitive extends BasePolyPrimitive {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
style: PolylinePrimitive.StyleOptions | any;
attr?: any;
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
/**
* 简单线 Primitive图元 矢量对象
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class PolylineSimplePrimitive extends BasePolyPrimitive {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
style: PolylinePrimitive.StyleOptions | any;
attr?: any;
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
declare namespace PolylineVolumePrimitive {
/**
* 管道线 Primitive图元 支持的样式信息
* @property [shape = "pipeline"] - 形状类型 或 定义要挤压的形状。类型可选项:pipeline (解释:空心管),circle (解释:实心管),star (解释:星状管),
* @property [radius = 10] - 半径(单位:米)
* @property [thicknes = radius/3] - 厚度(单位:米),空心管/星状管 的外层厚度
* @property [slices] - 边数,比如为4时是矩形管;星状管代表角的个数;
* @property [startAngle = 0] - 开始角度,取值范围0-360
* @property [endAngle = 360] - 结束角度,取值范围0-360,比如endAngle=180的空心管是拱形半圆管道
* @property [materialType = "Color"] - 填充材质类型 ,可选项:{@link MaterialType}
* @property [materialOptions] - materialType对应的{@link MaterialType}中材质参数
* @property [material] - 指定用于填充的材质,指定material后`materialType`和`materialOptions`将被覆盖。
* @property [color = "#3388ff"] - 颜色
* @property [opacity = 1.0] - 透明度,取值范围:0.0-1.0
* @property [cornerType = CornerType.ROUNDED] - 指定边角的样式。
* @property [granularity = Cesium.Math.RADIANS_PER_DEGREE] - 指定每个纬度点和经度点之间的角距离。
* @property [hasShadows = false] - 是否阴影
* @property [shadows = Cesium.ShadowMode.DISABLED] - 指定对象是投射还是接收来自光源的阴影。
*
* //以下是 这是MaterialAppearance的参数
* @property [flat = false] - 当true时,在片段着色器中使用平面着色,不考虑光照。
* @property [faceForward = !closed] - 当true时,片段着色器根据需要翻转表面的法线,以确保法线面向查看器以避免黑点。
* @property [translucent = true] - 当true时,几何图形将显示为半透明,因此{@link Cesium.PerInstanceColorAppearance#renderState}将启用alpha混合。
* @property [closed = true] - 当true时,几何图形将被关闭,因此{@link Cesium.PerInstanceColorAppearance#renderState}启用了背面剔除。
* @property [vertexShaderSource] - 可选的GLSL顶点着色器源,覆盖默认的顶点着色器。
* @property [fragmentShaderSource] - 可选的GLSL片段着色器源覆盖默认的片段着色器。
* @property [renderState] - 可选渲染状态,以覆盖默认渲染状态。
* @property [setHeight] - 指定坐标高度值,或数组指定每个点的高度(常用于图层中配置)
* @property [addHeight] - 在现有坐标基础上增加的高度值,或数组指定每个点增加的高度(常用于图层中配置)
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
shape?: string | Cesium.Cartesian2[];
radius?: number;
thicknes?: number;
slices?: number;
startAngle?: number;
endAngle?: number;
materialType?: string;
materialOptions?: any;
material?: Cesium.Material;
color?: string | Cesium.Color;
opacity?: number;
cornerType?: Cesium.CornerType;
granularity?: number;
hasShadows?: boolean;
shadows?: Cesium.ShadowMode;
flat?: boolean;
faceForward?: boolean;
translucent?: boolean;
closed?: boolean;
vertexShaderSource?: string;
fragmentShaderSource?: string;
renderState?: any;
setHeight?: number | number[];
addHeight?: number | number[];
label?: LabelPrimitive.StyleOptions | any;
};
}
/**
* 管道线 Primitive图元 矢量对象
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class PolylineVolumePrimitive extends BasePolyPrimitive {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
style: PolylineVolumePrimitive.StyleOptions | any;
attr?: any;
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
declare namespace RectanglePrimitive {
/**
* 矩形 Primitive图元 支持的样式信息
* @property [materialType = "Color"] - 填充材质类型 ,可选项:{@link MaterialType}
* @property [materialOptions] - materialType对应的{@link MaterialType}中材质参数
* @property [material] - 指定用于填充的材质,指定material后`materialType`和`materialOptions`将被覆盖。
* @property [color = "#3388ff"] - 颜色
* @property [opacity = 1.0] - 透明度,取值范围:0.0-1.0
* @property [image] - 当为贴图时,贴图的url
* @property [outline = false] - 是否边框
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
* @property [outlineStyle] - 边框的样式,会覆盖outlineColor、outlineOpacity
* @property [height = 0] - 高程,圆相对于椭球面的高度。
* @property [diffHeight = 100] - 高度差(走廊本身的高度),与extrudedHeight二选一。
* @property [extrudedHeight] - 指定走廊挤压面相对于椭球面的高度。
* @property [rotation = 0] - 旋转角度(弧度值),正北为0,逆时针旋转
* @property [rotationDegree = 0] - 旋转角度(度数值,0-360度),与rotation二选一
* @property [stRotation = 0] - 矩形纹理的角度(弧度值),正北为0,逆时针旋转
* @property [stRotationDegree = 0] - 矩形纹理的角度(度数值,0-360度),与stRotation二选一
* @property [hasShadows = false] - 是否阴影
* @property [shadows = Cesium.ShadowMode.DISABLED] - 指定对象是投射还是接收来自光源的阴影。
* @property [clampToGround = false] - 是否贴地
* @property [classificationType = Cesium.ClassificationType.BOTH] - 指定贴地时的覆盖类型,是只对地形、3dtiles 或 两者同时。
* @property [classification = false] - 是否为ClassificationPrimitive ,分类基元 表示Scene要高亮显示的包围几何的体积
* @property [setHeight] - 指定坐标高度值(常用于图层中配置),也支持字符串模版配置
* @property [addHeight] - 在现有坐标基础上增加的高度值(常用于图层中配置),也支持字符串模版配置
* @property [label] - 支持附带文字的显示
*/
type StyleOptions = any | {
materialType?: string;
materialOptions?: any;
material?: Cesium.Material;
color?: string | Cesium.Color;
opacity?: number;
image?: string;
outline?: boolean;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
outlineStyle?: PolylinePrimitive.StyleOptions | any;
height?: number;
diffHeight?: number;
extrudedHeight?: number;
rotation?: number;
rotationDegree?: number;
stRotation?: number;
stRotationDegree?: number;
hasShadows?: boolean;
shadows?: Cesium.ShadowMode;
clampToGround?: boolean;
classificationType?: Cesium.ClassificationType;
classification?: boolean;
setHeight?: number | string;
addHeight?: number | string;
label?: LabelPrimitive.StyleOptions | any;
};
}
/**
* 矩形 Primitive图元 矢量对象
* @param options - 参数对象,包括以下:
* @param [options.positions] - 坐标位置
* @param [options.rectangle] - 矩形范围,与positions二选一。
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class RectanglePrimitive extends BasePolyPrimitive {
constructor(options: {
positions?: LngLatPoint[] | Cesium.Cartesian3[] | any[];
rectangle?: Cesium.Rectangle | Cesium.PositionProperty;
style: RectanglePrimitive.StyleOptions | any;
attr?: any;
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 坐标数据对应的矩形边界对象
*/
rectangle: Cesium.Rectangle;
/**
* 周长 距离(单位:米)
*/
readonly distance: number;
/**
* 获取数据的矩形边界
* @param [options] - 控制参数
* @param [options.isFormat = false] - 是否格式化,格式化时示例: { xmin: 73.16895, xmax: 134.86816, ymin: 12.2023, ymax: 54.11485 }
* @returns isFormat:true时,返回格式化对象,isFormat:false时返回Cesium.Rectangle对象
*/
getRectangle(options?: {
isFormat?: boolean;
}): Cesium.Rectangle | any;
/**
* 判断点是否在矩形内
* @param position - 需要判断的点
* @returns 是否在矩形内
*/
isInPoly(position: Cesium.Cartesian3 | LngLatPoint): boolean;
/**
* 中心点坐标 (笛卡尔坐标)
*/
readonly center: Cesium.Cartesian3;
/**
* 面积(单位:平方米)
*/
readonly area: number;
}
declare namespace Road {
/**
* 道路 支持的样式信息
* @property image - 图片材质URL
* @property [width = 20] - 道路 宽度。(单位:米)
* @property [height = 0] - 道路 高度,相对于椭球面的高度。(单位:米)
* @property [axisY = true] - 是否uv交换(图片横竖切换)
*/
type StyleOptions = any | {
image: string;
width?: number;
height?: number;
axisY?: boolean;
};
}
/**
* 道路 矢量对象
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class Road extends DynamicRiver {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
style: Road.StyleOptions | any;
attr?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
declare namespace ScrollWall {
/**
* 走马灯围墙效果 支持的样式信息
* @property [diffHeight = 100] - 墙高
* @property [color = "#3388ff"] - 颜色
* @property [opacity = 1.0] - 透明度,取值范围:0.0-1.0
* @property [speed = 10] - 速度,值越大越快
* @property [reverse = false] - 方向:true往上、false往下
* @property [style = 1] - 样式,可选值:1、2
* @property [shadows = Cesium.ShadowMode.DISABLED] - 指定对象是投射还是接收来自光源的阴影。
*/
type StyleOptions = any | {
diffHeight?: number;
color?: string | Cesium.Color;
opacity?: number;
speed?: number;
reverse?: boolean;
style?: number;
shadows?: Cesium.ShadowMode;
};
}
/**
* 走马灯围墙效果 矢量对象
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class ScrollWall extends BasePolyPrimitive {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
style: ScrollWall.StyleOptions | any;
attr?: any;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
/**
* 矢量数据对应的 Cesium内部对象 (不同子类中实现)
*/
readonly czmObject: Cesium.Entity | Cesium.Primitive | Cesium.GroundPrimitive | Cesium.ClassificationPrimitive | any;
}
declare namespace WallPrimitive {
/**
* 墙 Primitive图元 支持的样式信息
* @property [diffHeight = 100] - 墙高
* @property [materialType = "Color"] - 填充材质类型 ,可选项:{@link MaterialType}
* @property [materialOptions] - materialType对应的{@link MaterialType}中材质参数
* @property [material] - 指定用于填充的材质,指定material后`materialType`和`materialOptions`将被覆盖。
* @property [color = "#3388ff"] - 颜色
* @property [opacity = 1.0] - 透明度,取值范围:0.0-1.0
* @property [closure = false] - 是否闭合
* @property [outline = false] - 是否边框
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
* @property [hasShadows = false] - 是否阴影
* @property [shadows = Cesium.ShadowMode.DISABLED] - 指定折线是投射还是接收来自光源的阴影。
*
* //以下是 这是MaterialAppearance的参数
* @property [flat = false] - 当true时,在片段着色器中使用平面着色,不考虑光照。
* @property [faceForward = !closed] - 当true时,片段着色器根据需要翻转表面的法线,以确保法线面向查看器以避免黑点。
* @property [translucent = true] - 当true时,几何图形将显示为半透明,因此{@link Cesium.PerInstanceColorAppearance#renderState}将启用alpha混合。
* @property [closed = false] - 当true时,几何图形将被关闭,因此{@link Cesium.PerInstanceColorAppearance#renderState}启用了背面剔除。
* @property [vertexShaderSource] - 可选的GLSL顶点着色器源,覆盖默认的顶点着色器。
* @property [fragmentShaderSource] - 可选的GLSL片段着色器源覆盖默认的片段着色器。
* @property [renderState] - 可选渲染状态,以覆盖默认渲染状态。
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示 ,额外支持:
* // * @property {String|LngLatPoint} [label.position] 文字所在位置,默认是矢量对象本身的center属性值。支持配置 'center':围合面的内部中心点坐标,'{xxxx}'配置属性字段, 或者直接指定坐标值。
* // * @property {Boolean} [label.showAll] MultiPolygon和MultiLineString时,是否显示所有注记,默认只在最大坐标数的面或线上显示。
*/
type StyleOptions = any | {
diffHeight?: number;
materialType?: string;
materialOptions?: any;
material?: Cesium.Material;
color?: string | Cesium.Color;
opacity?: number;
closure?: boolean;
outline?: boolean;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
hasShadows?: boolean;
shadows?: Cesium.ShadowMode;
flat?: boolean;
faceForward?: boolean;
translucent?: boolean;
closed?: boolean;
vertexShaderSource?: string;
fragmentShaderSource?: string;
renderState?: any;
highlight?: WallPrimitive.StyleOptions | any;
label?: LabelPrimitive.StyleOptions | any | any;
};
}
/**
* 墙 Primitive图元 矢量对象
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.appearance] - [cesium原生]用于渲染图元的外观。
* @param [options.attributes] - [cesium原生]每个实例的属性。
* @param [options.depthFailAppearance] - 当深度测试失败时,用于为该图元着色的外观。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class WallPrimitive extends BasePolyPrimitive {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
style: WallPrimitive.StyleOptions | any;
attr?: any;
appearance?: Cesium.Appearance;
attributes?: Cesium.Appearance;
depthFailAppearance?: Cesium.Appearance;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
declare namespace Water {
/**
* 水面 Primitive图元 支持的样式信息
* @property [baseWaterColor = "#123e59"] - 基础颜色
* @property [blendColor = "#123e59"] - 从水中混合到非水域时使用的rgba颜色对象。
* @property [specularMap] - 单一通道纹理用来指示水域的面积。
* @property [normalMap] - 水正常扰动的法线图。
* @property [frequency = 8000] - 控制波数的数字。
* @property [animationSpeed = 0.03] - 控制水的动画速度的数字。
* @property [amplitude = 5.0] - 控制水波振幅的数字。
* @property [specularIntensity = 0.8] - 控制镜面反射强度的数字。
* @property [fadeFactor = 1.0] - fadeFactor
* @property [opacity = 0.8] - 透明度,取值范围:0.0-1.0
* @property [clampToGround = false] - 是否贴地
* @property [stRotation = 0] - 多边形纹理的角度(弧度值),正北为0,逆时针旋转
* @property [stRotationDegree = 0] - 多边形纹理的角度(度数值,0-360度),与stRotation二选一
* @property [outline = false] - 是否边框
* @property [outlineColor = "#ffffff"] - 边框颜色
* @property [outlineOpacity = 0.6] - 边框透明度
* @property [height = 0] - 高程,圆相对于椭球面的高度。
* @property [diffHeight = 100] - 高度差(走廊本身的高度),与extrudedHeight二选一。
* @property [extrudedHeight] - 指定走廊挤压面相对于椭球面的高度。
* @property [granularity = Cesium.Math.RADIANS_PER_DEGREE] - 指定每个纬度点和经度点之间的角距离。
* @property [closeTop = true] - 当为false时,离开一个挤压多边形的顶部打开。
* @property [closeBottom = true] - 当为false时,离开挤压多边形的底部打开。
* @property [arcType = Cesium.ArcType.GEODESIC] - 多边形的边缘必须遵循的线条类型。
* @property [hasShadows = false] - 是否阴影
* @property [shadows = Cesium.ShadowMode.DISABLED] - 指定对象是投射还是接收来自光源的阴影。
* @property [classificationType = Cesium.ClassificationType.BOTH] - 指定贴地时的覆盖类型,是只对地形、3dtiles 或 两者同时。
*
*
* //以下是 这是MaterialAppearance的参数
* @property [flat = false] - 当true时,在片段着色器中使用平面着色,不考虑光照。
* @property [faceForward = !closed] - 当true时,片段着色器根据需要翻转表面的法线,以确保法线面向查看器以避免黑点。
* @property [translucent = true] - 当true时,几何图形将显示为半透明,因此{@link Cesium.PerInstanceColorAppearance#renderState}将启用alpha混合。
* @property [closed = false] - 当true时,几何图形将被关闭,因此{@link Cesium.PerInstanceColorAppearance#renderState}启用了背面剔除。
* @property [vertexShaderSource] - 可选的GLSL顶点着色器源,覆盖默认的顶点着色器。
* @property [fragmentShaderSource] - 可选的GLSL片段着色器源覆盖默认的片段着色器。
* @property [renderState] - 可选渲染状态,以覆盖默认渲染状态。
* @property [setHeight] - 指定坐标高度值,或数组指定每个点的高度(常用于图层中配置)
* @property [addHeight] - 在现有坐标基础上增加的高度值,或数组指定每个点增加的高度(常用于图层中配置)
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示 ,额外支持:
* // * @property {String|LngLatPoint} [label.position] 文字所在位置,默认是矢量对象本身的center属性值。支持配置 'center':围合面的内部中心点坐标,'{xxxx}'配置属性字段, 或者直接指定坐标值。
* // * @property {Boolean} [label.showAll] MultiPolygon和MultiLineString时,是否显示所有注记,默认只在最大坐标数的面或线上显示。
*/
type StyleOptions = any | {
baseWaterColor?: string;
blendColor?: string;
specularMap?: string;
normalMap?: string;
frequency?: number;
animationSpeed?: number;
amplitude?: number;
specularIntensity?: number;
fadeFactor?: number;
opacity?: number;
clampToGround?: boolean;
stRotation?: number;
stRotationDegree?: number;
outline?: boolean;
outlineColor?: string | Cesium.Color;
outlineOpacity?: number;
height?: number;
diffHeight?: number;
extrudedHeight?: number;
granularity?: number;
closeTop?: boolean;
closeBottom?: boolean;
arcType?: Cesium.ArcType;
hasShadows?: boolean;
shadows?: Cesium.ShadowMode;
classificationType?: Cesium.ClassificationType;
flat?: boolean;
faceForward?: boolean;
translucent?: boolean;
closed?: boolean;
vertexShaderSource?: string;
fragmentShaderSource?: string;
renderState?: any;
setHeight?: number | number[];
addHeight?: number | number[];
highlight?: PolygonPrimitive.StyleOptions | any;
label?: LabelPrimitive.StyleOptions | any | any;
};
}
/**
* 水域面 Primitive图元 矢量对象
* @param options - 参数对象,包括以下:
* @param options.positions - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.vertexCacheOptimize = false] - 当true,几何顶点优化前和后顶点着色缓存。
* @param [options.interleave = false] - 当true时,几何顶点属性被交叉,这可以略微提高渲染性能,但会增加加载时间。
* @param [options.compressVertices = true] - 当true时,几何顶点被压缩,这将节省内存。提升效率。
* @param [options.releaseGeometryInstances = true] - 当true时,图元不保留对输入geometryInstances的引用以节省内存。
* @param [options.allowPicking = true] - 当true时,每个几何图形实例只能通过{@link Scene#pick}进行挑选。当false时,保存GPU内存。
* @param [options.cull = true] - 当true时,渲染器会根据图元的边界体积来剔除它们的截锥和地平线。设置为false,如果你手动剔除图元,可以获得较小的性能提升。
* @param [options.asynchronous = true] - 确定该图元是异步创建还是阻塞创建,直到就绪。
* @param [options.debugShowBoundingVolume = false] - 仅供调试。确定该图元命令的边界球是否显示。
* @param [options.debugShowShadowVolume = false] - 仅供调试。贴地时,确定是否绘制了图元中每个几何图形的阴影体积。必须是true创建卷之前要释放几何图形或选项。releaseGeometryInstance必须是false。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.contextmenuItems] - 当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
*/
declare class Water extends PolygonPrimitive {
constructor(options: {
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
style: Water.StyleOptions | any;
attr?: any;
vertexCacheOptimize?: boolean;
interleave?: boolean;
compressVertices?: boolean;
releaseGeometryInstances?: boolean;
allowPicking?: boolean;
cull?: boolean;
asynchronous?: boolean;
debugShowBoundingVolume?: boolean;
debugShowShadowVolume?: boolean;
popup?: string | any[] | ((...params: any[]) => any);
popupOptions?: Popup.StyleOptions | any;
tooltip?: string | any[] | ((...params: any[]) => any);
tooltipOptions?: Tooltip.StyleOptions | any;
contextmenuItems?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
allowDrillPick?: boolean | ((...params: any[]) => any);
});
}
declare namespace BaseGraphicLayer {
/**
* 图层类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* layer.on(mars3d.EventType.click, function (event) {
* console.log('单击了矢量数据对象', event)
* })
* @property add - 添加对象
* @property remove - 移除对象
* @property show - 显示了对象
* @property hide - 隐藏了对象
* @property click - 左键单击 鼠标事件
* @property rightClick - 右键单击 鼠标事件
* @property mouseOver - 鼠标移入 鼠标事件
* @property mouseOut - 鼠标移出 鼠标事件
* @property popupOpen - popup弹窗打开后
* @property popupClose - popup弹窗关闭
* @property tooltipOpen - tooltip弹窗打开后
* @property tooltipClose - tooltip弹窗关闭
*/
type EventType = {
add: string;
remove: string;
show: string;
hide: string;
click: string;
rightClick: string;
mouseOver: string;
mouseOut: string;
popupOpen: string;
popupClose: string;
tooltipOpen: string;
tooltipClose: string;
};
}
/**
* 矢量数据图层 Base基类
* @param [options] - 参数对象,包括以下:
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定,支持:'all'、数组、字符串模板
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数,还包括:
* @param [options.popupOptions.title] - 固定的标题名称
* @param [options.popupOptions.titleField] - 标题对应的属性字段名称
* @param [options.popupOptions.noTitle] - 不显示标题
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑定,参数与popup属性完全相同。
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数,还包括:
* @param [options.tooltipOptions.title] - 固定的标题名称
* @param [options.tooltipOptions.titleField] - 标题对应的属性字段名称
* @param [options.tooltipOptions.noTitle] - 不显示标题
* @param [options.contextmenuItems] - 绑定的右键菜单值,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.extent] - 图层自定义定位的矩形区域,与center二选一即可。 {@link Map#flyToExtent}
* @param options.extent.xmin - 最小经度值, -180 至 180
* @param options.extent.xmax - 最大经度值, -180 至 180
* @param options.extent.ymin - 最小纬度值, -90 至 90
* @param options.extent.ymax - 最大纬度值, -90 至 90
* @param [options.extent.height = 0] - 矩形高度值
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class BaseGraphicLayer extends BaseLayer {
constructor(options?: {
popup?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any);
popupOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
tooltip?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any) | any;
tooltipOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
contextmenuItems?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
extent?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
height?: number;
};
flyTo?: boolean;
});
/**
* 绑定鼠标移入或单击后的 对象高亮
* @param [options] - 参数:
* @param [options.type = 'mouseOver'] - 事件类型,默认为鼠标移入高亮,也可以指定'click'单击高亮。
* @param [options.多个参数] - 高亮的样式,具体见各{@link GraphicType}矢量数据的style参数。
* @returns 无
*/
bindHighlight(options?: {
type?: string;
多个参数?: string;
}): void;
/**
* 解绑鼠标移入或单击后的高亮处理
* @returns 无
*/
unbindHighlight(): void;
/**
* 是否存在Popup绑定,判断图层及内部所有矢量数据
* @returns 是否存在Popup绑定
*/
hasPopup(): boolean;
/**
* 绑定鼠标单击对象后的弹窗。
* @param content - 弹窗内容html字符串,或者回调方法。
* @param [options] - 控制参数
* @returns 当前对象本身,可以链式调用
*/
bindPopup(content: string | ((...params: any[]) => any), options?: Popup.StyleOptions | any): BaseGraphicLayer;
/**
* 解除绑定的鼠标单击对象后的弹窗。
* @param [bubbling = false] - 单击事件中是否继续冒泡查找
* @returns 当前对象本身,可以链式调用
*/
unbindPopup(bubbling?: boolean): BaseGraphicLayer;
/**
* 打开绑定的弹窗
* @param position - 矢量对象 或 显示的位置
* @returns 当前对象本身,可以链式调用
*/
openPopup(position: BaseGraphic | LngLatPoint | Cesium.Cartesian3): BaseGraphicLayer;
/**
* 关闭弹窗
* @returns 当前对象本身,可以链式调用
*/
closePopup(): BaseGraphicLayer;
/**
* 是否绑定了tooltip
* @returns 是否绑定
*/
hasTooltip(): boolean;
/**
* 绑定鼠标移入的弹窗
* @param content - 弹窗内容html字符串,或者回调方法。
* @param [options] - 控制参数
* @returns 当前对象本身,可以链式调用
*/
bindTooltip(content: string | ((...params: any[]) => any), options?: Tooltip.StyleOptions | any): BaseGraphicLayer;
/**
* 解除绑定的鼠标移入对象后的弹窗。
* @param [bubbling = false] - 单击事件中是否继续冒泡查找
* @returns 当前对象本身,可以链式调用
*/
unbindTooltip(bubbling?: boolean): BaseGraphicLayer;
/**
* 打开绑定的tooltip弹窗
* @param position - graphic矢量对象 或 显示的位置
* @returns 当前对象本身,可以链式调用
*/
openTooltip(position: BaseGraphic | LngLatPoint | Cesium.Cartesian3): BaseGraphicLayer;
/**
* 关闭弹窗
* @returns 当前对象本身,可以链式调用
*/
closeTooltip(): BaseGraphicLayer;
/**
* 是否有绑定的右键菜单
* @returns 当前对象本身,可以链式调用
*/
hasContextMenu(): BaseGraphicLayer;
/**
* 获取绑定的右键菜单数组
* @returns 右键菜单数组
*/
getContextMenu(): any;
/**
* 绑定右键菜单
* @example
* //在layer上绑定右键菜单
* graphicLayer.bindContextMenu([
* {
* text: '删除对象',
* icon: 'fa fa-trash-o',
* callback: function (e) {
* let graphic = e.graphic
* if (graphic) {
* graphicLayer.removeGraphic(graphic)
* }
* },
* },
* {
* text: '计算长度',
* icon: 'fa fa-medium',
* show: function (e) {
* let graphic = e.graphic
* return graphic.type === 'polyline'
* },
* callback: function (e) {
* let graphic = e.graphic
* let strDis = mars3d.MeasureUtil.formatDistance(graphic.distance)
* alert('该对象的长度为:' + strDis)
* },
* },
* ])
* @param content - 右键菜单配置数组,数组中每一项包括:
* @param [content.text] - 菜单文字
* @param [content.icon] - 图标,可以是:图片url路径、base64字符串、svg字符串、字体图标class名
* @param [content.show] - 菜单项是否显示的回调方法
* @param [content.callback] - 菜单项单击后的回调方法
* @param [content.children] - 当有二级子菜单时,配置数组。
* @param [options = {}] - 控制参数
* @param [options.offsetX] - 用于非规则对象时,横向偏移的px像素值
* @param [options.offsetY] - 用于非规则对象时,垂直方向偏移的px像素值
* @returns 当前对象本身,可以链式调用
*/
bindContextMenu(content: {
text?: string;
icon?: string;
show?: ((...params: any[]) => any) | boolean;
callback?: (...params: any[]) => any;
children?: any;
}[], options?: {
offsetX?: number;
offsetY?: number;
}): BaseGraphicLayer;
/**
* 解除绑定的右键菜单
* @param [bubbling = false] - 单击事件中是否继续冒泡查找
* @returns 当前对象本身,可以链式调用
*/
unbindContextMenu(bubbling?: boolean): BaseGraphicLayer;
/**
* 打开右键菜单
* @param position - 矢量对象 或 显示的位置
* @returns 当前对象本身,可以链式调用
*/
openContextMenu(position: BaseGraphic | Cesium.Cartesian3): BaseGraphicLayer;
/**
* 关闭右键菜单
* @returns 当前对象本身,可以链式调用
*/
closeContextMenu(): BaseGraphicLayer;
/**
* 显示小提示窗,一般用于鼠标操作的提示。
* @param position - 显示的屏幕坐标位置 或 笛卡尔坐标位置
* @param message - 显示的内容
* @returns 当前对象本身,可以链式调用
*/
openSmallTooltip(position: Cesium.Cartesian2 | Cesium.Cartesian3, message: any): BaseGraphicLayer;
/**
* 关闭小提示窗
* @returns 当前对象本身,可以链式调用
*/
closeSmallTooltip(): BaseGraphicLayer;
}
/**
* 图层对象 的基类
* @param [options] - 参数对象,包括以下:
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid] - 图层父级的id,一般图层管理中使用
* @param [options.name] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.extent] - 图层自定义定位的矩形区域,与center二选一即可。 {@link Map#flyToExtent}
* @param options.extent.xmin - 最小经度值, -180 至 180
* @param options.extent.xmax - 最大经度值, -180 至 180
* @param options.extent.ymin - 最小纬度值, -90 至 90
* @param options.extent.ymax - 最大纬度值, -90 至 90
* @param [options.extent.height = 0] - 矩形高度值
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
*/
declare class BaseLayer extends BaseClass {
constructor(options?: {
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
extent?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
height?: number;
};
flyTo?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 对象的id标识
*/
id: string | number;
/**
* 名称 标识
*/
name: string;
/**
* 对象的pid标识
*/
pid: string | number;
/**
* 图层类型
*/
readonly type: string;
/**
* 当前对象的状态
*/
readonly state: State;
/**
* 是否已添加到地图
*/
readonly isAdded: boolean;
/**
* 是否已经销毁了
*/
readonly isDestroy: boolean;
/**
* 是否Mars3D内部的私有对象,如标绘拖拽点等
*/
readonly isPrivate: boolean;
/**
* 获取图层完成解析加载完成的Promise承诺, 等价于load事件(区别在于load事件必须在load完成前绑定才能监听)。
* @example
* tiles3dLayer.readyPromise.then(function(layer) {
* console.log("load完成", layer)
* })
*/
readonly readyPromise: Promise;
/**
* 显示隐藏状态
*/
show: boolean;
/**
* 是否可以调整透明度
*/
readonly hasOpacity: boolean;
/**
* 透明度,取值范围:0.0-1.0
*/
opacity: number;
/**
* 添加到地图上,同 map.addThing
* @param map - 地图对象
* @returns 当前对象本身,可以链式调用
*/
addTo(map: Map): BaseLayer;
/**
* 从地图上移除,同map.removeThing
* @param [destroy] - 是否调用destroy释放
* @returns 无
*/
remove(destroy?: boolean): void;
/**
* 对象添加到地图前创建一些对象的钩子方法,
* 只会调用一次
* @returns 无
*/
_mountedHook(): void;
/**
* 对象添加到地图上的创建钩子方法,
* 每次add时都会调用
* @returns 无
*/
_addedHook(): void;
/**
* 对象从地图上移除的创建钩子方法,
* 每次remove时都会调用
* @returns 无
*/
_removedHook(): void;
/**
* 飞行定位至图层数据所在的视角
* @param [options = {}] - 参数对象:
* @param [options.radius] - 点状数据时,相机距离目标点的距离(单位:米)
* @param [options.scale = 1.2] - 线面数据时,缩放比例,可以控制视角比矩形略大一些,这样效果更友好。
* @param [options.duration] - 飞行时间(单位:秒)。如果省略,SDK内部会根据飞行距离计算出理想的飞行时间。
* @param [options.complete] - 飞行完成后要执行的函数。
* @param [options.cancel] - 飞行取消时要执行的函数。
* @param [options.endTransform] - 变换矩阵表示飞行结束时相机所处的参照系。
* @param [options.maximumHeight] - 飞行高峰时的最大高度。
* @param [options.pitchAdjustHeight] - 如果相机飞得比这个值高,在飞行过程中调整俯仰以向下看,并保持地球在视口。
* @param [options.flyOverLongitude] - 地球上的两点之间总有两条路。这个选项迫使相机选择战斗方向飞过那个经度。
* @param [options.flyOverLongitudeWeight] - 仅在通过flyOverLongitude指定的lon上空飞行,只要该方式的时间不超过flyOverLongitudeWeight的短途时间。
* @param [options.convert = true] - 是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。
* @param [options.easingFunction] - 控制在飞行过程中如何插值时间。
* @returns 如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise
*/
flyTo(options?: {
radius?: number;
scale?: number;
duration?: number;
complete?: Cesium.Camera.FlightCompleteCallback;
cancel?: Cesium.Camera.FlightCancelledCallback;
endTransform?: Cesium.Matrix4;
maximumHeight?: number;
pitchAdjustHeight?: number;
flyOverLongitude?: number;
flyOverLongitudeWeight?: number;
convert?: boolean;
easingFunction?: Cesium.EasingFunction.Callback;
}): Promise;
/**
* 更新图层参数
* @param options - 与类的构造方法参数相同
* @returns 当前对象本身,可以链式调用
*/
setOptions(options: any): BaseLayer;
/**
* 将图层转为Json简单对象,用于存储后再传参加载
* @returns Json简单对象
*/
toJSON(): any;
/**
* 当前类的构造参数
*/
readonly options: any;
/**
* 销毁当前对象
* @param [noDel = false] - false:会自动delete释放所有属性,true:不delete绑定的变量
* @returns 无
*/
destroy(noDel?: boolean): void;
/**
* 触发指定类型的事件。
* @param type - 事件类型
* @param [data] - 传输的数据或对象,可在事件回调方法中event对象中获取进行使用
* @param [propagate] - 将事件传播给父类 (用addEventParent设置)
* @returns 当前对象本身,可以链式调用
*/
fire(type: EventType | string, data?: any, propagate?: BaseClass): BaseClass;
}
declare namespace CzmGeoJsonLayer {
/**
* 当前类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* layer.on(mars3d.EventType.load, function (event) {
* console.log('矢量数据对象加载完成', event)
* })
* @property add - 添加对象
* @property remove - 移除对象
* @property show - 显示了对象
* @property hide - 隐藏了对象
* @property click - 左键单击 鼠标事件
* @property rightClick - 右键单击 鼠标事件
* @property mouseOver - 鼠标移入 鼠标事件
* @property mouseOut - 鼠标移出 鼠标事件
* @property popupOpen - popup弹窗打开后
* @property popupClose - popup弹窗关闭
* @property tooltipOpen - tooltip弹窗打开后
* @property tooltipClose - tooltip弹窗关闭
* @property load - 完成加载,执行所有内部处理后
* @property addGraphic - 添加矢量数据时
*/
type EventType = {
add: string;
remove: string;
show: string;
hide: string;
click: string;
rightClick: string;
mouseOver: string;
mouseOut: string;
popupOpen: string;
popupClose: string;
tooltipOpen: string;
tooltipClose: string;
load: string;
addGraphic: string;
};
}
/**
* GeoJSON数据图层(ceisum原生),该类中矢量数据是使用ceisum原生方法加载的entity对象。
* @param [options] - 参数对象,包括以下:
* @param [options.url] - geojson文件或服务url地址
* @param [options.data] - geojson格式规范数据对象,与url二选一即可。
* @param [options.format] - 可以对加载的geojson数据进行格式化或转换操作
* @param [options.zIndex] - 控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效)。
* @param [options.opacity = 1] - 透明度,取值范围:0.0-1.0
* @param [options.symbol] - 矢量数据的style样式
* @param options.symbol.styleOptions - 数据的Style样式
* @param [options.symbol.styleField] - 按 styleField 属性设置不同样式。
* @param [options.symbol.styleFieldOptions] - 按styleField值与对应style样式的键值对象。
* @param [options.symbol.callback] - 自定义判断处理返回style ,示例:callback: function (attr, entity, styleOpt){ return { color: "#ff0000" }; }
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定,支持:'all'、数组、字符串模板
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数,还包括:
* @param [options.popupOptions.title] - 固定的标题名称
* @param [options.popupOptions.titleField] - 标题对应的属性字段名称
* @param [options.popupOptions.noTitle] - 不显示标题
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑定,参数与popup属性完全相同。
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数,还包括:
* @param [options.tooltipOptions.title] - 固定的标题名称
* @param [options.tooltipOptions.titleField] - 标题对应的属性字段名称
* @param [options.tooltipOptions.noTitle] - 不显示标题
* @param [options.contextmenuItems] - 绑定的右键菜单值,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.extent] - 图层自定义定位的矩形区域,与center二选一即可。 {@link Map#flyToExtent}
* @param options.extent.xmin - 最小经度值, -180 至 180
* @param options.extent.xmax - 最大经度值, -180 至 180
* @param options.extent.ymin - 最小纬度值, -90 至 90
* @param options.extent.ymax - 最大纬度值, -90 至 90
* @param [options.extent.height = 0] - 矩形高度值
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class CzmGeoJsonLayer extends BaseGraphicLayer {
constructor(options?: {
url?: string;
data?: any;
format?: (...params: any[]) => any;
zIndex?: number;
opacity?: number;
symbol?: {
styleOptions: BillboardEntity.StyleOptions | any | PolylineEntity.StyleOptions | any | PolygonEntity.StyleOptions | any | any;
styleField?: string;
styleFieldOptions?: any;
callback?: (...params: any[]) => any;
};
popup?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any);
popupOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
tooltip?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any) | any;
tooltipOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
contextmenuItems?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
extent?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
height?: number;
};
flyTo?: boolean;
});
/**
* GeoJsonDataSource 对象
*/
readonly layer: Cesium.GeoJsonDataSource;
/**
* Entity矢量数据 集合
*/
readonly entities: Cesium.EntityCollection;
/**
* 当存在 文字primitive 数据的内部Cesium容器
*/
readonly labelCollection: Cesium.LabelCollection;
/**
* 是否可以调整图层顺序(在同类型图层间)
*/
readonly hasZIndex: boolean;
/**
* 图层顺序,数字大的在上面。(当hasZIndex为true时)
*/
zIndex: number;
/**
* 是否贴地
*/
readonly clampToGround: boolean;
/**
* 加载新数据 或 刷新数据
* @param [newOptions = {}] - 新设定的参数,会与类的构造参数合并。
* @param [newOptions.url] - geojson文件或服务url地址
* @param [newOptions.data] - geojson格式规范数据对象,与url二选一即可。
* @param [newOptions.类参数] - 包含当前类支持的所有参数
* @returns 当前对象本身,可以链式调用
*/
load(newOptions?: {
url?: string;
data?: any;
类参数?: any;
}): CzmGeoJsonLayer;
/**
* 加载新数据 或 刷新数据
* @param symbol - 设置新的symbol 矢量数据样式. {@link GraphicType}
* @param symbol.styleOptions - Style样式,每种不同类型数据都有不同的样式,具体见各矢量数据的style参数。{@link GraphicType}
* @param [symbol.styleField] - 按 styleField 属性设置不同样式。
* @param [symbol.styleFieldOptions] - 按styleField值与对应style样式的键值对象。
* @returns 当前对象本身,可以链式调用
*/
updateStyle(symbol: {
styleOptions: any;
styleField?: string;
styleFieldOptions?: any;
}): CzmGeoJsonLayer;
/**
* 添加label文本注记
* @param position - 坐标位置
* @param labelattr - label文本的属性
* @param attr - 属性信息
* @returns label文本对象
*/
lblAddFun(position: Cesium.Cartesian3 | Cesium.SampledPositionProperty | any, labelattr: any, attr: any): Cesium.Label;
/**
* 设置透明度
* @param value - 透明度
* @returns 无
*/
setOpacity(value: number): void;
/**
* 获取Entity矢量对象上绑定的 数据
* @param entity - Entity矢量对象
* @returns 数据
*/
getEntityAttr(entity: Cesium.Entity): any;
/**
* 清除所有数据
* @returns 当前对象本身,可以链式调用
*/
clear(): CzmGeoJsonLayer;
/**
* 飞行定位至图层数据所在的视角
* @param [options = {}] - 参数对象:
* @param [options.radius] - 点状数据时,相机距离目标点的距离(单位:米)
* @param [options.scale = 1.2] - 线面数据时,缩放比例,可以控制视角比矩形略大一些,这样效果更友好。
* @param [options.duration] - 飞行时间(单位:秒)。如果省略,SDK内部会根据飞行距离计算出理想的飞行时间。
* @param [options.complete] - 飞行完成后要执行的函数。
* @param [options.cancel] - 飞行取消时要执行的函数。
* @param [options.endTransform] - 变换矩阵表示飞行结束时相机所处的参照系。
* @param [options.maximumHeight] - 飞行高峰时的最大高度。
* @param [options.pitchAdjustHeight] - 如果相机飞得比这个值高,在飞行过程中调整俯仰以向下看,并保持地球在视口。
* @param [options.flyOverLongitude] - 地球上的两点之间总有两条路。这个选项迫使相机选择战斗方向飞过那个经度。
* @param [options.flyOverLongitudeWeight] - 仅在通过flyOverLongitude指定的lon上空飞行,只要该方式的时间不超过flyOverLongitudeWeight的短途时间。
* @param [options.convert = true] - 是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。
* @param [options.easingFunction] - 控制在飞行过程中如何插值时间。
* @returns 如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise
*/
flyTo(options?: {
radius?: number;
scale?: number;
duration?: number;
complete?: Cesium.Camera.FlightCompleteCallback;
cancel?: Cesium.Camera.FlightCancelledCallback;
endTransform?: Cesium.Matrix4;
maximumHeight?: number;
pitchAdjustHeight?: number;
flyOverLongitude?: number;
flyOverLongitudeWeight?: number;
convert?: boolean;
easingFunction?: Cesium.EasingFunction.Callback;
}): Promise;
}
/**
* CZML数据图层
* @param [options] - 参数对象,包括以下:
* @param [options.url] - CZML文件或服务url地址
* @param [options.data] - CZML格式规范数据对象,与url二选一即可。
* @param [options.zIndex] - 控制图层的叠加层次(部分图层),默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定,支持:'all'、数组、字符串模板
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数,还包括:
* @param [options.popupOptions.title] - 固定的标题名称
* @param [options.popupOptions.titleField] - 标题对应的属性字段名称
* @param [options.popupOptions.noTitle] - 不显示标题
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑定,参数与popup属性完全相同。
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数,还包括:
* @param [options.tooltipOptions.title] - 固定的标题名称
* @param [options.tooltipOptions.titleField] - 标题对应的属性字段名称
* @param [options.tooltipOptions.noTitle] - 不显示标题
* @param [options.contextmenuItems] - 绑定的右键菜单值,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.extent] - 图层自定义定位的矩形区域,与center二选一即可。 {@link Map#flyToExtent}
* @param options.extent.xmin - 最小经度值, -180 至 180
* @param options.extent.xmax - 最大经度值, -180 至 180
* @param options.extent.ymin - 最小纬度值, -90 至 90
* @param options.extent.ymax - 最大纬度值, -90 至 90
* @param [options.extent.height = 0] - 矩形高度值
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class CzmlLayer extends CzmGeoJsonLayer {
constructor(options?: {
url?: string;
data?: any;
zIndex?: number;
popup?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any);
popupOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
tooltip?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any) | any;
tooltipOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
contextmenuItems?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
extent?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
height?: number;
};
flyTo?: boolean;
});
/**
* 加载新数据 或 刷新数据
* @param [newOptions = {}] - 新设定的参数,会与类的构造参数合并。
* @param [newOptions.data] - CZML格式规范数据对象,与url二选一即可。
* @param [newOptions.url] - CZML文件或服务url地址
* @param [options.proxy] - 加载资源时要使用的代理服务url。
* @param [options.templateValues] - 一个对象,用于替换Url中的模板值的键/值对
* @param [options.queryParameters] - 一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'}
* @param [options.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' }
* @param [newOptions.类参数] - 包含当前类支持的所有参数
* @returns 当前对象本身,可以链式调用
*/
load(newOptions?: {
data?: any;
url?: string;
类参数?: any;
}): CzmlLayer;
/**
* 获取Entity矢量对象上绑定的 数据
* @param entity - Entity矢量对象
* @returns 数据
*/
getEntityAttr(entity: Cesium.Entity): any;
}
/**
* KML数据图层
* @param [options] - 参数对象,包括以下:
* @param [options.url] - KML文件或服务url地址
* @param [options.data] - 已解析的KML文档或包含二进制KMZ数据或已解析的KML文档的Blob,与url二选一即可。
* @param [options.zIndex] - 控制图层的叠加层次(部分图层),默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面。
* @param [options.opacity = 1.0] - 透明度(部分图层),取值范围:0.0-1.0
* @param [options.symbol] - 矢量数据的style样式
* @param options.symbol.styleOptions - 数据的Style样式
* @param [options.symbol.styleField] - 按 styleField 属性设置不同样式。
* @param [options.symbol.styleFieldOptions] - 按styleField值与对应style样式的键值对象。
* @param [options.symbol.callback] - 自定义判断处理返回style ,示例:callback: function (attr, entity, styleOpt){ return { color: "#ff0000" }; }
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定,支持:'all'、数组、字符串模板
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数,还包括:
* @param [options.popupOptions.title] - 固定的标题名称
* @param [options.popupOptions.titleField] - 标题对应的属性字段名称
* @param [options.popupOptions.noTitle] - 不显示标题
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑定,参数与popup属性完全相同。
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数,还包括:
* @param [options.tooltipOptions.title] - 固定的标题名称
* @param [options.tooltipOptions.titleField] - 标题对应的属性字段名称
* @param [options.tooltipOptions.noTitle] - 不显示标题
* @param [options.contextmenuItems] - 绑定的右键菜单值,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.extent] - 图层自定义定位的矩形区域,与center二选一即可。 {@link Map#flyToExtent}
* @param options.extent.xmin - 最小经度值, -180 至 180
* @param options.extent.xmax - 最大经度值, -180 至 180
* @param options.extent.ymin - 最小纬度值, -90 至 90
* @param options.extent.ymax - 最大纬度值, -90 至 90
* @param [options.extent.height = 0] - 矩形高度值
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class KmlLayer extends CzmGeoJsonLayer {
constructor(options?: {
url?: string;
data?: Document | Blob;
zIndex?: number;
opacity?: number;
symbol?: {
styleOptions: BillboardEntity.StyleOptions | any | PolylineEntity.StyleOptions | any | PolygonEntity.StyleOptions | any | any;
styleField?: string;
styleFieldOptions?: any;
callback?: (...params: any[]) => any;
};
popup?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any);
popupOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
tooltip?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any) | any;
tooltipOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
contextmenuItems?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
extent?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
height?: number;
};
flyTo?: boolean;
});
/**
* 加载新数据 或 刷新数据
* @param [newOptions = {}] - 新设定的参数,会与类的构造参数合并。
* @param [newOptions.data] - 已解析的KML文档或包含二进制KMZ数据或已解析的KML文档的Blob,与url二选一即可。
* @param [newOptions.url] - KML文件或服务url地址
* @param [options.proxy] - 加载资源时要使用的代理服务url。
* @param [options.templateValues] - 一个对象,用于替换Url中的模板值的键/值对
* @param [options.queryParameters] - 一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'}
* @param [options.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' }
* @param [newOptions.类参数] - 包含当前类支持的所有参数
* @returns 当前对象本身,可以链式调用
*/
load(newOptions?: {
data?: Document | Blob;
url?: string;
类参数?: any;
}): KmlLayer;
/**
* 获取Entity矢量对象上绑定的 数据
* @param entity - Entity矢量对象
* @returns 数据
*/
getEntityAttr(entity: Cesium.Entity): any;
}
/**
* ArcGIS WFS服务图层,
* 按瓦片网格分块分层加载。
* @param [options] - 参数对象,包括以下:
* @param options.url - ArcGIS服务地址, 示例:'http://server.mars3d.cn/arcgis/rest/services/mars/hefei/MapServer/37',
* @param [options.token] - 用于通过ArcGIS MapServer服务进行身份验证的ArcGIS令牌。
* @param [options.where] - 用于筛选数据的where查询条件
* @param [options.wkid] - 当非标准EPSG标号时,可以指定wkid值。
* @param [options.parameters] - 要在URL中 传递给WFS服务GetFeature请求的其他参数。
* @param [options.headers] - 将被添加到HTTP请求头。
* @param [options.proxy] - 加载资源时使用的代理。
* @param [options.IdField = 'id'] - 数据中唯一标识的属性字段名称,默认读取 id或objectid或OBJECTID
* @param [options.minimumLevel = 0] - 图层所支持的最低层级,当地图小于该级别时,平台不去请求服务数据。【影响效率的重要参数】
* @param [options.maximumLevel] - 图层所支持的最大层级,当地图大于该级别时,平台不去请求服务数据。
* @param options.rectangle - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param options.debuggerTileInfo - 是否开启测试显示瓦片信息
* @param [options.opacity = 1.0] - 透明度(部分图层),取值范围:0.0-1.0
* @param [options.zIndex] - 控制图层的叠加层次(部分图层),默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面。
* @param [options.symbol] - 矢量数据的style样式,为Function时是完全自定义的回调处理 symbol(attr, style, feature)
* @param [options.symbol.type] - 标识数据类型,默认是根据数据生成 point、polyline、polygon
* @param options.symbol.styleOptions - Style样式,每种不同类型数据都有不同的样式,具体见各矢量数据的style参数。{@link GraphicType}
* @param [options.symbol.styleField] - 按 styleField 属性设置不同样式。
* @param [options.symbol.styleFieldOptions] - 按styleField值与对应style样式的键值对象。
* @param [options.symbol.merge] - 是否合并并覆盖json中已有的style,默认不合并。
* @param [options.symbol.callback] - 自定义判断处理返回style ,示例:callback: function (attr, styleOpt){ return { color: "#ff0000" }; }
* @param [options.graphicOptions] - 默认的graphic的构造参数,每种不同类型数据都有不同的属性,具体见各{@link GraphicType}矢量数据的构造参数。
* @param [options.chinaCRS] - 标识数据的国内坐标系(用于自动纠偏或加偏)
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
* @param [options.buildings] - 标识当前图层为建筑物白膜类型数据
* @param [options.buildings.bottomHeight] - 建筑物底部高度(如:0) 属性字段名称(如:{bottomHeight})
* @param [options.buildings.cloumn = 1] - 层数,楼的实际高度 = height*cloumn
* @param [options.buildings.height = 3.5] - 层高的 固定层高数值(如:10) 或 属性字段名称(如:{height})
* @param options.clustering - 设置聚合相关参数[entity点类型时]:
* @param [options.clustering.enabled = false] - 是否开启聚合
* @param [options.clustering.pixelRange = 20] - 多少像素矩形范围内聚合
* @param [options.clustering.clampToGround = true] - 是否贴地
* @param [options.clustering.radius = 28] - 圆形图标的整体半径大小(单位:像素)
* @param [options.clustering.radiusIn = radius-5] - 圆形图标的内圆半径大小(单位:像素)
* @param [options.clustering.fontColor = '#ffffff'] - 数字的颜色
* @param [options.clustering.color = 'rgba(181, 226, 140, 0.6)'] - 圆形图标的背景颜色,默认自动处理
* @param [options.clustering.colorIn = 'rgba(110, 204, 57, 0.5)'] - 圆形图标的内圆背景颜色,默认自动处理
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定,支持:'all'、数组、字符串模板
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数,还包括:
* @param [options.popupOptions.title] - 固定的标题名称
* @param [options.popupOptions.titleField] - 标题对应的属性字段名称
* @param [options.popupOptions.noTitle] - 不显示标题
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑定,参数与popup属性完全相同。
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数,还包括:
* @param [options.tooltipOptions.title] - 固定的标题名称
* @param [options.tooltipOptions.titleField] - 标题对应的属性字段名称
* @param [options.tooltipOptions.noTitle] - 不显示标题
* @param [options.contextmenuItems] - 绑定的右键菜单值,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class ArcGisWfsLayer extends LodGraphicLayer {
constructor(options?: {
url: string;
token?: string;
where?: string;
wkid?: number;
parameters?: any;
headers?: any;
proxy?: Cesium.Proxy;
IdField?: string;
minimumLevel?: number;
maximumLevel?: number;
rectangle: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
debuggerTileInfo: boolean;
opacity?: number;
zIndex?: number;
symbol?: {
type?: GraphicType | string;
styleOptions: any;
styleField?: string;
styleFieldOptions?: any;
merge?: boolean;
callback?: (...params: any[]) => any;
};
graphicOptions?: any;
chinaCRS?: ChinaCRS;
allowDrillPick?: boolean | ((...params: any[]) => any);
buildings?: {
bottomHeight?: string;
cloumn?: string;
height?: string | number;
};
clustering: {
enabled?: boolean;
pixelRange?: number;
clampToGround?: boolean;
radius?: number;
radiusIn?: number;
fontColor?: string;
color?: string;
colorIn?: string;
};
popup?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any);
popupOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
tooltip?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any) | any;
tooltipOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
contextmenuItems?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 更新where条件后 刷新数据
* @param where - 筛选条件
* @returns 无
*/
setWhere(where: string): void;
}
/**
* ArcGIS WFS服务图层,
* 一次性请求加载,适合少量数据时使用。
* @param [options] - 参数对象,包括以下:
* @param options.url - ArcGIS服务地址, 示例:'http://server.mars3d.cn/arcgis/rest/services/mars/hefei/MapServer/37',
* @param [options.token] - 用于通过ArcGIS MapServer服务进行身份验证的ArcGIS令牌。
* @param [options.where] - 用于筛选数据的where查询条件
* @param [options.format] - 可以对加载的geojson数据进行格式化或转换操作
* @param [options.opacity = 1.0] - 透明度(部分图层),取值范围:0.0-1.0
* @param [options.zIndex] - 控制图层的叠加层次(部分图层),默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面。
* @param [options.symbol] - 矢量数据的style样式,为Function时是完全自定义的回调处理 symbol(attr, style, feature)
* @param options.symbol.styleOptions - 数据的Style样式
* @param [options.symbol.styleField] - 按 styleField 属性设置不同样式。
* @param [options.symbol.styleFieldOptions] - 按styleField值与对应style样式的键值对象。
* @param [options.symbol.callback] - 自定义判断处理返回style ,示例:callback: function (attr, entity, styleOpt){ return { color: "#ff0000" }; }
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
* @param [options.buildings] - 标识当前图层为建筑物白膜类型数据
* @param [options.buildings.bottomHeight] - 建筑物底部高度(如:0) 属性字段名称(如:{bottomHeight})
* @param [options.buildings.cloumn = 1] - 层数,楼的实际高度 = height*cloumn
* @param [options.buildings.height = 3.5] - 层高的 固定层高数值(如:10) 或 属性字段名称(如:{height})
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定,支持:'all'、数组、字符串模板
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数,还包括:
* @param [options.popupOptions.title] - 固定的标题名称
* @param [options.popupOptions.titleField] - 标题对应的属性字段名称
* @param [options.popupOptions.noTitle] - 不显示标题
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑定,参数与popup属性完全相同。
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数,还包括:
* @param [options.tooltipOptions.title] - 固定的标题名称
* @param [options.tooltipOptions.titleField] - 标题对应的属性字段名称
* @param [options.tooltipOptions.noTitle] - 不显示标题
* @param [options.contextmenuItems] - 绑定的右键菜单值,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.extent] - 图层自定义定位的矩形区域,与center二选一即可。 {@link Map#flyToExtent}
* @param options.extent.xmin - 最小经度值, -180 至 180
* @param options.extent.xmax - 最大经度值, -180 至 180
* @param options.extent.ymin - 最小纬度值, -90 至 90
* @param options.extent.ymax - 最大纬度值, -90 至 90
* @param [options.extent.height = 0] - 矩形高度值
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class ArcGisWfsSingleLayer extends GeoJsonLayer {
constructor(options?: {
url: string;
token?: string;
where?: string;
format?: (...params: any[]) => any;
opacity?: number;
zIndex?: number;
symbol?: {
styleOptions: BillboardEntity.StyleOptions | any | PolylineEntity.StyleOptions | any | PolygonEntity.StyleOptions | any | any;
styleField?: string;
styleFieldOptions?: any;
callback?: (...params: any[]) => any;
};
allowDrillPick?: boolean | ((...params: any[]) => any);
buildings?: {
bottomHeight?: string;
cloumn?: string;
height?: string | number;
};
popup?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any);
popupOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
tooltip?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any) | any;
tooltipOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
contextmenuItems?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
extent?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
height?: number;
};
flyTo?: boolean;
});
/**
* 更新where条件后 刷新数据
* @param where - 筛选条件
* @returns 无
*/
setWhere(where: string): void;
/**
* 加载新数据 或 刷新数据
* @param [newOptions] - 新设定的参数,会与类的构造参数合并。
* @param [newOptions.url] - geojson文件或服务url地址
* @param [newOptions.data] - geojson格式规范数据对象,与url二选一即可。
* @param [newOptions.类参数] - 包含当前类支持的所有参数
* @returns 当前对象本身,可以链式调用
*/
load(newOptions?: {
url?: string;
data?: any;
类参数?: any;
}): GeoJsonLayer;
}
/**
* 高德在线POI图层
* @param [options] - 参数对象,包括以下:
* @param [options.key = mars3d.Token.gaodeArr] - 高德KEY,在实际项目中请使用自己申请的高德KEY,因为我们的key不保证长期有效。
* @param [options.minimumLevel = 0] - 图层所支持的最低层级,当地图小于该级别时,平台不去请求服务数据。【影响效率的重要参数】
* @param [options.maximumLevel] - 图层所支持的最大层级,当地图大于该级别时,平台不去请求服务数据。
* @param options.rectangle - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param options.debuggerTileInfo - 是否开启测试显示瓦片信息
* @param [options.zIndex] - 控制图层的叠加层次(部分图层),默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面。
* @param [options.opacity = 1.0] - 透明度(部分图层),取值范围:0.0-1.0
* @param [options.symbol] - 矢量数据的style样式
* @param options.symbol.styleOptions - 点的Style样式。
* @param [options.symbol.styleField] - 按 styleField 属性设置不同样式。
* @param [options.symbol.styleFieldOptions] - 按styleField值与对应style样式的键值对象。
* @param options.clustering - 设置聚合相关参数:
* @param [options.clustering.enabled = false] - 是否开启聚合
* @param [options.clustering.pixelRange = 20] - 多少像素矩形范围内聚合
* @param [options.clustering.clampToGround = true] - 是否贴地
* @param [options.clustering.radius = 28] - 圆形图标的整体半径大小(单位:像素)
* @param [options.clustering.radiusIn = radius-5] - 圆形图标的内圆半径大小(单位:像素)
* @param [options.clustering.fontColor = '#ffffff'] - 数字的颜色
* @param [options.clustering.color = 'rgba(181, 226, 140, 0.6)'] - 圆形图标的背景颜色,默认自动处理
* @param [options.clustering.colorIn = 'rgba(110, 204, 57, 0.5)'] - 圆形图标的内圆背景颜色,默认自动处理
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.extent] - 图层自定义定位的矩形区域,与center二选一即可。 {@link Map#flyToExtent}
* @param options.extent.xmin - 最小经度值, -180 至 180
* @param options.extent.xmax - 最大经度值, -180 至 180
* @param options.extent.ymin - 最小纬度值, -90 至 90
* @param options.extent.ymax - 最大纬度值, -90 至 90
* @param [options.extent.height = 0] - 矩形高度值
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class GeodePoiLayer extends LodGraphicLayer {
constructor(options?: {
key?: string[];
minimumLevel?: number;
maximumLevel?: number;
rectangle: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
debuggerTileInfo: boolean;
zIndex?: number;
opacity?: number;
symbol?: {
styleOptions: BillboardEntity.StyleOptions | any | PointEntity.StyleOptions | any;
styleField?: string;
styleFieldOptions?: any;
};
clustering: {
enabled?: boolean;
pixelRange?: number;
clampToGround?: boolean;
radius?: number;
radiusIn?: number;
fontColor?: string;
color?: string;
colorIn?: string;
};
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
extent?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
height?: number;
};
flyTo?: boolean;
});
/**
* 获取配置的高德Key(多个时轮询)
*/
readonly key: string;
}
declare namespace GeoJsonLayer {
/**
* 当前类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* layer.on(mars3d.EventType.load, function (event) {
* console.log('矢量数据对象加载完成', event)
* })
* @property load - 完成加载,执行所有内部处理后
* @property add - 添加对象
* @property remove - 移除对象
* @property show - 显示了对象
* @property hide - 隐藏了对象
* @property click - 左键单击 鼠标事件
* @property rightClick - 右键单击 鼠标事件
* @property mouseOver - 鼠标移入 鼠标事件
* @property mouseOut - 鼠标移出 鼠标事件
* @property popupOpen - popup弹窗打开后
* @property popupClose - popup弹窗关闭
* @property tooltipOpen - tooltip弹窗打开后
* @property tooltipClose - tooltip弹窗关闭
* @property contextMenuOpen - 右键菜单 打开后
* @property contextMenuClose - 右键菜单 关闭
* @property contextMenuClick - 右键菜单 单击某一项后
* @property drawStart - 开始绘制 标绘事件
* @property drawMouseMove - 正在移动鼠标中,绘制过程中鼠标移动了点 标绘事件
* @property drawAddPoint - 绘制过程中增加了点 标绘事件
* @property drawRemovePoint - 绘制过程中删除了最后一个点 标绘事件
* @property drawCreated - 创建完成 标绘事件
* @property editStart - 开始编辑 标绘事件
* @property editMouseDown - 移动鼠标按下左键(LEFT_DOWN)标绘事件
* @property editMouseMove - 正在移动鼠标中,正在编辑拖拽修改点中(MOUSE_MOVE) 标绘事件
* @property editMovePoint - 编辑修改了点(LEFT_UP)标绘事件
* @property editRemovePoint - 编辑删除了点 标绘事件
* @property editStyle - 图上编辑修改了相关style属性 标绘事件
* @property editStop - 停止编辑 标绘事件
*/
type EventType = {
load: string;
add: string;
remove: string;
show: string;
hide: string;
click: string;
rightClick: string;
mouseOver: string;
mouseOut: string;
popupOpen: string;
popupClose: string;
tooltipOpen: string;
tooltipClose: string;
contextMenuOpen: string;
contextMenuClose: string;
contextMenuClick: string;
drawStart: string;
drawMouseMove: string;
drawAddPoint: string;
drawRemovePoint: string;
drawCreated: string;
editStart: string;
editMouseDown: string;
editMouseMove: string;
editMovePoint: string;
editRemovePoint: string;
editStyle: string;
editStop: string;
};
}
/**
* 加载展示 GeoJSON数据 的图层
* @param [options] - 参数对象,包括以下:
* @param [options.url] - geojson文件或服务url地址
* @param [options.data] - geojson格式规范数据对象,与url二选一即可。
* @param [options.crs] - 原始数据的坐标系,如'EPSG:3857'
* @param [options.chinaCRS] - 标识数据的国内坐标系(用于自动纠偏或加偏)
* @param [options.format] - 可以对加载的geojson数据进行格式化或转换操作
* @param [options.onCreateGraphic] - 解析geojson后,外部自定义方法来创建Graphic对象
* @param [options.mask] - 标识是否绘制区域边界的反选遮罩层,也可以传入object配置范围: { xmin: 73.0, xmax: 136.0, ymin: 3.0, ymax: 59.0 }
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
* @param [options.opacity = 1.0] - 透明度(部分图层),取值范围:0.0-1.0
* @param [options.zIndex] - 控制图层的叠加层次(部分图层),默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面。
* @param [options.symbol] - 矢量数据的style样式,为Function时是完全自定义的回调处理 symbol(attr, style, feature)
* @param [options.symbol.type] - 标识数据类型,默认是根据数据生成 point、polyline、polygon
* @param options.symbol.styleOptions - Style样式,每种不同类型数据都有不同的样式,具体见各{@link GraphicType}矢量数据的style参数。
* @param [options.symbol.styleField] - 按 styleField 属性设置不同样式。
* @param [options.symbol.styleFieldOptions] - 按styleField值与对应style样式的键值对象。
* @param [options.symbol.merge] - 是否合并并覆盖json中已有的style,默认不合并。
* @param [options.symbol.callback] - 自定义判断处理返回style ,示例:callback: function (attr, styleOpt){ return { color: "#ff0000" }; }
* @param [options.graphicOptions] - 默认的graphic的构造参数,每种不同类型数据都有不同的属性,具体见各{@link GraphicType}矢量数据的构造参数。
* @param [options.buildings] - 标识当前图层为建筑物白膜类型数据
* @param [options.buildings.bottomHeight] - 建筑物底部高度(如:0) 属性字段名称(如:{bottomHeight})
* @param [options.buildings.cloumn = 1] - 层数,楼的实际高度 = height*cloumn
* @param [options.buildings.height = 3.5] - 层高的 固定层高数值(如:10) 或 属性字段名称(如:{height})
* @param [options.proxy] - 加载资源时要使用的代理服务url。
* @param [options.templateValues] - 一个对象,用于替换Url中的模板值的键/值对
* @param [options.queryParameters] - 一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'}
* @param [options.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' }
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定,支持:'all'、数组、字符串模板
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数,还包括:
* @param [options.popupOptions.title] - 固定的标题名称
* @param [options.popupOptions.titleField] - 标题对应的属性字段名称
* @param [options.popupOptions.noTitle] - 不显示标题
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑定,参数与popup属性完全相同。
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数,还包括:
* @param [options.tooltipOptions.title] - 固定的标题名称
* @param [options.tooltipOptions.titleField] - 标题对应的属性字段名称
* @param [options.tooltipOptions.noTitle] - 不显示标题
* @param [options.contextmenuItems] - 绑定的右键菜单值,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.extent] - 图层自定义定位的矩形区域,与center二选一即可。 {@link Map#flyToExtent}
* @param options.extent.xmin - 最小经度值, -180 至 180
* @param options.extent.xmax - 最大经度值, -180 至 180
* @param options.extent.ymin - 最小纬度值, -90 至 90
* @param options.extent.ymax - 最大纬度值, -90 至 90
* @param [options.extent.height = 0] - 矩形高度值
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class GeoJsonLayer extends GraphicLayer {
constructor(options?: {
url?: string;
data?: any;
crs?: string;
chinaCRS?: ChinaCRS;
format?: (...params: any[]) => any;
onCreateGraphic?: (...params: any[]) => any;
mask?: boolean | any;
allowDrillPick?: boolean | ((...params: any[]) => any);
opacity?: number;
zIndex?: number;
symbol?: {
type?: GraphicType | string;
styleOptions: any;
styleField?: string;
styleFieldOptions?: any;
merge?: boolean;
callback?: (...params: any[]) => any;
};
graphicOptions?: any;
buildings?: {
bottomHeight?: string;
cloumn?: string;
height?: string | number;
};
proxy?: string;
templateValues?: any;
queryParameters?: any;
headers?: any;
popup?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any);
popupOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
tooltip?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any) | any;
tooltipOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
contextmenuItems?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
extent?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
height?: number;
};
flyTo?: boolean;
});
/**
* 加载新数据 或 刷新数据
* @param [newOptions] - 新设定的参数,会与类的构造参数合并。
* @param [newOptions.url] - geojson文件或服务url地址
* @param [newOptions.data] - geojson格式规范数据对象,与url二选一即可。
* @param [newOptions.类参数] - 包含当前类支持的所有参数
* @returns 当前对象本身,可以链式调用
*/
load(newOptions?: {
url?: string;
data?: any;
类参数?: any;
}): GeoJsonLayer;
}
/**
* 矢量数据图层组,主要用于 多图层的标绘
* @param [options] - 参数对象,包括以下:
* @param [options.layers] - 子图层数组,每个子图层的配置见按各类型图层配置即可。
* @param [options.defaultLayer] - 默认图层的图层名称
* @param [options.hasEdit = false] - 是否自动激活编辑(true时,单击后自动激活编辑)
* @param [options.isAutoEditing = true] - 完成标绘时是否自动启动编辑(需要hasEdit:true时)
* @param [options.isContinued = false] - 是否连续标绘
* @param [options.isRestorePositions = false] - 在标绘和编辑结束时,是否将坐标还原为普通值,true: 停止编辑时会有闪烁,但效率要好些。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class GraphicGroupLayer extends GroupLayer {
constructor(options?: {
layers?: GraphicLayer[];
defaultLayer?: string;
hasEdit?: boolean;
isAutoEditing?: boolean;
isContinued?: boolean;
isRestorePositions?: boolean;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 是否可以编辑
*/
hasEdit: boolean;
/**
* 完成标绘时是否自动启动编辑(需要hasEdit:true时)
*/
isAutoEditing: boolean;
/**
* 当前激活的图层
*/
selectedLayer: GraphicLayer;
/**
* 判断图层是否激活状态
* @param layer - 图层
* @returns 是否激活状态
*/
isActivate(layer: GraphicLayer): boolean;
/**
* 创建并添加指定名称的图层
* @param name - 图层名称
* @returns 创建完成的图层
*/
createLayer(name: string): GraphicLayer;
/**
* 删除指定名称的图层
* @param name - 图层名称
* @returns 是否删除成功
*/
deleteLayer(name: string): boolean;
/**
* 删除所有没有数据的矢量图层
* @returns 当前对象本身,可以链式调用
*/
deleteEmptyLayer(): GraphicGroupLayer;
/**
* 移动矢量对象到新分组
* @param graphic - 矢量对象
* @param layer - 图层
* @returns 无
*/
moveToLayer(graphic: BaseGraphic | any, layer: GraphicLayer): void;
/**
* 获取图层内 所有矢量数据
* @returns 矢量数据数组
*/
getGraphics(): BaseGraphic[];
/**
* 根据id或uuid取矢量数据对象
* @param id - 矢量数据id或uuid
* @returns 矢量数据对象
*/
getGraphicById(id: string | number): BaseGraphic | any;
/**
* 遍历所有矢量数据并将其作为参数传递给回调函数
* @param method - 回调方法
* @param [context] - 侦听器的上下文(this关键字将指向的对象)。
* @returns 当前对象本身,可以链式调用
*/
eachGraphic(method: (...params: any[]) => any, context?: any): GraphicGroupLayer;
/**
* 清除图层内所有矢量数据
* @param [hasDestroy = false] - 是否释放矢量对象
* @returns 无
*/
clear(hasDestroy?: boolean): void;
/**
* 将图层数据导出为GeoJSON格式规范对象。
* @param [options] - 参数对象:
* @param [options.noAlt] - 不导出高度值
* @param [options.stopEdit = false] - 是否停止绘制或编辑
* @returns GeoJSON格式规范对象
*/
toGeoJSON(options?: {
noAlt?: boolean;
stopEdit?: boolean;
}): any;
/**
* 加载转换GeoJSON格式规范数据为Graphic后加载到图层中。
* @param geojson - GeoJSON格式规范数据
* @param [options] - 加载控制参数,包含:
* @param [options.clear = false] - 是否清除图层已有数据
* @param [options.flyTo = false] - 是否加载完成后进行飞行到数据区域
* @param [options.style] - 可以设置指定style样式
* @param [options.layer] - 指定导入所有数据到指定的图层
* @returns 转换后的Graphic对象数组
*/
loadGeoJSON(geojson: string | any, options?: {
clear?: boolean;
flyTo?: boolean;
style?: any;
layer?: string;
}): BaseGraphic[];
/**
* 获取图层内所有数据的 矩形边界值
* @param [isFormat = false] - 是否格式化,格式化时示例: { xmin: 73.16895, xmax: 134.86816, ymin: 12.2023, ymax: 54.11485 }
* @returns isFormat:true时,返回格式化对象,isFormat:false时返回Cesium.Rectangle对象
*/
getRectangle(isFormat?: boolean): Cesium.Rectangle | any;
/**
* 开始绘制矢量数据,绘制的数据会加载在当前图层。
* @param options - 绘制参数,包含:
* @param options.type - 类型
* @param [options.style] - 矢量数据样式,具体参考支持 {@link GraphicType}查询对应type的类
* @param [options.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.success] - 绘制创建完成的回调方法,同drawCreated事件,例如: success: function (graphic){ }
* //以下为Entity支持的构造参数
* @param [options.name] - 矢量数据名称
* @param [options.maxPointNum] - 线面数据时限定的最大坐标个数
* @param [options.drawShow = true] - 绘制时,是否自动隐藏entity,可避免拾取坐标存在问题。
* @param [options.addHeight] - 在绘制时,在绘制点的基础上增加的高度值
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @returns 绘制创建完成的Promise,等价于success参数
*/
startDraw(options: {
type: GraphicType | string;
style?: any;
attr?: any;
success?: (...params: any[]) => any;
name?: string;
maxPointNum?: number;
drawShow?: boolean;
addHeight?: number;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
}): Promise;
/**
* 停止绘制,如有未完成的绘制会自动删除
* @returns 当前对象本身,可以链式调用
*/
stopDraw(): GraphicGroupLayer;
/**
* 激活编辑,绑定相关处理,同 hasEdit=true
* @returns 当前对象本身,可以链式调用
*/
activateEdit(): GraphicGroupLayer;
/**
* 释放编辑,解除绑定相关事件,同 hasEdit=false
* @returns 当前对象本身,可以链式调用
*/
disableEdit(): GraphicGroupLayer;
}
declare namespace GraphicLayer {
/**
* 当前类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* layer.on(mars3d.EventType.load, function (event) {
* console.log('矢量数据对象加载完成', event)
* })
* @property addGraphic - 添加了矢量对象
* @property removeGraphic - 移除了矢量对象
* @property addLayer - 图层本身被添加
* @property removeLayer - 图层本身被移除
* @property show - 图层本身显示了
* @property hide - 图层本身隐藏了
* @property click - 左键单击 鼠标事件
* @property rightClick - 右键单击 鼠标事件
* @property mouseOver - 鼠标移入 鼠标事件
* @property mouseOut - 鼠标移出 鼠标事件
* @property popupOpen - popup弹窗打开后
* @property popupClose - popup弹窗关闭
* @property tooltipOpen - tooltip弹窗打开后
* @property tooltipClose - tooltip弹窗关闭
* @property contextMenuOpen - 右键菜单 打开后
* @property contextMenuClose - 右键菜单 关闭
* @property contextMenuClick - 右键菜单 单击某一项后
* @property drawStart - 开始绘制 标绘事件
* @property drawMouseMove - 正在移动鼠标中,绘制过程中鼠标移动了点 标绘事件
* @property drawAddPoint - 绘制过程中增加了点 标绘事件
* @property drawRemovePoint - 绘制过程中删除了最后一个点 标绘事件
* @property drawCreated - 创建完成 标绘事件
* @property editStart - 开始编辑 标绘事件
* @property editMouseDown - 移动鼠标按下左键(LEFT_DOWN)标绘事件
* @property editMouseMove - 正在移动鼠标中,正在编辑拖拽修改点中(MOUSE_MOVE) 标绘事件
* @property editMovePoint - 编辑修改了点(LEFT_UP)标绘事件
* @property editAddPoint - 编辑新增了点 标绘事件
* @property editRemovePoint - 编辑删除了点 标绘事件
* @property editStyle - 图上编辑修改了相关style属性 标绘事件
* @property editStop - 停止编辑 标绘事件
*/
type EventType = {
addGraphic: string;
removeGraphic: string;
addLayer: string;
removeLayer: string;
show: string;
hide: string;
click: string;
rightClick: string;
mouseOver: string;
mouseOut: string;
popupOpen: string;
popupClose: string;
tooltipOpen: string;
tooltipClose: string;
contextMenuOpen: string;
contextMenuClose: string;
contextMenuClick: string;
drawStart: string;
drawMouseMove: string;
drawAddPoint: string;
drawRemovePoint: string;
drawCreated: string;
editStart: string;
editMouseDown: string;
editMouseMove: string;
editMovePoint: string;
editAddPoint: string;
editRemovePoint: string;
editStyle: string;
editStop: string;
};
}
/**
* 矢量数据图层
* @param [options] - 参数对象,包括以下:
* @param [options.data] - 需要自动加载的数据,内部自动生成Graphic对象。{@link GraphicUtil#.create}
* @param [options.hasEdit = false] - 是否自动激活编辑(true时,单击后自动激活编辑)
* @param [options.isAutoEditing = true] - 完成标绘时是否自动启动编辑(需要hasEdit:true时)
* @param [options.isContinued = false] - 是否连续标绘,联系标绘状态下无法编辑已有对象。
* @param [options.isRestorePositions = false] - 在标绘和编辑结束时,是否将坐标还原为普通值,true: 停止编辑时会有闪烁,但效率要好些。
* @param [options.zIndex] - 控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效,且只有贴地对象有效)。
* @param [options.symbol] - 矢量数据的style样式,为Function时是完全自定义的回调处理 symbol(attr, style, feature)
* @param [options.symbol.type] - 标识数据类型,默认是根据数据生成 point、polyline、polygon
* @param options.symbol.styleOptions - Style样式,每种不同类型数据都有不同的样式,具体见各{@link GraphicType}矢量数据的style参数。
* @param [options.symbol.styleField] - 按 styleField 属性设置不同样式。
* @param [options.symbol.styleFieldOptions] - 按styleField值与对应style样式的键值对象。
* @param [options.symbol.callback] - 自定义判断处理返回style ,示例:callback: function (attr, styleOpt){ return { color: "#ff0000" }; }
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
* @param [options.clustering] - Entity点数据时,设置聚合相关参数:
* @param [options.clustering.enabled = false] - 是否开启聚合
* @param [options.clustering.pixelRange = 20] - 多少像素矩形范围内聚合
* @param [options.clustering.clampToGround = true] - 是否贴地
* @param [options.clustering.radius = 26] - 内置样式时,圆形图标的半径大小(单位:像素)
* @param [options.clustering.fontColor = '#ffffff'] - 内置样式时,数字的颜色
* @param [options.clustering.color = 'rgba(181, 226, 140, 0.6)'] - 内置样式时,圆形图标的背景颜色
* @param [options.clustering.opacity = 0.5] - 内置样式时,圆形图标的透明度
* @param [options.clustering.borderWidth = 5] - 圆形图标的边框宽度(单位:像素),0不显示
* @param [options.clustering.borderColor = 'rgba(110, 204, 57, 0.5)'] - 内置样式时,圆形图标的边框颜色
* @param [options.clustering.borderOpacity = 0.6] - 内置样式时,圆形图标边框的透明度
* @param [options.clustering.getImage] - 自定义聚合的图标样式,例如:getImage:function(count) { return image}
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定,支持:'all'、数组、字符串模板
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数,还包括:
* @param [options.popupOptions.title] - 固定的标题名称
* @param [options.popupOptions.titleField] - 标题对应的属性字段名称
* @param [options.popupOptions.noTitle] - 不显示标题
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑定,参数与popup属性完全相同。
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数,还包括:
* @param [options.tooltipOptions.title] - 固定的标题名称
* @param [options.tooltipOptions.titleField] - 标题对应的属性字段名称
* @param [options.tooltipOptions.noTitle] - 不显示标题
* @param [options.contextmenuItems] - 绑定的右键菜单值,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.extent] - 图层自定义定位的矩形区域,与center二选一即可。 {@link Map#flyToExtent}
* @param options.extent.xmin - 最小经度值, -180 至 180
* @param options.extent.xmax - 最大经度值, -180 至 180
* @param options.extent.ymin - 最小纬度值, -90 至 90
* @param options.extent.ymax - 最大纬度值, -90 至 90
* @param [options.extent.height = 0] - 矩形高度值
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class GraphicLayer extends BaseGraphicLayer {
constructor(options?: {
data?: any | any;
hasEdit?: boolean;
isAutoEditing?: boolean;
isContinued?: boolean;
isRestorePositions?: boolean;
zIndex?: number;
symbol?: {
type?: GraphicType | string;
styleOptions: any;
styleField?: string;
styleFieldOptions?: any;
callback?: (...params: any[]) => any;
};
allowDrillPick?: boolean | ((...params: any[]) => any);
clustering?: {
enabled?: boolean;
pixelRange?: number;
clampToGround?: boolean;
radius?: number;
fontColor?: string;
color?: string;
opacity?: number;
borderWidth?: number;
borderColor?: string;
borderOpacity?: number;
getImage?: (...params: any[]) => any;
};
popup?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any);
popupOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
tooltip?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any) | any;
tooltipOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
contextmenuItems?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
extent?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
height?: number;
};
flyTo?: boolean;
});
/**
* 完成标绘时是否自动启动编辑(需要hasEdit:true时)
*/
isAutoEditing: boolean;
/**
* 是否连续标绘
*/
isContinued: boolean;
/**
* 是否聚合(点数据时)
*/
clustering: boolean;
/**
* 当加载Entity类型数据的内部Cesium容器 {@link BaseEntity}
*/
readonly dataSource: Cesium.CustomDataSource;
/**
* 当加载普通 primitive类型数据的内部Cesium容器 {@link BasePrimitive}
*/
primitiveCollection: Cesium.PrimitiveCollection;
/**
* 当加载 DivGraphic 数据的内部DOM容器 {@link DivGraphic}
*/
readonly container: HTMLDivElement;
/**
* 当加载 DivGraphic 数据的DIV是否可以鼠标交互,为false时可以穿透操作及缩放地图,但无法进行鼠标交互及触发相关事件。
*/
pointerEvents: boolean;
/**
* 是否可以调整图层顺序(在同类型图层间)
*/
readonly hasZIndex: boolean;
/**
* 图层顺序,数字大的在上面。
* 只对 同类型(Entity/Primitive) + 贴地(clampToGround: true) 矢量对象间有效
*/
zIndex: number;
/**
* 图层内的Graphic矢量数据个数
*/
readonly length: number;
/**
* 图层内的Graphic集合对象
*/
readonly graphics: BaseGraphic[] | any[];
/**
* 是否自动激活编辑(true时,单击后自动激活编辑)
*/
hasEdit: boolean;
/**
* 是否正在编辑状态
*/
readonly isEditing: boolean;
/**
* 是否允许鼠标穿透拾取
*/
allowDrillPick: boolean | ((...params: any[]) => any);
/**
* 对象从地图上移除的创建钩子方法,
* 每次remove时都会调用
* @returns 无
*/
_removedHook(): void;
/**
* 获取图层内所有数据的 矩形边界值
* @param [isFormat = false] - 是否格式化,格式化时示例: { xmin: 73.16895, xmax: 134.86816, ymin: 12.2023, ymax: 54.11485 }
* @returns isFormat:true时,返回格式化对象,isFormat:false时返回Cesium.Rectangle对象
*/
getRectangle(isFormat?: boolean): Cesium.Rectangle | any;
/**
* 将图层数据导出为GeoJSON格式规范对象。
* @param [options] - 参数对象:
* @param [options.noAlt] - 不导出高度值
* @param [options.stopEdit = false] - 是否停止绘制或编辑
* @returns GeoJSON格式规范对象
*/
toGeoJSON(options?: {
noAlt?: boolean;
stopEdit?: boolean;
}): any;
/**
* 加载转换GeoJSON格式规范数据为Graphic后加载到图层中。
* @param geojson - GeoJSON格式规范数据
* @param [options] - 加载控制参数,包含:
* @param [options.clear = false] - 是否清除图层已有数据
* @param [options.flyTo = false] - 是否加载完成后进行飞行到数据区域
* @param [options.type] - 转为指定的类型
* @param [options.style] - 可以设置指定style样式,每种不同类型数据都有不同的样式,具体见各矢量数据的style参数。{@link GraphicType}
* @param [options.crs] - 原始数据的坐标系,如'EPSG:3857' (可以从 {@link http://epsg.io }查询)
* @param [options.onEachFeature] - 创建每个Graphic前的回调
* @returns 转换后的Graphic对象数组
*/
loadGeoJSON(geojson: string | any, options?: {
clear?: boolean;
flyTo?: boolean;
type?: GraphicType | string;
style?: any;
crs?: string;
onEachFeature?: (...params: any[]) => any;
}): BaseGraphic[];
/**
* 设置透明度 , 非全部矢量数据都支持,具体需要对应Graphic支持才有效
* @param value - 透明度
* @returns 无
*/
setOpacity(value: number): void;
/**
* 添加Graphic矢量数据
* @param graphic - 矢量数据
* @returns 添加后的Graphic对象
*/
addGraphic(graphic: BaseGraphic | BaseGraphic[] | any): BaseGraphic | BaseGraphic[];
/**
* 移除Graphic矢量数据
* @param graphic - 矢量数据
* @param [hasDestroy = false] - 是否释放矢量对象
* @returns 当前对象本身,可以链式调用
*/
removeGraphic(graphic: BaseGraphic | any, hasDestroy?: boolean): GraphicLayer;
/**
* 根据id或uuid取矢量数据对象
* @param id - 矢量数据id或uuid
* @returns 矢量数据对象
*/
getGraphicById(id: string | number): BaseGraphic | any;
/**
* 根据 指定属性 获取 单个矢量数据对象(多个匹配时取首个)
* @param attrValue - 属性值
* @param [attrName = 'id'] - 属性键
* @returns 矢量数据对象
*/
getGraphicByAttr(attrValue: string | number, attrName?: string): BaseGraphic | any;
/**
* 根据 指定属性 获取 矢量数据对象 数组
* @param attrValue - 属性值
* @param [attrName = 'id'] - 属性键
* @returns 矢量数据对象
*/
getGraphicsByAttr(attrValue: string | number, attrName?: string): BaseGraphic[];
/**
* 根据 指定style样式 获取 矢量数据对象 数组
* @param styleName - style内的字段名称
* @param styleVal - 属性值
* @returns 矢量数据对象
*/
getGraphicsByStyle(styleName: string, styleVal: string | number | boolean | any): BaseGraphic[];
/**
* 遍历所有矢量数据并将其作为参数传递给回调函数
* @param method - 回调方法
* @param [context] - 侦听器的上下文(this关键字将指向的对象)。
* @returns 当前对象本身,可以链式调用
*/
eachGraphic(method: (...params: any[]) => any, context?: any): GraphicLayer;
/**
* 获取图层内 所有矢量数据
* @param [hasPrivate = false] - 是否取私有的graphic
* @returns 矢量数据数组
*/
getGraphics(hasPrivate?: boolean): BaseGraphic[] | any[];
/**
* 清除图层内所有矢量数据
* @param [hasDestroy = false] - 是否释放矢量对象
* @returns 无
*/
clear(hasDestroy?: boolean): void;
/**
* 异步计算更新坐标进行贴地(或贴模型)
* @param [options = {}] - 参数对象:
* @param [options.has3dtiles = auto] - 是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)
* @param [options.objectsToExclude] - 贴模型分析时,排除的不进行贴模型计算的模型对象,可以是: primitives, entities, 或 3D Tiles features
* @param options.endItem - 每计算完成1个graphic高度后 的回调方法
* @param options.end - 异步计算高度完成所有graphic后 的回调方法
* @returns 绘制创建完成的Promise,等价于callback参数
*/
autoSurfaceHeight(options?: {
has3dtiles?: boolean;
objectsToExclude?: any;
endItem: (...params: any[]) => any;
end: (...params: any[]) => any;
}): Promise;
/**
* 开始绘制矢量数据,绘制的数据会加载在当前图层。
* @example
* //写法一,使用Promise
* graphicLayer.startDraw({
* type: "point",
* style: { pixelSize: 12, color: "#3388ff" },
* })
* .then(function (graphic) {
* console.log("绘制矢量对象完成", graphic);
* });
*
* //写法二,使用success回调方法参数
* graphicLayer.startDraw({
* type: "point",
* style: { pixelSize: 12, color: "#3388ff" },
* success: function (graphic){
* console.log("绘制矢量对象完成", graphic);
* }
* })
*
* //写法三,在图层全局监听完成事件
* graphicLayer.on(mars3d.EventType.drawCreated, function (e) {
* console.log("绘制矢量对象完成", e);
* });
* graphicLayer.startDraw({
* type: "point",
* style: { pixelSize: 12, color: "#3388ff" }
* })
* @param options - 绘制参数,包含:
* @param options.type - 类型
* @param [options.style] - 矢量数据样式,具体参考支持 {@link GraphicType}查询对应type的类
* @param [options.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.success] - 绘制创建完成的回调方法,同drawCreated事件,例如: success: function (graphic){ }
* //以下为Entity支持的构造参数
* @param [options.name] - 矢量数据名称
* @param [options.maxPointNum] - 线面数据时限定的最大坐标个数
* @param [options.drawShow = true] - 绘制时,是否自动隐藏entity,可避免拾取坐标存在问题。
* @param [options.addHeight] - 在绘制时,在绘制点的基础上增加的高度值
* @param [options.availability] - 与该对象关联的可用性(如果有的话)。
* @param [options.description] - 指定此实体的HTML描述的字符串属性(infoBox中展示)。
* @returns 绘制创建完成的Promise,等价于success参数
*/
startDraw(options: {
type: GraphicType | string;
style?: any;
attr?: any;
success?: (...params: any[]) => any;
name?: string;
maxPointNum?: number;
drawShow?: boolean;
addHeight?: number;
availability?: Cesium.TimeIntervalCollection;
description?: Cesium.Property | string;
}): Promise;
/**
* 完成绘制和编辑,如有未完成的绘制会自动完成。
* 在移动端需要调用此方法来类似PC端双击结束。
* @returns 是否正常结束了矢量对象绘制
*/
endDraw(): boolean;
/**
* 停止绘制,如有未完成的绘制会自动删除
* @returns 是否清除了未完成的对象
*/
stopDraw(): boolean;
/**
* 清除正在绘制
* @returns 是否清除了对象
*/
clearDrawing(): boolean;
/**
* 激活编辑,绑定相关处理,同 hasEdit=true
* @returns 当前对象本身,可以链式调用
*/
activateEdit(): GraphicLayer;
/**
* 释放编辑,解除绑定相关事件,同 hasEdit=false
* @returns 当前对象本身,可以链式调用
*/
disableEdit(): GraphicLayer;
/**
* 激活编辑指定的矢量数据
* @param graphic - 需要激活编辑的矢量数据
* @param [event] - 内部使用,传递事件
* @returns 当前对象本身,可以链式调用
*/
startEditing(graphic: BaseGraphic | any, event?: any): GraphicLayer;
/**
* 停止编辑,释放正在编辑的对象。
* @returns 当前对象本身,可以链式调用
*/
stopEditing(): GraphicLayer;
}
/**
* 经纬网
* @param [options] - 参数对象,包括以下:
* @param [options.numLines = 10] - 网格数
* @param [options.lineStyle] - 线的样式
* @param [options.labelStyle] - 文本的样式
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.extent] - 图层自定义定位的矩形区域,与center二选一即可。 {@link Map#flyToExtent}
* @param options.extent.xmin - 最小经度值, -180 至 180
* @param options.extent.xmax - 最大经度值, -180 至 180
* @param options.extent.ymin - 最小纬度值, -90 至 90
* @param options.extent.ymax - 最大纬度值, -90 至 90
* @param [options.extent.height = 0] - 矩形高度值
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class GraticuleLayer extends BaseLayer {
constructor(options?: {
numLines?: number;
lineStyle?: PolylinePrimitive.StyleOptions | any;
labelStyle?: LabelEntity.StyleOptions | any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
extent?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
height?: number;
};
flyTo?: boolean;
});
/**
* 对象添加到地图前创建一些对象的钩子方法,
* 只会调用一次
* @returns 无
*/
_mountedHook(): void;
}
declare namespace LodGraphicLayer {
/**
* 当前类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* layer.on(mars3d.EventType.addGraphic, function (event) {
* console.log('添加了矢量数据', event)
* })
* @property add - 添加对象
* @property remove - 移除对象
* @property show - 显示了对象
* @property hide - 隐藏了对象
* @property click - 左键单击 鼠标事件
* @property rightClick - 右键单击 鼠标事件
* @property mouseOver - 鼠标移入 鼠标事件
* @property mouseOut - 鼠标移出 鼠标事件
* @property popupOpen - popup弹窗打开后
* @property popupClose - popup弹窗关闭
* @property tooltipOpen - tooltip弹窗打开后
* @property tooltipClose - tooltip弹窗关闭
* @property addGraphic - 添加矢量数据时
* @property removeGraphic - 移除矢量数据时
*/
type EventType = {
add: string;
remove: string;
show: string;
hide: string;
click: string;
rightClick: string;
mouseOver: string;
mouseOut: string;
popupOpen: string;
popupClose: string;
tooltipOpen: string;
tooltipClose: string;
addGraphic: string;
removeGraphic: string;
};
}
/**
* 矢量数据LOD分层分块加载类
* @param [options] - 参数对象,包括以下:
* @param [options.IdField = 'id'] - 数据中唯一标识的属性字段名称
* @param options.queryGridData - 获取网格内对应数据的的外部处理回调方法
* @param options.createGraphic - 根据数据创建矢量对象的外部处理回调方法
* @param options.updateGraphic - 根据数据更新矢量对象的外部处理回调方法,一般动态数据时可以用
* @param [options.minimumLevel = 0] - 图层所支持的最低层级,当地图小于该级别时,平台不去请求服务数据。【影响效率的重要参数】
* @param [options.maximumLevel] - 图层所支持的最大层级,当地图大于该级别时,平台不去请求服务数据。
* @param options.rectangle - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param options.debuggerTileInfo - 是否开启测试显示瓦片信息
* @param [options.opacity = 1.0] - 透明度(部分图层),取值范围:0.0-1.0
* @param [options.zIndex] - 控制图层的叠加层次(部分图层),默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面。
* @param [options.symbol] - 矢量数据的style样式,为Function时是完全自定义的回调处理 symbol(attr, style, feature)
* @param options.symbol.styleOptions - 数据的Style样式
* @param [options.symbol.styleField] - 按 styleField 属性设置不同样式。
* @param [options.symbol.styleFieldOptions] - 按styleField值与对应style样式的键值对象。
* @param [options.symbol.merge] - 是否合并并覆盖json中已有的style,默认不合并。
* @param [options.symbol.callback] - 自定义判断处理返回style ,示例:callback: function (attr, styleOpt){ return { color: "#ff0000" }; }
* @param options.clustering - 设置聚合相关参数:
* @param [options.clustering.enabled = false] - 是否开启聚合
* @param [options.clustering.pixelRange = 20] - 多少像素矩形范围内聚合
* @param [options.clustering.clampToGround = true] - 是否贴地
* @param [options.clustering.radius = 28] - 圆形图标的整体半径大小(单位:像素)
* @param [options.clustering.radiusIn = radius-5] - 圆形图标的内圆半径大小(单位:像素)
* @param [options.clustering.fontColor = '#ffffff'] - 数字的颜色
* @param [options.clustering.color = 'rgba(181, 226, 140, 0.6)'] - 圆形图标的背景颜色,默认自动处理
* @param [options.clustering.colorIn = 'rgba(110, 204, 57, 0.5)'] - 圆形图标的内圆背景颜色,默认自动处理
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定,支持:'all'、数组、字符串模板
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数,还包括:
* @param [options.popupOptions.title] - 固定的标题名称
* @param [options.popupOptions.titleField] - 标题对应的属性字段名称
* @param [options.popupOptions.noTitle] - 不显示标题
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑定,参数与popup属性完全相同。
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数,还包括:
* @param [options.tooltipOptions.title] - 固定的标题名称
* @param [options.tooltipOptions.titleField] - 标题对应的属性字段名称
* @param [options.tooltipOptions.noTitle] - 不显示标题
* @param [options.contextmenuItems] - 绑定的右键菜单值,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.extent] - 图层自定义定位的矩形区域,与center二选一即可。 {@link Map#flyToExtent}
* @param options.extent.xmin - 最小经度值, -180 至 180
* @param options.extent.xmax - 最大经度值, -180 至 180
* @param options.extent.ymin - 最小纬度值, -90 至 90
* @param options.extent.ymax - 最大纬度值, -90 至 90
* @param [options.extent.height = 0] - 矩形高度值
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class LodGraphicLayer extends GraphicLayer {
constructor(options?: {
IdField?: string;
queryGridData: (...params: any[]) => any;
createGraphic: (...params: any[]) => any;
updateGraphic: (...params: any[]) => any;
minimumLevel?: number;
maximumLevel?: number;
rectangle: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
debuggerTileInfo: boolean;
opacity?: number;
zIndex?: number;
symbol?: {
styleOptions: BillboardEntity.StyleOptions | any | PolylineEntity.StyleOptions | any | PolygonEntity.StyleOptions | any | any;
styleField?: string;
styleFieldOptions?: any;
merge?: boolean;
callback?: (...params: any[]) => any;
};
clustering: {
enabled?: boolean;
pixelRange?: number;
clampToGround?: boolean;
radius?: number;
radiusIn?: number;
fontColor?: string;
color?: string;
colorIn?: string;
};
popup?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any);
popupOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
tooltip?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any) | any;
tooltipOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
contextmenuItems?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
extent?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
height?: number;
};
flyTo?: boolean;
});
/**
* 根据LOD分块信息去请求对应的Tile瓦块内的数据
* @param event - 瓦片信息对象
* @returns 异步计算完成的Promise
*/
queryGridData(event: any): Promise;
/**
* 根据 attr属性 创建 矢量对象
* @param grid - 瓦片信息对象
* @param attr - 数据的属性信息
* @returns 矢量对象
*/
createGraphic(grid: any, attr: any): BaseGraphic | any;
/**
* 根据 attr属性 更新 矢量对象,主要是属性是动态变化的场景下使用。
* @param graphic - 矢量对象
* @param attr - 数据的属性信息
* @returns 无
*/
updateGraphic(graphic: BaseGraphic | any, attr: any): void;
/**
* 清除图层内所有矢量数据
* @param [hasDestroy = false] - 是否释放矢量对象
* @returns 无
*/
clear(hasDestroy?: boolean): void;
/**
* 重新加载数据
* @returns 无
*/
reload(): void;
}
/**
* OSM在线 建筑物模型
* @param options - 参数对象,参数包括以下:
* @param [options.maximumScreenSpaceError = 16] - 用于驱动细化细节级别的最大屏幕空间错误。数值加大,能让最终成像变模糊
* @param [options.maximumMemoryUsage = 512] - 数据集可以使用的最大内存量(以MB计)。这个参数默认是512,也即是当几何体和纹理资源大于512MB的时候,Cesium就会淘汰掉当前帧中没有visited的所有块,这个值其实很小,也是cesium为了避免资源占用过高的一个保障,不过上述我们也估算过最差情况下,没有做纹理crn压缩的情况下,这个值很容易被超过,导致很多人误以为cesium的淘汰没有效果。这个值如果设置的过小,导致cesium几乎每帧都在尝试淘汰数据,增加了遍历的时间,也同时增加了崩溃的风险。这个值如果设置的过大,cesium的淘汰机制失效,那么容易导致显存超过显卡内存,也会导致崩溃。 这个值应该处于最差视角下资源占用 和 显存最大量之间。结论:这个参数要根据当前显卡显存来配置,如果我们场景只显示这一个模型数据,这个可以设置到显存的50 % 左右,比如我的显存是6G,这个可以设置到3000左右。那么既保证不超过显存限制,又可以最大利用显存缓存,配合crn压缩之后,这个几乎可以保证你第二次查看模型同一位置的时候,看不到加载过程,非常棒。
* @param [options.style] - 模型样式, 使用{@link https://github.com/CesiumGS/3d-tiles/tree/master/specification/Styling|3D Tiles Styling language}.
* @param [options.marsJzwStyle = false] - 开启或设置建筑物特效样式。
* @param [options.customShader] - 自定义shader效果
* @param [options.highlight] - 高亮及其样式配置
* @param [options.highlight.type] - 鼠标移入高亮 或 单击高亮(type:'click')
* @param [options.highlight.all] - 是否整体高亮, true:模型整体全部高亮,false:单个构件高亮
* @param [options.highlight.color = '#FFFF00'] - 颜色,支持rgba字符串
* @param [options.highlight.outlineEffect = false] - 默认为修改矢量对象本身的style高亮,true时采用{@link OutlineEffect}方式高亮。
* @param [options.highlight.filter] - 可以设置筛选排除一些构件, 排除的构件在filter方法内返回false
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定,支持:'all'、数组、字符串模板
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数,还包括:
* @param [options.popupOptions.title] - 固定的标题名称
* @param [options.popupOptions.titleField] - 标题对应的属性字段名称
* @param [options.popupOptions.noTitle] - 不显示标题
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑定,参数与popup属性完全相同。
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数,还包括:
* @param [options.tooltipOptions.title] - 固定的标题名称
* @param [options.tooltipOptions.titleField] - 标题对应的属性字段名称
* @param [options.tooltipOptions.noTitle] - 不显示标题
* @param [options.contextmenuItems] - 绑定的右键菜单值,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.extent] - 图层自定义定位的矩形区域,与center二选一即可。 {@link Map#flyToExtent}
* @param options.extent.xmin - 最小经度值, -180 至 180
* @param options.extent.xmax - 最大经度值, -180 至 180
* @param options.extent.ymin - 最小纬度值, -90 至 90
* @param options.extent.ymax - 最大纬度值, -90 至 90
* @param [options.extent.height = 0] - 矩形高度值
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class OsmBuildingsLayer extends TilesetLayer {
constructor(options: {
maximumScreenSpaceError?: number;
maximumMemoryUsage?: number;
style?: any | Cesium.Cesium3DTileStyle | ((...params: any[]) => any);
marsJzwStyle?: boolean | string;
customShader?: Cesium.CustomShader;
highlight?: {
type?: string;
all?: boolean;
color?: string | ((...params: any[]) => any);
outlineEffect?: boolean;
filter?: (...params: any[]) => any;
};
allowDrillPick?: boolean | ((...params: any[]) => any);
popup?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any);
popupOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
tooltip?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any) | any;
tooltipOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
contextmenuItems?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
extent?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
height?: number;
};
flyTo?: boolean;
});
}
declare namespace TilesetLayer {
/**
* 当前类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* layer.on(mars3d.EventType.load, function (event) {
* console.log('矢量数据对象加载完成', event)
* })
* @property add - 添加对象
* @property remove - 移除对象
* @property show - 显示了对象
* @property hide - 隐藏了对象
* @property click - 左键单击 鼠标事件
* @property rightClick - 右键单击 鼠标事件
* @property mouseOver - 鼠标移入 鼠标事件
* @property mouseOut - 鼠标移出 鼠标事件
* @property popupOpen - popup弹窗打开后
* @property popupClose - popup弹窗关闭
* @property tooltipOpen - tooltip弹窗打开后
* @property tooltipClose - tooltip弹窗关闭
* @property initialTilesLoaded - 3dtiles模型,模型瓦片初始化完成 该回调只执行一次
* @property allTilesLoaded - 3dtiles模型
* @property loadBefore - 完成加载,但未做任何其他处理前
* @property load - 完成加载,执行所有内部处理后
* @property highlightOpen - highlight高亮后
* @property highlightClose - highlight关闭后
*/
type EventType = {
add: string;
remove: string;
show: string;
hide: string;
click: string;
rightClick: string;
mouseOver: string;
mouseOut: string;
popupOpen: string;
popupClose: string;
tooltipOpen: string;
tooltipClose: string;
initialTilesLoaded: string;
allTilesLoaded: string;
loadBefore: string;
load: string;
highlightOpen: string;
highlightClose: string;
};
}
/**
* 3dtiles 三维模型图层。
* @param options - 参数对象, 构造参数建议从{@link http://mars3d.cn/editor.html?id=layer-tileset/manager/edit|模型编辑页面}设置后保存参数后拷贝json参数即可。参数包括以下:
* @param options.url - tileset的主JSON文件的 url ,ION资源时可以写 url: Cesium.IonResource.fromAssetId(8564),
* @param [options.maximumScreenSpaceError = 16] - 用于驱动细化细节级别的最大屏幕空间错误。可以简单理解为:数值加大,能让最终成像变模糊。
* @param [options.maximumMemoryUsage = 512] - 数据集可以使用的最大内存量(以MB计),这个参数要根据当前客户端显卡显存来配置,如果我们场景只显示这一个模型数据,这个可以设置到显存的50% 左右,比如我的显存是4G,这个可以设置到2048左右。那么既保证不超过显存限制,又可以最大利用显存缓存。
* 解释:
* 这个参数默认是512,也即是当几何体和纹理资源大于512MB的时候,cesium就会淘汰掉当前帧中没有visited的所有块,这个值其实很小,也是cesium为了避免资源占用过高的一个保障.
* 这个值如果设置的过小,导致cesium几乎每帧都在尝试淘汰数据,增加了遍历的时间,也同时增加了崩溃的风险。
* 这个值如果设置的过大,cesium的淘汰机制失效,那么容易导致显存超过显卡内存,也会导致崩溃。 这个值应该处于最差视角下资源占用 和 显存最大量之间。
* @param [options.position] - 自定义新的中心点位置(移动模型)
* @param options.position.lng - 经度值, 180 - 180
* @param options.position.lat - 纬度值, -90 - 90
* @param options.position.alt - 高度值(单位:米)
* @param [options.rotation] - 自定义旋转方向(旋转模型)
* @param options.rotation.x - X方向,角度值0-360
* @param options.rotation.y - Y方向,角度值0-360
* @param options.rotation.z - 四周方向,角度值0-360
* @param [options.modelMatrix] - 模型的矩阵位置,内部无坐标位置的模型使用,此时position和rotation等参数均无效。
* @param [options.updateMatrix] - 外部自定义修复模型矩阵位置
* @param [options.scale = 1] - 自定义缩放比例
* @param [options.axis] - 自定义轴方向
* @param [options.style] - 模型样式, 使用{@link https://github.com/CesiumGS/3d-tiles/tree/master/specification/Styling|3D Tiles Styling language}.
* @param [options.marsJzwStyle = false] - 开启或设置建筑物特效样式。
* @param [options.customShader] - 自定义shader效果
* @param [options.highlight] - 高亮及其样式配置
* @param [options.highlight.type] - 鼠标移入高亮 或 单击高亮(type:'click')
* @param [options.highlight.all] - 是否整体高亮, true:模型整体全部高亮,false:单个构件高亮
* @param [options.highlight.color = '#FFFF00'] - 颜色,支持rgba字符串
* @param [options.highlight.outlineEffect = false] - 默认为修改矢量对象本身的style高亮,true时采用{@link OutlineEffect}方式高亮。
* @param [options.highlight.filter] - 可以设置筛选排除一些构件, 排除的构件在filter方法内返回false
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
* @param [options.clampToGround] - 是否贴地,true时自动调用贴地计算,但此属性只适合标准的与地形数据匹配的模型,并不精确,建议通过模型编辑页面调试给具体高度值。
* @param [options.chinaCRS] - 标识模型的国内坐标系(用于自动纠偏或加偏)
* @param [options.clip] - 模型裁剪 对象, 可传入{@link TilesetClip}构造参数
* @param [options.flat] - 模型压平 对象, 可传入{@link TilesetFlat}构造参数
* @param [options.flood] - 模型淹没 对象, 可传入{@link TilesetFlood}构造参数
* @param [options.planClip] - 模型Plan裁剪 对象, 可传入{@link TilesetPlanClip}构造参数
* @param [options.shadows = ShadowMode.ENABLED] - 确定tileset是否投射或接收来自光源的阴影。
* @param [options.cullWithChildrenBounds = true] - 优化选择。是否使用子绑定卷的并集来筛选贴图。
* @param [options.cullRequestsWhileMoving = true] - 优化选择。不要要求贴图,当他们回来的时候可能不会使用,因为相机的运动。这个优化只适用于固定瓷砖组。
* @param [options.cullRequestsWhileMovingMultiplier = 60.0] - 优化选择。在移动时选择请求时使用的倍增器。越大的选择性越强,越小的选择性越弱。值越小能够更快的剔除。
* @param [options.preloadWhenHidden = false] - 当true时,tileset.show是false,也去预加载数据。
* @param [options.preloadFlightDestinations = true] - 优化选择。当摄像机在飞行时,在摄像机的飞行目的地预加载贴图。
* @param [options.preferLeaves = false] - 优化选择。最好先加载上叶子节点数据。这个参数默认是false,同等条件下,叶子节点会优先加载。但是Cesium的tile加载优先级有很多考虑条件,这个只是其中之一,如果skipLevelOfDetail=false,这个参数几乎无意义。所以要配合skipLevelOfDetail=true来使用,此时设置preferLeaves=true。这样我们就能最快的看见符合当前视觉精度的块,对于提升大数据以及网络环境不好的前提下有一点点改善意义。
* @param [options.dynamicScreenSpaceError = false] - 优化选择。减少远离摄像头的贴图的屏幕空间误差。true时会在真正的全屏加载完之后才清晰化模型.
* @param [options.dynamicScreenSpaceErrorDensity = 0.00278] - 密度用来调整动态画面空间误差,类似于雾密度。
* @param [options.dynamicScreenSpaceErrorFactor = 4.0] - 用于增加计算的动态屏幕空间误差的因素。
* @param [options.dynamicScreenSpaceErrorHeightFalloff = 0.25] - 瓷砖密度开始下降时的高度之比。
* @param [options.progressiveResolutionHeightFraction = 0.3] - 优化选择。如果在(0.0,0.5)之间,在屏幕空间或以上的瓷砖错误降低屏幕分辨率 progressiveResolutionHeightFraction*screenHeight 将优先。这可以帮助得到一个快速层的瓷砖下来,而全分辨率的瓷砖继续加载。
* @param [options.foveatedScreenSpaceError = true] - 优化选择。通过暂时提高屏幕边缘的贴图的屏幕空间误差,优先加载屏幕中央的贴图。一旦所有由{@link cesium3dtilesset#foveatedConeSize}确定的屏幕中央的贴图被加载,屏幕空间错误就会恢复正常。
* @param [options.foveatedConeSize = 0.1] - 优化选择。当{@link cesium3dtilesset#foveatedScreenSpaceError}为true时使用,以控制决定哪些贴图被延迟的锥大小。装在这个圆锥体里的瓷砖会立即被装入。锥外的贴图有可能被延迟,这取决于它们在锥外的距离和它们的屏幕空间误差。这是由{@link Cesium3DTileset#foveatedInterpolationCallback}和{@link Cesium3DTileset#foveatedMinimumScreenSpaceErrorRelaxation}控制的。设置为0.0意味着圆锥将是由相机位置和它的视图方向形成的线。将此设置为1.0意味着圆锥将包含相机的整个视场,禁用此效果。
* @param [options.foveatedMinimumScreenSpaceErrorRelaxation = 0.0] - 优化选择。当{@link cesium3dtilesset#foveatedScreenSpaceError}为true时使用,以控制中心锥形以外的贴图的初始屏幕空间误差松弛。屏幕空间错误将基于所提供的{@link Cesium3DTileset#foveatedInterpolationCallback}从tileset值开始直到{@link Cesium3DTileset#maximumScreenSpaceError}。
* @param [options.foveatedInterpolationCallback = Math.lerp] - 优化选择。当{@link cesium3dtilesset#foveatedScreenSpaceError}为true时使用,以控制中心锥形以外的贴图的初始屏幕空间误差松弛。优化选择。当{@link Cesium3DTileset#foveatedScreenSpaceError}为true时使用,以控制凸出圆锥外的贴图的屏幕空间误差提高多少,插值在{@link Cesium3DTileset#foveatedminimumscreenspaceerror}和{@link Cesium3DTileset#maximumScreenSpaceError}之间。
* @param [options.foveatedTimeDelay = 0.2] - 优化选择。当{@link cesium3dtilesset#foveatedScreenSpaceError}为true时使用,以控制中心锥形以外的贴图的初始屏幕空间误差松弛。优化选择。优化选择。当{@link cesium3dtilesset#foveatedScreenSpaceError}为true时使用,以控制在延迟tile开始加载前摄像机停止移动后等待多长时间(秒)。这个时间延迟阻止了在相机移动时请求屏幕边缘的贴图。将此设置为0.0将立即请求任何给定视图中的所有贴图。
* @param [options.skipLevelOfDetail = false] - 优化选择。确定在遍历过程中是否应应用跳过详细信息的级别。是Cesium在1.5x 引入的一个优化参数,这个参数在金字塔数据加载中,可以跳过一些级别,这样整体的效率会高一些,数据占用也会小一些。但是带来的异常是:1) 加载过程中闪烁,看起来像是透过去了,数据载入完成后正常。2,有些异常的面片,这个还是因为两级LOD之间数据差异较大,导致的。当这个参数设置false,两级之间的变化更平滑,不会跳跃穿透,但是清晰的数据需要更长,而且还有个致命问题,一旦某一个tile数据无法请求到或者失败,导致一直不清晰。所以我们建议:对于网络条件好,并且数据总量较小的情况下,可以设置false,提升数据显示质量。
* @param [options.baseScreenSpaceError = 1024] - 当skipLevelOfDetail为true时,跳过详细级别之前必须达到的屏幕空间错误。
* @param [options.skipScreenSpaceErrorFactor = 16] - 当skipLevelOfDetail = true时,一个定义要跳过的最小屏幕空间错误的乘法器。与skipLevels一起使用,以决定加载哪些贴图。
* @param [options.skipLevels = 1] - 当skipLevelOfDetail是true,一个常量定义了加载tiles时要跳过的最小级别数。当它为0时,不会跳过任何级别。与skipScreenSpaceErrorFactor一起使用,以决定加载哪些贴图。
* @param [options.immediatelyLoadDesiredLevelOfDetail = false] - 当skipLevelOfDetail为true时,只有满足最大屏幕空间错误的tiles才会被下载。跳过因素将被忽略,并且只加载所需的块。
* @param [options.loadSiblings = false] - 当skipLevelOfDetail = true时,判断遍历过程中是否总是下载可见块的兄弟块。如果为true则不会在已加载完模型后,自动从中心开始超清化模型。
* @param [options.clippingPlanes] - {@link Cesium.ClippingPlaneCollection}用于选择性地禁用tile集的渲染。
* @param [options.classificationType] - 确定地形、3D贴图或两者都将被这个贴图集分类。有关限制和限制的详细信息,请参阅{@link cesium3dtilesset #classificationType}。
* @param [options.pointCloudShading] - 基于几何误差和光照构造一个{@link Cesium.PointCloudShading}对象来控制点衰减的选项。
* @param [options.lightColor] - 光的颜色当遮光模型。当undefined场景的浅色被使用代替。表示,rgb的倍数,new Cesium.Cartesian3(100.0,100.0, 100.0)表示白光增强到100倍。对Pbrt材质有效,倾斜摄影不生效。
* @param [options.backFaceCulling = true] - 是否剔除面向背面的几何图形。当为真时,背面剔除由glTF材质的双面属性决定;当为false时,禁用背面剔除。
* @param [options.debugHeatmapTilePropertyName] - 是否剔除面向背面的几何图形。当为真时,背面剔除由glTF材质的双面属性决定;作为热图着色的tile变量。所有渲染的贴图都将相对于其他指定的变量值着色。
* @param [options.pickPrimitive] - 要在拾取过程中呈现的原语,而不是tile集合。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定,支持:'all'、数组、字符串模板
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数,还包括:
* @param [options.popupOptions.title] - 固定的标题名称
* @param [options.popupOptions.titleField] - 标题对应的属性字段名称
* @param [options.popupOptions.noTitle] - 不显示标题
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑定,参数与popup属性完全相同。
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数,还包括:
* @param [options.tooltipOptions.title] - 固定的标题名称
* @param [options.tooltipOptions.titleField] - 标题对应的属性字段名称
* @param [options.tooltipOptions.noTitle] - 不显示标题
* @param [options.contextmenuItems] - 绑定的右键菜单值,也可以bindContextMenu方法绑定
* @param [options.hasEdit = true] - 是否允许编辑,且需要transform是true的模型才支持编辑
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class TilesetLayer extends BaseGraphicLayer {
constructor(options: {
url: string | Cesium.Resource | Cesium.IonResource;
maximumScreenSpaceError?: number;
maximumMemoryUsage?: number;
position?: {
lng: number;
lat: number;
alt: number;
};
rotation?: {
x: number;
y: number;
z: number;
};
modelMatrix?: Cesium.Matrix4;
updateMatrix?: (...params: any[]) => any;
scale?: number;
axis?: string | Cesium.Axis;
style?: any | Cesium.Cesium3DTileStyle | ((...params: any[]) => any);
marsJzwStyle?: boolean | string;
customShader?: Cesium.CustomShader;
highlight?: {
type?: string;
all?: boolean;
color?: string | ((...params: any[]) => any);
outlineEffect?: boolean;
filter?: (...params: any[]) => any;
};
allowDrillPick?: boolean | ((...params: any[]) => any);
clampToGround?: boolean;
chinaCRS?: ChinaCRS;
clip?: any;
flat?: any;
flood?: any;
planClip?: any;
shadows?: Cesium.ShadowMode;
cullWithChildrenBounds?: boolean;
cullRequestsWhileMoving?: boolean;
cullRequestsWhileMovingMultiplier?: number;
preloadWhenHidden?: boolean;
preloadFlightDestinations?: boolean;
preferLeaves?: boolean;
dynamicScreenSpaceError?: boolean;
dynamicScreenSpaceErrorDensity?: number;
dynamicScreenSpaceErrorFactor?: number;
dynamicScreenSpaceErrorHeightFalloff?: number;
progressiveResolutionHeightFraction?: number;
foveatedScreenSpaceError?: boolean;
foveatedConeSize?: number;
foveatedMinimumScreenSpaceErrorRelaxation?: number;
foveatedInterpolationCallback?: Cesium.Cesium3DTileset.foveatedInterpolationCallback;
foveatedTimeDelay?: number;
skipLevelOfDetail?: boolean;
baseScreenSpaceError?: number;
skipScreenSpaceErrorFactor?: number;
skipLevels?: number;
immediatelyLoadDesiredLevelOfDetail?: boolean;
loadSiblings?: boolean;
clippingPlanes?: Cesium.ClippingPlaneCollection;
classificationType?: Cesium.ClassificationType;
pointCloudShading?: any;
lightColor?: Cesium.Cartesian3;
backFaceCulling?: boolean;
debugHeatmapTilePropertyName?: string;
pickPrimitive?: any;
popup?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any);
popupOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
tooltip?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any) | any;
tooltipOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
contextmenuItems?: any;
hasEdit?: boolean;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 原始的旋转角度,示例:{ x: 0, y: 0, z: 0 }
*/
readonly orginRotation: any;
/**
* 模型对应的 Cesium3DTileset对象
*/
readonly tileset: Cesium.Cesium3DTileset;
/**
* 变换矩阵。
*/
readonly modelMatrix: Cesium.Matrix4;
/**
* 逆变换矩阵。
*/
readonly inverseMatrix: Cesium.Matrix4;
/**
* 鼠标移入或单击(type:'click')后的对应高亮的部分样式,空值时不高亮
*/
readonly highlight: any;
/**
* 开启或设置建筑物特效样式。
*/
marsJzwStyle: boolean | any;
/**
* 模型样式,
* 使用{@link https://github.com/CesiumGS/3d-tiles/tree/master/specification/Styling|3D Tiles Styling language}.
*/
style: any | Cesium.Cesium3DTileStyle | ((...params: any[]) => any);
/**
* 自定义shader效果,
* 如果默认无customShader,加载模型后动态修改customShader值
*/
customShader: Cesium.CustomShader;
/**
* 模型原始的中心点坐标
*/
readonly orginCenterPoint: LngLatPoint;
/**
* 模型原始的中心点坐标 (笛卡尔坐标)
*/
readonly orginCenterPosition: Cesium.Cartesian3;
/**
* 模型当前中心点坐标 (笛卡尔坐标)
*/
readonly position: Cesium.Cartesian3;
/**
* 模型当前中心点坐标
*/
center: LngLatPoint;
/**
* 调整修改模型高度
*/
height: LngLatPoint;
/**
* 模型的边界球体。
*/
readonly boundingSphere: Cesium.BoundingSphere;
/**
* 模型的向上轴,比如Cesium.Axis.Z 或 Cesium.Axis.Y
*/
readonly upAxis: Cesium.Axis;
/**
* 旋转方向,示例:{ x: 0, y: 0, z: 0 }
*/
rotation: any;
/**
* X轴上的旋转方向
*/
rotation_x: number;
/**
* Y轴上的旋转方向
*/
rotation_y: number;
/**
* Z轴上的旋转方向
*/
rotation_z: number;
/**
* 轴方向
*/
axis: string | Cesium.Axis;
/**
* 缩放比例
*/
scale: number;
/**
* 是否允许鼠标穿透拾取
*/
allowDrillPick: boolean | ((...params: any[]) => any);
/**
* 模型裁剪 对象
*/
readonly planClip: TilesetPlanClip;
/**
* 是否可以编辑
*/
hasEdit: boolean;
/**
* 模型裁剪 对象
*/
readonly clip: TilesetClip;
/**
* 模型压平 对象
*/
readonly flat: TilesetFlat;
/**
* 模型淹没 对象
*/
readonly flood: TilesetFlood;
/**
* 是否正在编辑状态
*/
readonly isEditing: boolean;
/**
* 重新加载模型
*/
reload(): void;
/**
* 是否存在世界矩阵
*/
readonly transform: boolean;
/**
* 模型原始矩阵
*/
readonly orginMatrix: Cesium.Matrix4;
/**
* 模型自动贴地计算及处理,
* 因为模型在设计或生产时,模型的视角中心位置不一定在0,0,0点,此方法不是唯一准确的。
* @param [addHeight = 1] - 计算完成的贴地高度基础上增加的高度值。
* @returns 无
*/
clampToGround(addHeight?: number): void;
/**
* 重新计算当前矩阵(需要是否存在世界矩阵时)
* @returns 计算完成的矩阵
*/
updateMatrix(): Cesium.Matrix4 | undefined;
/**
* 重新计算当前矩阵,普通方式, 此种方式[x,y不能多次更改]
* @returns 计算完成的矩阵
*/
updateMatrix2(): Cesium.Matrix4;
/**
* 获取构件节点位置,现对于原始矩阵变化后的新位置
* @param position - 原始位置
* @returns 新位置
*/
getPositionByOrginMatrix(position: Cesium.Cartesian3): Cesium.Cartesian3;
/**
* 设置透明度
* @param value - 透明度
* @returns 无
*/
setOpacity(value: number): void;
/**
* 设置属性信息到Feature上
* @param idField - 数据中唯一标识的属性字段名称
* @param properties - 属性值数组
* @returns 当前图层本身图层
*/
setProperties(idField: string, properties: any): TilesetLayer;
/**
* 移除 设置属性信息到Feature上
* @param [idField] - 数据中唯一标识的属性字段名称,为空时删除所有
* @param [properties] - 属性值数组,为空时删除所有
* @returns 当前图层本身图层
*/
delProperties(idField?: string, properties?: any): TilesetLayer;
/**
* 高亮对象。
* @param [highlightStyle] - 高亮的样式,具体见各{@link GraphicType}矢量数据的style参数。
* @param [closeLast = true] - 是否清除地图上上一次的高亮对象
* @param [pickedObject] - 需要高亮的构件, 如果是mars3d的相关事件内时,可以取 event.pickedObject
* @returns 无
*/
openHighlight(highlightStyle?: any, closeLast?: boolean, pickedObject?: Cesium.Cesium3DTileFeature): void;
/**
* 清除已选中的高亮,原有style的配置项需要与highlightStyle配置有一一对应关系,否则无法清除
* @returns 无
*/
closeHighlight(): void;
/**
* 是否存在Popup绑定
* @returns 是否存在Popup绑定
*/
hasPopup(): boolean;
/**
* 绑定鼠标单击对象后的弹窗。
* @param content - 弹窗内容html字符串,或者回调方法。
* @param [options] - 控制参数
* @returns 当前对象本身,可以链式调用
*/
bindPopup(content: string | any[] | ((...params: any[]) => any), options?: Popup.StyleOptions | any): TilesetLayer;
/**
* 解除绑定的鼠标单击对象后的弹窗。
* @returns 当前对象本身,可以链式调用
*/
unbindPopup(): BaseGraphicLayer;
/**
* 关闭弹窗
* @returns 当前对象本身,可以链式调用
*/
closePopup(): BaseGraphicLayer;
/**
* 开始编辑对象
* @returns 无
*/
startEditing(): void;
/**
* 停止编辑,释放正在编辑的对象。
* @returns 无
*/
stopEditing(): void;
/**
* 透明度,取值范围:0.0-1.0
*/
opacity: number;
/**
* 飞行定位至图层数据所在的视角
* @param [options = {}] - 参数对象:
* @param [options.radius] - 点状数据时,相机距离目标点的距离(单位:米)
* @param [options.scale = 1.2] - 线面数据时,缩放比例,可以控制视角比矩形略大一些,这样效果更友好。
* @param [options.duration] - 飞行时间(单位:秒)。如果省略,SDK内部会根据飞行距离计算出理想的飞行时间。
* @param [options.complete] - 飞行完成后要执行的函数。
* @param [options.cancel] - 飞行取消时要执行的函数。
* @param [options.endTransform] - 变换矩阵表示飞行结束时相机所处的参照系。
* @param [options.maximumHeight] - 飞行高峰时的最大高度。
* @param [options.pitchAdjustHeight] - 如果相机飞得比这个值高,在飞行过程中调整俯仰以向下看,并保持地球在视口。
* @param [options.flyOverLongitude] - 地球上的两点之间总有两条路。这个选项迫使相机选择战斗方向飞过那个经度。
* @param [options.flyOverLongitudeWeight] - 仅在通过flyOverLongitude指定的lon上空飞行,只要该方式的时间不超过flyOverLongitudeWeight的短途时间。
* @param [options.convert = true] - 是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。
* @param [options.easingFunction] - 控制在飞行过程中如何插值时间。
* @returns 如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise
*/
flyTo(options?: {
radius?: number;
scale?: number;
duration?: number;
complete?: Cesium.Camera.FlightCompleteCallback;
cancel?: Cesium.Camera.FlightCancelledCallback;
endTransform?: Cesium.Matrix4;
maximumHeight?: number;
pitchAdjustHeight?: number;
flyOverLongitude?: number;
flyOverLongitudeWeight?: number;
convert?: boolean;
easingFunction?: Cesium.EasingFunction.Callback;
}): Promise;
}
/**
* WFS图层
* @param [options] - 参数对象,包括以下:
* @param options.url - WFS服务地址
* @param [options.parameters] - 要在URL中 传递给WFS服务GetFeature请求的其他参数。
* @param [options.parameters.maxFeatures] - 返回结果最大数量
* @param [options.parameters.cql_filter] - 筛选服务数据的[SQL语句]{@link https://docs.geoserver.org/2.12.2/user/services/wfs/vendor.html#wfs-vendor-parameters}
* @param [options.parameters.sortBy] - 排序的属性名称,默认升序,降序时+D
* @param [options.parameters.service = 'WFS'] - 服务类型
* @param [options.parameters.version = '1.0.0'] - 服务版本
* @param [options.geometryName = 'the_geom'] - geometry字段名称
* @param [options.headers] - 将被添加到HTTP请求头。
* @param [options.proxy] - 加载资源时使用的代理。
* @param options.layer - 图层名称(命名空间:图层名称),多个图层名称用逗号隔开
* @param [options.IdField = 'id'] - 数据中唯一标识的属性字段名称
* @param [options.getCapabilities = true] - 是否通过服务本身的GetCapabilities来读取一些参数,减少options配置项
* @param [options.minimumLevel = 0] - 图层所支持的最低层级,当地图小于该级别时,平台不去请求服务数据。【影响效率的重要参数】
* @param [options.maximumLevel] - 图层所支持的最大层级,当地图大于该级别时,平台不去请求服务数据。
* @param options.rectangle - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param options.debuggerTileInfo - 是否开启测试显示瓦片信息
* @param [options.zIndex] - 控制图层的叠加层次(部分图层),默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面。
* @param [options.symbol] - 矢量数据的style样式,为Function时是完全自定义的回调处理 symbol(attr, style, feature)
* @param [options.symbol.type] - 标识数据类型,默认是根据数据生成 point、polyline、polygon
* @param options.symbol.styleOptions - Style样式,每种不同类型数据都有不同的样式,具体见各矢量数据的style参数。{@link GraphicType}
* @param [options.symbol.styleField] - 按 styleField 属性设置不同样式。
* @param [options.symbol.styleFieldOptions] - 按styleField值与对应style样式的键值对象。
* @param [options.symbol.merge] - 是否合并并覆盖json中已有的style,默认不合并。
* @param [options.symbol.callback] - 自定义判断处理返回style ,示例:callback: function (attr, styleOpt){ return { color: "#ff0000" }; }
* @param [options.graphicOptions] - 默认的graphic的构造参数,每种不同类型数据都有不同的属性,具体见各{@link GraphicType}矢量数据的构造参数。
* @param [options.chinaCRS] - 标识数据的国内坐标系(用于自动纠偏或加偏)
* @param [options.allowDrillPick] - 是否允许鼠标穿透拾取
* @param [options.buildings] - 标识当前图层为建筑物白膜类型数据
* @param [options.buildings.bottomHeight] - 建筑物底部高度(如:0) 属性字段名称(如:{bottomHeight})
* @param [options.buildings.cloumn = 1] - 层数,楼的实际高度 = height*cloumn
* @param [options.buildings.height = 3.5] - 层高的 固定层高数值(如:10) 或 属性字段名称(如:{height})
* @param [options.clustering] - Entity点数据时,设置聚合相关参数:
* @param [options.clustering.enabled = false] - 是否开启聚合
* @param [options.clustering.pixelRange = 20] - 多少像素矩形范围内聚合
* @param [options.clustering.clampToGround = true] - 是否贴地
* @param [options.clustering.radius = 26] - 内置样式时,圆形图标的半径大小(单位:像素)
* @param [options.clustering.fontColor = '#ffffff'] - 内置样式时,数字的颜色
* @param [options.clustering.color = 'rgba(181, 226, 140, 0.6)'] - 内置样式时,圆形图标的背景颜色
* @param [options.clustering.opacity = 0.5] - 内置样式时,圆形图标的透明度
* @param [options.clustering.borderWidth = 5] - 圆形图标的边框宽度(单位:像素),0不显示
* @param [options.clustering.borderColor = 'rgba(110, 204, 57, 0.5)'] - 内置样式时,圆形图标的边框颜色
* @param [options.clustering.borderOpacity = 0.6] - 内置样式时,圆形图标边框的透明度
* @param [options.clustering.getImage] - 自定义聚合的图标样式,例如:getImage:function(count) { return image}
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定,支持:'all'、数组、字符串模板
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数,还包括:
* @param [options.popupOptions.title] - 固定的标题名称
* @param [options.popupOptions.titleField] - 标题对应的属性字段名称
* @param [options.popupOptions.noTitle] - 不显示标题
* @param [options.tooltip] - 绑定的tooltip弹窗值,也可以bindTooltip方法绑定,参数与popup属性完全相同。
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数,还包括:
* @param [options.tooltipOptions.title] - 固定的标题名称
* @param [options.tooltipOptions.titleField] - 标题对应的属性字段名称
* @param [options.tooltipOptions.noTitle] - 不显示标题
* @param [options.contextmenuItems] - 绑定的右键菜单值,也可以bindContextMenu方法绑定
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.extent] - 图层自定义定位的矩形区域,与center二选一即可。 {@link Map#flyToExtent}
* @param options.extent.xmin - 最小经度值, -180 至 180
* @param options.extent.xmax - 最大经度值, -180 至 180
* @param options.extent.ymin - 最小纬度值, -90 至 90
* @param options.extent.ymax - 最大纬度值, -90 至 90
* @param [options.extent.height = 0] - 矩形高度值
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class WfsLayer extends LodGraphicLayer {
constructor(options?: {
url: string;
parameters?: {
maxFeatures?: number;
cql_filter?: string;
sortBy?: string;
service?: string;
version?: string;
};
geometryName?: string;
headers?: any;
proxy?: Cesium.Proxy;
layer: string;
IdField?: string;
getCapabilities?: boolean;
minimumLevel?: number;
maximumLevel?: number;
rectangle: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
debuggerTileInfo: boolean;
zIndex?: number;
symbol?: {
type?: GraphicType | string;
styleOptions: any;
styleField?: string;
styleFieldOptions?: any;
merge?: boolean;
callback?: (...params: any[]) => any;
};
graphicOptions?: any;
chinaCRS?: ChinaCRS;
allowDrillPick?: boolean | ((...params: any[]) => any);
buildings?: {
bottomHeight?: string;
cloumn?: string;
height?: string | number;
};
clustering?: {
enabled?: boolean;
pixelRange?: number;
clampToGround?: boolean;
radius?: number;
fontColor?: string;
color?: string;
opacity?: number;
borderWidth?: number;
borderColor?: string;
borderOpacity?: number;
getImage?: (...params: any[]) => any;
};
popup?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any);
popupOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
tooltip?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any) | any;
tooltipOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
contextmenuItems?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
extent?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
height?: number;
};
flyTo?: boolean;
});
}
/**
* 图层组,可以用于将多个图层组合起来方便控制(比如将 卫星底图 和 文字注记层 放在一起控制管理),或用于 图层管理 的图层分组节点(虚拟节点)。
* @param [options] - 参数对象,包括以下:
* @param [options.layers] - 子图层数组,每个子图层的配置见按各类型图层配置即可。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class GroupLayer extends BaseGraphicLayer {
constructor(options?: {
layers?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 子图层对象数组
*/
readonly arrLayer: BaseLayer[] | GraphicLayer[];
/**
* 是否空组 ,空组目前就图层管理用于图层分组节点(虚拟节点)。
*/
readonly hasEmptyGroup: boolean;
/**
* 是否有子图层
*/
readonly hasChildLayer: boolean;
/**
* 子图层的个数
*/
readonly length: number;
/**
* 是否可以调整透明度
*/
readonly hasOpacity: boolean;
/**
* 是否可以调整图层顺序(在同类型图层间)
*/
readonly hasZIndex: boolean;
/**
* 图层顺序,数字大的在上面。(当hasZIndex为true时)
*/
zIndex: number;
/**
* 添加所有子图层到map上
* @returns 当前对象本身,可以链式调用
*/
addChildsToMap(): GroupLayer;
/**
* 将所有子图层从map中移除
* @returns 当前对象本身,可以链式调用
*/
removeMapChilds(): GroupLayer;
/**
* 添加子图层,并绑定关联关系。
* @param childlayer - 子图层对象
* @returns 当前对象本身,可以链式调用
*/
addLayer(childlayer: BaseLayer | GraphicLayer): GroupLayer;
/**
* 移除子图层,并解除关联关系。
* @param childlayer - 子图层对象
* @returns 当前对象本身,可以链式调用
*/
removeLayer(childlayer: BaseLayer | GraphicLayer): GroupLayer;
/**
* 遍历每一个子图层并将其作为参数传递给回调函数
* @param method - 回调方法
* @param [context] - 侦听器的上下文(this关键字将指向的对象)。
* @returns 当前对象本身,可以链式调用
*/
eachLayer(method: (...params: any[]) => any, context?: any): GroupLayer;
/**
* 获取所有内置子图层对象
* @returns 所有子图层对象
*/
getLayers(): BaseLayer[] | GraphicLayer[];
/**
* 获取地图所有的子图层对象(包括pid和id关联的图层)
* @returns 所有子图层对象
*/
getInMapChilds(): BaseLayer[] | GraphicLayer[];
/**
* 根据ID或取图层
* @param id - 图层id或uuid
* @returns 图层对象
*/
getLayerById(id: string | number): BaseLayer | GraphicLayer | any;
/**
* 根据id或name属性获取图层
* @param name - 图层id或uuid或name值
* @returns 图层对象
*/
getLayer(name: string | number): BaseLayer | GraphicLayer;
/**
* 是否有同名的子图层,一般用于新增时判断
* @param name - 图层名称
* @param [excludedLayer] - 可以指定不进行判断的图层,比如当前图层本身
* @returns 是否同名
*/
hasLayer(name: string, excludedLayer?: BaseLayer): boolean;
/**
* 获取图层内所有数据的 矩形边界值
* @param [isFormat = false] - 是否格式化,格式化时示例: { xmin: 73.16895, xmax: 134.86816, ymin: 12.2023, ymax: 54.11485 }
* @returns isFormat:true时,返回格式化对象,isFormat:false时返回Cesium.Rectangle对象
*/
getRectangle(isFormat?: boolean): Cesium.Rectangle | any;
}
/**
* 地形服务图层,一个地图中只会生效一个地形服务图层(单选)
* @param [options] - 参数对象,包括以下:
* @param options.terrain - 地形服务配置
* @param [options.terrain.type = 'xyz'] - 地形类型
* @param options.terrain.url - 地形服务地址
* @param [options.terrain.requestVertexNormals = true] - 是否应该从服务器请求额外的光照信息,如果可用,以每个顶点法线的形式。
* @param [options.terrain.requestWaterMask = false] - 是否应该向服务器请求每个瓦的水掩膜(如果有的话)。
* @param [options.terrain.requestMetadata = true] - 是否应该从服务器请求每个块元数据(如果可用)。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示(多个地形服务时,请只设置一个TerrainLayer图层的show为tue)
*/
declare class TerrainLayer extends BaseLayer {
constructor(options?: {
terrain: {
type?: TerrainType;
url: string | Cesium.Resource;
requestVertexNormals?: boolean;
requestWaterMask?: boolean;
requestMetadata?: boolean;
};
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
});
}
/**
* ArcGIS生成的金字塔瓦片数据
* @example
* let tileLayer = new mars3d.layer.ArcGisCacheLayer({
* url: 'http://data.mars3d.cn/tile/hf/guihua/_alllayers/{z}/{y}/{x}.png',
* minimumLevel: 1,
* maximumLevel: 17,
* minimumTerrainLevel: 1,
* // "maximumTerrainLevel": 17, //如果需要大于maximumTerrainLevel层时不显示瓦片,则取消注释
* rectangle: { xmin: 116.846, xmax: 117.642, ymin: 31.533, ymax: 32.185 }, // 控制切片如果在矩形坐标内才显示,如果不在矩形坐标内不显示
* })
* map.addLayer(tileLayer)
* @param [options] - 参数对象,包括以下:
* @param options.url - 用于请求瓦片图块的URL模板。它具有以下关键字:
*
* {z}: 切片方案中切片的级别。零级是四叉树金字塔的根。
* {x}:切片方案中的图块X坐标,其中0是最西端的图块。
* {y}: 切片方案中的图块Y坐标,其中0是最北的图块。
* {s}:可用的子域之一,用于克服浏览器对每个主机的并发请求数的限制。
*
* @param [options.subdomains] - URL模板中用于 {s} 占位符的子域。 如果此参数是单个字符串,则字符串中的每个字符都是一个子域。如果是一个数组,数组中的每个元素都是一个子域。
* @param [options.upperCase] - url请求的瓦片图片名称是否大写。
* @param [options.minimumLevel = 0] - 瓦片所支持的最低层级,如果数据没有第0层,该参数必须配置,当地图小于该级别时,平台不去请求服务数据。
* @param [options.maximumLevel] - 瓦片所支持的最大层级,大于该层级时会显示上一层拉伸后的瓦片,当地图大于该级别时,平台不去请求服务数据。
* @param [options.minimumTerrainLevel] - 展示影像图层的最小地形细节级别,小于该级别时,平台不显示影像数据。
* @param [options.maximumTerrainLevel] - 展示影像图层的最大地形细节级别,大于该级别时,平台不显示影像数据。
* @param [options.rectangle] - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param [options.zIndex] - 控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效)。
* @param [options.crs = CRS.EPSG:3857] - 瓦片数据的坐标系信息,默认为墨卡托投影
* @param [options.chinaCRS] - 标识瓦片的国内坐标系(用于自动纠偏或加偏),自动将瓦片转为map对应的chinaCRS类型坐标系。
* @param [options.proxy] - 加载资源时要使用的代理服务url。
* @param [options.templateValues] - 一个对象,用于替换Url中的模板值的键/值对
* @param [options.queryParameters] - 一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'},
* @param [options.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' },
* @param [options.enablePickFeatures = true] - 如果为true,则 {@link UrlTemplateImageryProvider#pickFeatures} 请求 pickFeaturesUrl 并尝试解释响应中包含的功能。
* 如果为 false{@link UrlTemplateImageryProvider#pickFeatures} 会立即返回未定义(表示没有可拾取的内容) 功能)而无需与服务器通信。如果您知道数据,则将此属性设置为false 源不支持选择功能,或者您不希望该提供程序的功能可供选择。注意 可以通过修改 {@link UriTemplateImageryProvider#enablePickFeatures}来动态覆盖 属性。
* @param [options.getFeatureInfoFormats] - 在某处获取功能信息的格式 调用 {@link UrlTemplateImageryProvider#pickFeatures} 的特定位置。如果这 参数未指定,功能选择已禁用。
* @param [options.opacity = 1.0] - 透明度,取值范围:0.0-1.0。
* @param [options.alpha = 1.0] - 同opacity。
* @param [options.nightAlpha = 1.0] - 当 enableLighting 为 true 时 ,在地球的夜晚区域的透明度,取值范围:0.0-1.0。
* @param [options.dayAlpha = 1.0] - 当 enableLighting 为 true 时,在地球的白天区域的透明度,取值范围:0.0-1.0。
* @param [options.brightness = 1.0] - 亮度
* @param [options.contrast = 1.0] - 对比度。 1.0使用未修改的图像颜色,小于1.0会降低对比度,而大于1.0则会提高对比度。
* @param [options.hue = 0.0] - 色调。 0.0 时未修改的图像颜色。
* @param [options.saturation = 1.0] - 饱和度。 1.0使用未修改的图像颜色,小于1.0会降低饱和度,而大于1.0则会增加饱和度。
* @param [options.gamma = 1.0] - 伽马校正值。 1.0使用未修改的图像颜色。
* @param [options.invertColor] - 是否反向颜色,内部计算规则: color.r = 1.0 - color.r
* @param [options.filterColor] - 滤镜颜色,内部计算规则: color.r = color.r * filterColor.r
* @param [options.maximumAnisotropy = maximum supported] - 使用的最大各向异性水平 用于纹理过滤。如果未指定此参数,则支持最大各向异性 将使用WebGL堆栈。较大的值可使影像在水平方向上看起来更好 视图。
* @param [options.cutoutRectangle] - 制图矩形,用于裁剪此ImageryLayer的一部分。
* @param [options.colorToAlpha] - 用作Alpha的颜色。
* @param [options.colorToAlphaThreshold = 0.004] - 颜色到Alpha的阈值。
* @param [options.hasAlphaChannel = true] - 如果此图像提供者提供的图像为真 包括一个Alpha通道;否则为假。如果此属性为false,则为Alpha通道,如果 目前,将被忽略。如果此属性为true,则任何没有Alpha通道的图像都将 它们的alpha随处可见。当此属性为false时,内存使用情况 和纹理上传时间可能会减少。
* @param [options.tileWidth = 256] - 图像图块的像素宽度。
* @param [options.tileHeight = 256] - 图像图块的像素高度。
* @param [options.customTags] - 允许替换网址模板中的自定义关键字。该对象必须具有字符串作为键,并且必须具有值。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class ArcGisCacheLayer extends BaseTileLayer {
constructor(options?: {
url: Cesium.Resource | string;
subdomains?: string | string[];
upperCase?: boolean;
minimumLevel?: number;
maximumLevel?: number;
minimumTerrainLevel?: number;
maximumTerrainLevel?: number;
rectangle?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
zIndex?: number;
crs?: CRS;
chinaCRS?: ChinaCRS;
proxy?: string;
templateValues?: any;
queryParameters?: any;
headers?: any;
enablePickFeatures?: boolean;
getFeatureInfoFormats?: Cesium.GetFeatureInfoFormat[];
opacity?: number;
alpha?: number | ((...params: any[]) => any);
nightAlpha?: number | ((...params: any[]) => any);
dayAlpha?: number | ((...params: any[]) => any);
brightness?: number | ((...params: any[]) => any);
contrast?: number | ((...params: any[]) => any);
hue?: number | ((...params: any[]) => any);
saturation?: number | ((...params: any[]) => any);
gamma?: number | ((...params: any[]) => any);
invertColor?: boolean;
filterColor?: string | Cesium.Color;
maximumAnisotropy?: number;
cutoutRectangle?: Cesium.Rectangle;
colorToAlpha?: Cesium.Color;
colorToAlphaThreshold?: number;
hasAlphaChannel?: boolean;
tileWidth?: number;
tileHeight?: number;
customTags?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 创建用于图层的 ImageryProvider对象
* @param options - Provider参数,同图层构造参数。
* @returns ImageryProvider类
*/
static createImageryProvider(options: any): any;
/**
* 创建瓦片图层对应的ImageryProvider对象
* @param [options = {}] - 参数对象,具体每类瓦片图层都不一样。
* @returns 创建完成的 ImageryProvider 对象
*/
_createImageryProvider(options?: any): Cesium.UrlTemplateImageryProvider | any;
}
declare namespace ArcGisLayer {
/**
* ArcGIS服务图层支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* layer.on(mars3d.EventType.loadConfig, function (event) {
* console.log('loadConfig', event)
* })
* @property loadConfig - 加载metadata配置信息完成事件
* @property click - 鼠标单击事件【enablePickFeatures:true时,支持单击获取对应的矢量对象】
*/
type EventType = {
loadConfig: string;
click: string;
};
}
/**
* ArcGIS标准服务图层
* @param [options] - 参数对象,包括以下:
* @param options.url - ArcGIS MapServer服务的网址。
* @param [options.subdomains] - URL模板中用于 {s} 占位符的子域。 如果此参数是单个字符串,则字符串中的每个字符都是一个子域。如果是一个数组,数组中的每个元素都是一个子域。
* @param [options.layers] - 要显示的图层的逗号分隔列表,如果应显示所有图层,则未定义。
* @param [options.layerDefs] - 可以对动态服务加条件筛选数据,示例:"{\"0\":\"用地编号 = 'R'\"}",具体可以参阅arcgis官方帮助文档理解layerDefs参数。
* @param [options.usePreCachedTilesIfAvailable = true] - 如果为true,则表示优先使用服务的瓦片图片,没有瓦片时再使用动态服务。如果为false,则将忽略所有瓦片,直接使用动态服务。
* @param [options.maxTileLevel] - 指定在小于此层级时用瓦片加载,大于该层级用动态服务.可以在瓦片服务类型时,同时使用瓦片和动态服务。
* @param [options.wkid] - 当非标准EPSG标号时,可以指定wkid值。
* @param [options.token] - 用于通过ArcGIS MapServer服务进行身份验证的ArcGIS令牌。
* @param [options.tileDiscardPolicy] - 于确定图块是否为 无效,应将其丢弃。如果未指定此值,则为默认 {@link DiscardMissingTileImagePolicy} 用于平铺的地图服务器,并且{@link NeverTileDiscardPolicy} 用于非平铺地图服务器。在前一种情况下, 我们要求最大图块级别的图块0,0并检查像素(0,0),(200,20),(20,200), (80,110)和(160,130)。如果所有这些像素都是透明的,则丢弃检查为 禁用,并且不会丢弃任何图块。如果它们中的任何一种具有不透明的颜色, 在这些像素位置具有相同值的图块将被丢弃。的最终结果 对于标准ArcGIS Server,这些默认值应该是正确的图块丢弃。确保 不会丢弃任何图块,为此构造并传递 {@link NeverTileDiscardPolicy} 参数。
* @param [options.proxy] - 加载资源时要使用的代理服务url。
* @param [options.templateValues] - 一个对象,用于替换Url中的模板值的键/值对
* @param [options.queryParameters] - 一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'},
* @param [options.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' },
* @param [options.minimumLevel = 0] - 瓦片所支持的最低层级,如果数据没有第0层,该参数必须配置,当地图小于该级别时,平台不去请求服务数据。
* @param [options.maximumLevel] - 瓦片所支持的最大层级,大于该层级时会显示上一层拉伸后的瓦片,当地图大于该级别时,平台不去请求服务数据。
* @param [options.minimumTerrainLevel] - 展示影像图层的最小地形细节级别,小于该级别时,平台不显示影像数据。
* @param [options.maximumTerrainLevel] - 展示影像图层的最大地形细节级别,大于该级别时,平台不显示影像数据。
* @param [options.rectangle] - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param [options.zIndex] - 控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效)。
* @param [options.crs = CRS.EPSG4326] - 瓦片数据的坐标系信息,默认为墨卡托投影
* @param [options.chinaCRS] - 标识瓦片的国内坐标系(用于自动纠偏或加偏),自动将瓦片转为map对应的chinaCRS类型坐标系。
* @param [options.enablePickFeatures = true] - 如果为true,则请求 单击坐标处服务中对应的矢量数据 并尝试解释响应中包含的功能。为false时不去服务请求。
* @param [options.featureToGraphic = mars3d.Util.geoJsonToGraphics] - 解析单击返回的矢量数据信息为Graphic构造参数,可以按需自定义。
* @param [options.hasToGraphic] - 筛选或判断是否解析,单击获取到的数据进行按需筛选解析,大数据解析很卡,可以设定阀值屏蔽大数据,避免卡顿,number类型时代表字符串长度值。
* @param [options.highlight] - 鼠标单击高亮显示对应的矢量数据 及其样式,具体见各{@link GraphicType}矢量数据的style参数。
* @param [options.highlight.type] - 构造成的矢量数据类型。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定,支持:'all'、数组、字符串模板
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数,还包括:
* @param [options.popupOptions.title] - 固定的标题名称
* @param [options.popupOptions.titleField] - 标题对应的属性字段名称
* @param [options.popupOptions.noTitle] - 不显示标题
* @param [options.opacity = 1.0] - 透明度,取值范围:0.0-1.0。
* @param [options.alpha = 1.0] - 同opacity。
* @param [options.nightAlpha = 1.0] - 当 enableLighting 为 true 时 ,在地球的夜晚区域的透明度,取值范围:0.0-1.0。
* @param [options.dayAlpha = 1.0] - 当 enableLighting 为 true 时,在地球的白天区域的透明度,取值范围:0.0-1.0。
* @param [options.brightness = 1.0] - 亮度
* @param [options.contrast = 1.0] - 对比度。 1.0使用未修改的图像颜色,小于1.0会降低对比度,而大于1.0则会提高对比度。
* @param [options.hue = 0.0] - 色调。 0.0 时未修改的图像颜色。
* @param [options.saturation = 1.0] - 饱和度。 1.0使用未修改的图像颜色,小于1.0会降低饱和度,而大于1.0则会增加饱和度。
* @param [options.gamma = 1.0] - 伽马校正值。 1.0使用未修改的图像颜色。
* @param [options.invertColor] - 是否反向颜色,内部计算规则: color.r = 1.0 - color.r
* @param [options.filterColor] - 滤镜颜色,内部计算规则: color.r = color.r * filterColor.r
* @param [options.maximumAnisotropy = maximum supported] - 使用的最大各向异性水平 用于纹理过滤。如果未指定此参数,则支持最大各向异性 将使用WebGL堆栈。较大的值可使影像在水平方向上看起来更好 视图。
* @param [options.cutoutRectangle] - 制图矩形,用于裁剪此ImageryLayer的一部分。
* @param [options.colorToAlpha] - 用作Alpha的颜色。
* @param [options.colorToAlphaThreshold = 0.004] - 颜色到Alpha的阈值。
* @param [options.hasAlphaChannel = true] - 如果此图像提供者提供的图像为真 包括一个Alpha通道;否则为假。如果此属性为false,则为Alpha通道,如果 目前,将被忽略。如果此属性为true,则任何没有Alpha通道的图像都将 它们的alpha随处可见。当此属性为false时,内存使用情况 和纹理上传时间可能会减少。
* @param [options.tileWidth = 256] - 图像图块的像素宽度。
* @param [options.tileHeight = 256] - 图像图块的像素高度。
* @param [options.customTags] - 允许替换网址模板中的自定义关键字。该对象必须具有字符串作为键,并且必须具有值。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class ArcGisLayer extends BaseTileLayer {
constructor(options?: {
url: Cesium.Resource | string;
subdomains?: string | string[];
layers?: string;
layerDefs?: string;
usePreCachedTilesIfAvailable?: boolean;
maxTileLevel?: number;
wkid?: number;
token?: string;
tileDiscardPolicy?: Cesium.TileDiscardPolicy;
proxy?: string;
templateValues?: any;
queryParameters?: any;
headers?: any;
minimumLevel?: number;
maximumLevel?: number;
minimumTerrainLevel?: number;
maximumTerrainLevel?: number;
rectangle?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
zIndex?: number;
crs?: CRS;
chinaCRS?: ChinaCRS;
enablePickFeatures?: boolean;
featureToGraphic?: (...params: any[]) => any;
hasToGraphic?: number | boolean | ((...params: any[]) => any);
highlight?: {
type?: GraphicType | string;
};
popup?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any);
popupOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
opacity?: number;
alpha?: number | ((...params: any[]) => any);
nightAlpha?: number | ((...params: any[]) => any);
dayAlpha?: number | ((...params: any[]) => any);
brightness?: number | ((...params: any[]) => any);
contrast?: number | ((...params: any[]) => any);
hue?: number | ((...params: any[]) => any);
saturation?: number | ((...params: any[]) => any);
gamma?: number | ((...params: any[]) => any);
invertColor?: boolean;
filterColor?: string | Cesium.Color;
maximumAnisotropy?: number;
cutoutRectangle?: Cesium.Rectangle;
colorToAlpha?: Cesium.Color;
colorToAlphaThreshold?: number;
hasAlphaChannel?: boolean;
tileWidth?: number;
tileHeight?: number;
customTags?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 坐标系
*/
readonly crs: CRS | string;
/**
* 是否存在Popup绑定
* @returns 是否存在Popup绑定
*/
hasPopup(): boolean;
/**
* 绑定鼠标单击对象后的弹窗。
* @param content - 弹窗内容html字符串,或者回调方法。
* @param [options] - 控制参数
* @returns 当前对象本身,可以链式调用
*/
bindPopup(content: string | ((...params: any[]) => any), options?: Popup.StyleOptions | any): ArcGisLayer;
/**
* 解除绑定的鼠标单击对象后的弹窗。
* @returns 当前对象本身,可以链式调用
*/
unbindPopup(): BaseGraphicLayer;
/**
* 关闭弹窗
* @returns 当前对象本身,可以链式调用
*/
closePopup(): BaseGraphicLayer;
/**
* 创建用于图层的 ImageryProvider对象
* @param options - Provider参数,同图层构造参数。
* @returns ImageryProvider类
*/
static createImageryProvider(options: any): any;
/**
* 创建瓦片图层对应的ImageryProvider对象
* @param [options = {}] - 参数对象,具体每类瓦片图层都不一样。
* @returns 创建完成的 ImageryProvider 对象
*/
_createImageryProvider(options?: any): Cesium.UrlTemplateImageryProvider | any;
/**
* 对象添加到地图上的创建钩子方法,
* 每次add时都会调用
* @returns 无
*/
_addedHook(): void;
}
/**
* ArcGIS瓦片服务(使用XYZ瓦片方式请求读取),可用于ArcGisLayer读取异常时。
* @example
* let tileLayer = new mars3d.layer.ArcGisTileLayer({
* url: 'http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineCommunity/MapServer',
* minimumLevel: 1,
* maximumLevel: 17,
* minimumTerrainLevel: 1,
* // "maximumTerrainLevel": 17, //如果需要大于maximumTerrainLevel层时不显示瓦片,则取消注释
* rectangle: { xmin: 116.846, xmax: 117.642, ymin: 31.533, ymax: 32.185 }, // 控制切片如果在矩形坐标内才显示,如果不在矩形坐标内不显示
* })
* map.addLayer(tileLayer)
* @param [options] - 参数对象,包括以下:
* @param options.url - 用于请求瓦片图块的URL模板,比如:"http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineCommunity/MapServer"
* @param [options.subdomains] - URL模板中用于 {s} 占位符的子域。 如果此参数是单个字符串,则字符串中的每个字符都是一个子域。如果是一个数组,数组中的每个元素都是一个子域。
* @param [options.minimumLevel = 0] - 瓦片所支持的最低层级,如果数据没有第0层,该参数必须配置,当地图小于该级别时,平台不去请求服务数据。
* @param [options.maximumLevel] - 瓦片所支持的最大层级,大于该层级时会显示上一层拉伸后的瓦片,当地图大于该级别时,平台不去请求服务数据。
* @param [options.minimumTerrainLevel] - 展示影像图层的最小地形细节级别,小于该级别时,平台不显示影像数据。
* @param [options.maximumTerrainLevel] - 展示影像图层的最大地形细节级别,大于该级别时,平台不显示影像数据。
* @param [options.rectangle] - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param [options.zIndex] - 控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效)。
* @param [options.crs = CRS.EPSG:3857] - 瓦片数据的坐标系信息,默认为墨卡托投影
* @param [options.chinaCRS] - 标识瓦片的国内坐标系(用于自动纠偏或加偏),自动将瓦片转为map对应的chinaCRS类型坐标系。
* @param [options.proxy] - 加载资源时要使用的代理服务url。
* @param [options.templateValues] - 一个对象,用于替换Url中的模板值的键/值对
* @param [options.queryParameters] - 一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'},
* @param [options.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' },
* @param [options.enablePickFeatures = true] - 如果为true,则 {@link UrlTemplateImageryProvider#pickFeatures} 请求 pickFeaturesUrl 并尝试解释响应中包含的功能。
* 如果为 false{@link UrlTemplateImageryProvider#pickFeatures} 会立即返回未定义(表示没有可拾取的内容) 功能)而无需与服务器通信。如果您知道数据,则将此属性设置为false 源不支持选择功能,或者您不希望该提供程序的功能可供选择。注意 可以通过修改 {@link UriTemplateImageryProvider#enablePickFeatures}来动态覆盖 属性。
* @param [options.getFeatureInfoFormats] - 在某处获取功能信息的格式 调用 {@link UrlTemplateImageryProvider#pickFeatures} 的特定位置。如果这 参数未指定,功能选择已禁用。
* @param [options.opacity = 1.0] - 透明度,取值范围:0.0-1.0。
* @param [options.alpha = 1.0] - 同opacity。
* @param [options.nightAlpha = 1.0] - 当 enableLighting 为 true 时 ,在地球的夜晚区域的透明度,取值范围:0.0-1.0。
* @param [options.dayAlpha = 1.0] - 当 enableLighting 为 true 时,在地球的白天区域的透明度,取值范围:0.0-1.0。
* @param [options.brightness = 1.0] - 亮度
* @param [options.contrast = 1.0] - 对比度。 1.0使用未修改的图像颜色,小于1.0会降低对比度,而大于1.0则会提高对比度。
* @param [options.hue = 0.0] - 色调。 0.0 时未修改的图像颜色。
* @param [options.saturation = 1.0] - 饱和度。 1.0使用未修改的图像颜色,小于1.0会降低饱和度,而大于1.0则会增加饱和度。
* @param [options.gamma = 1.0] - 伽马校正值。 1.0使用未修改的图像颜色。
* @param [options.invertColor] - 是否反向颜色,内部计算规则: color.r = 1.0 - color.r
* @param [options.filterColor] - 滤镜颜色,内部计算规则: color.r = color.r * filterColor.r
* @param [options.maximumAnisotropy = maximum supported] - 使用的最大各向异性水平 用于纹理过滤。如果未指定此参数,则支持最大各向异性 将使用WebGL堆栈。较大的值可使影像在水平方向上看起来更好 视图。
* @param [options.cutoutRectangle] - 制图矩形,用于裁剪此ImageryLayer的一部分。
* @param [options.colorToAlpha] - 用作Alpha的颜色。
* @param [options.colorToAlphaThreshold = 0.004] - 颜色到Alpha的阈值。
* @param [options.hasAlphaChannel = true] - 如果此图像提供者提供的图像为真 包括一个Alpha通道;否则为假。如果此属性为false,则为Alpha通道,如果 目前,将被忽略。如果此属性为true,则任何没有Alpha通道的图像都将 它们的alpha随处可见。当此属性为false时,内存使用情况 和纹理上传时间可能会减少。
* @param [options.tileWidth = 256] - 图像图块的像素宽度。
* @param [options.tileHeight = 256] - 图像图块的像素高度。
* @param [options.customTags] - 允许替换网址模板中的自定义关键字。该对象必须具有字符串作为键,并且必须具有值。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class ArcGisTileLayer extends BaseTileLayer {
constructor(options?: {
url: string;
subdomains?: string | string[];
minimumLevel?: number;
maximumLevel?: number;
minimumTerrainLevel?: number;
maximumTerrainLevel?: number;
rectangle?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
zIndex?: number;
crs?: CRS;
chinaCRS?: ChinaCRS;
proxy?: string;
templateValues?: any;
queryParameters?: any;
headers?: any;
enablePickFeatures?: boolean;
getFeatureInfoFormats?: Cesium.GetFeatureInfoFormat[];
opacity?: number;
alpha?: number | ((...params: any[]) => any);
nightAlpha?: number | ((...params: any[]) => any);
dayAlpha?: number | ((...params: any[]) => any);
brightness?: number | ((...params: any[]) => any);
contrast?: number | ((...params: any[]) => any);
hue?: number | ((...params: any[]) => any);
saturation?: number | ((...params: any[]) => any);
gamma?: number | ((...params: any[]) => any);
invertColor?: boolean;
filterColor?: string | Cesium.Color;
maximumAnisotropy?: number;
cutoutRectangle?: Cesium.Rectangle;
colorToAlpha?: Cesium.Color;
colorToAlphaThreshold?: number;
hasAlphaChannel?: boolean;
tileWidth?: number;
tileHeight?: number;
customTags?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 创建用于图层的 ImageryProvider对象
* @param options - Provider参数,同图层构造参数。
* @returns ImageryProvider类
*/
static createImageryProvider(options: any): any;
/**
* 创建瓦片图层对应的ImageryProvider对象
* @param [options = {}] - 参数对象,具体每类瓦片图层都不一样。
* @returns 创建完成的 ImageryProvider 对象
*/
_createImageryProvider(options?: any): Cesium.UrlTemplateImageryProvider | any;
}
/**
* 百度地图
* @param [options] - 参数对象,包括以下:
* @param [options.layer] - 图层类型,以及以下内容:
*
* vec: 电子图层
* img_d: 卫星影像
* img_z: 影像注记
* custom: 自定义样式图层
* time: 实时路况信息
* streetview: 街景覆盖图层
*
* @param [options.url] - 当未指定layer类型时,可以传入外部指定url的服务地址,常用于离线服务。
* @param [options.subdomains] - URL模板中用于 {s} 占位符的子域。 如果此参数是单个字符串,则字符串中的每个字符都是一个子域。如果是一个数组,数组中的每个元素都是一个子域。
* @param [options.bigfont] - 当layer为vec或img_z时,来标识使用是否大写字体。
* @param [options.style] - 当layer为custom时,标识的样式,可选值:dark,midnight,grayscale,hardedge,light,redalert,googlelite,grassgreen,pink,darkgreen,bluish
* @param [options.minimumLevel = 0] - 瓦片所支持的最低层级,如果数据没有第0层,该参数必须配置,当地图小于该级别时,平台不去请求服务数据。
* @param [options.maximumLevel] - 瓦片所支持的最大层级,大于该层级时会显示上一层拉伸后的瓦片,当地图大于该级别时,平台不去请求服务数据。
* @param [options.minimumTerrainLevel] - 展示影像图层的最小地形细节级别,小于该级别时,平台不显示影像数据。
* @param [options.maximumTerrainLevel] - 展示影像图层的最大地形细节级别,大于该级别时,平台不显示影像数据。
* @param [options.rectangle] - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param [options.zIndex] - 控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效)。
* @param [options.chinaCRS = ChinaCRS.BAIDU] - 标识瓦片的国内坐标系(用于自动纠偏或加偏),自动将瓦片转为map对应的chinaCRS类型坐标系。
* @param [options.proxy] - 加载资源时要使用的代理服务url。
* @param [options.templateValues] - 一个对象,用于替换Url中的模板值的键/值对
* @param [options.queryParameters] - 一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'},
* @param [options.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' },
* @param [options.opacity = 1.0] - 透明度,取值范围:0.0-1.0。
* @param [options.alpha = 1.0] - 同opacity。
* @param [options.nightAlpha = 1.0] - 当 enableLighting 为 true 时 ,在地球的夜晚区域的透明度,取值范围:0.0-1.0。
* @param [options.dayAlpha = 1.0] - 当 enableLighting 为 true 时,在地球的白天区域的透明度,取值范围:0.0-1.0。
* @param [options.brightness = 1.0] - 亮度
* @param [options.contrast = 1.0] - 对比度。 1.0使用未修改的图像颜色,小于1.0会降低对比度,而大于1.0则会提高对比度。
* @param [options.hue = 0.0] - 色调。 0.0 时未修改的图像颜色。
* @param [options.saturation = 1.0] - 饱和度。 1.0使用未修改的图像颜色,小于1.0会降低饱和度,而大于1.0则会增加饱和度。
* @param [options.gamma = 1.0] - 伽马校正值。 1.0使用未修改的图像颜色。
* @param [options.invertColor] - 是否反向颜色,内部计算规则: color.r = 1.0 - color.r
* @param [options.filterColor] - 滤镜颜色,内部计算规则: color.r = color.r * filterColor.r
* @param [options.maximumAnisotropy = maximum supported] - 使用的最大各向异性水平 用于纹理过滤。如果未指定此参数,则支持最大各向异性 将使用WebGL堆栈。较大的值可使影像在水平方向上看起来更好 视图。
* @param [options.cutoutRectangle] - 制图矩形,用于裁剪此ImageryLayer的一部分。
* @param [options.colorToAlpha] - 用作Alpha的颜色。
* @param [options.colorToAlphaThreshold = 0.004] - 颜色到Alpha的阈值。
* @param [options.hasAlphaChannel = true] - 如果此图像提供者提供的图像为真 包括一个Alpha通道;否则为假。如果此属性为false,则为Alpha通道,如果 目前,将被忽略。如果此属性为true,则任何没有Alpha通道的图像都将 它们的alpha随处可见。当此属性为false时,内存使用情况 和纹理上传时间可能会减少。
* @param [options.tileWidth = 256] - 图像图块的像素宽度。
* @param [options.tileHeight = 256] - 图像图块的像素高度。
* @param [options.customTags] - 允许替换网址模板中的自定义关键字。该对象必须具有字符串作为键,并且必须具有值。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class BaiduLayer extends BaseTileLayer {
constructor(options?: {
layer?: string;
url?: string;
subdomains?: string | string[];
bigfont?: boolean;
style?: string;
minimumLevel?: number;
maximumLevel?: number;
minimumTerrainLevel?: number;
maximumTerrainLevel?: number;
rectangle?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
zIndex?: number;
chinaCRS?: ChinaCRS;
proxy?: string;
templateValues?: any;
queryParameters?: any;
headers?: any;
opacity?: number;
alpha?: number | ((...params: any[]) => any);
nightAlpha?: number | ((...params: any[]) => any);
dayAlpha?: number | ((...params: any[]) => any);
brightness?: number | ((...params: any[]) => any);
contrast?: number | ((...params: any[]) => any);
hue?: number | ((...params: any[]) => any);
saturation?: number | ((...params: any[]) => any);
gamma?: number | ((...params: any[]) => any);
invertColor?: boolean;
filterColor?: string | Cesium.Color;
maximumAnisotropy?: number;
cutoutRectangle?: Cesium.Rectangle;
colorToAlpha?: Cesium.Color;
colorToAlphaThreshold?: number;
hasAlphaChannel?: boolean;
tileWidth?: number;
tileHeight?: number;
customTags?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 创建用于图层的 ImageryProvider对象
* @param options - Provider参数,同图层构造参数。
* @returns ImageryProvider类
*/
static createImageryProvider(options: any): any;
/**
* 创建瓦片图层对应的ImageryProvider对象
* @param [options = {}] - 参数对象,具体每类瓦片图层都不一样。
* @returns 创建完成的 ImageryProvider 对象
*/
_createImageryProvider(options?: any): Cesium.UrlTemplateImageryProvider | any;
}
declare namespace BaseTileLayer {
/**
* 当前栅格瓦片图层支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* layer.on(mars3d.EventType.addTile, function (event) {
* console.log('addTile', event)
* })
* @property add - 添加对象
* @property remove - 移除对象
* @property show - 显示了对象
* @property hide - 隐藏了对象
* @property load - 瓦片图层初始化完成
* @property addTile - 栅格瓦片图层,开始加载瓦片
* @property addTileSuccess - 栅格瓦片图层,加载瓦片完成
* @property addTileError - 栅格瓦片图层,加载瓦片出错了
* @property click - 鼠标单击事件【WMS等动态服务enablePickFeatures:true时,支持单击获取对应的矢量对象】
* @property popupOpen - 当存在popup时,popup弹窗打开后
* @property popupClose - 当存在popup时,popup弹窗关闭
* @property highlightOpen - highlight高亮后
* @property highlightClose - highlight关闭后
*/
type EventType = {
add: string;
remove: string;
show: string;
hide: string;
load: string;
addTile: string;
addTileSuccess: string;
addTileError: string;
click: string;
popupOpen: string;
popupClose: string;
highlightOpen: string;
highlightClose: string;
};
}
/**
* 栅格Tile瓦片图层 基类
* @param [options] - 参数对象,包括以下:
* @param [options.minimumLevel = 0] - 瓦片所支持的最低层级,如果数据没有第0层,该参数必须配置,当地图小于该级别时,平台不去请求服务数据。
* @param [options.maximumLevel] - 瓦片所支持的最大层级,大于该层级时会显示上一层拉伸后的瓦片,当地图大于该级别时,平台不去请求服务数据。
* @param [options.minimumTerrainLevel] - 展示影像图层的最小地形细节级别,小于该级别时,平台不显示影像数据。
* @param [options.maximumTerrainLevel] - 展示影像图层的最大地形细节级别,大于该级别时,平台不显示影像数据。
* @param [options.rectangle] - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param [options.zIndex] - 控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效)。
* @param [options.crs = CRS.EPSG:3857] - 瓦片数据的坐标系信息,默认为墨卡托投影
* @param [options.chinaCRS] - 标识瓦片的国内坐标系(用于自动纠偏或加偏),自动将瓦片转为map对应的chinaCRS类型坐标系。
* @param [options.proxy] - 加载资源时要使用的代理服务url。
* @param [options.templateValues] - 一个对象,用于替换Url中的模板值的键/值对
* @param [options.queryParameters] - 一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'},
* @param [options.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' },
* @param [options.subdomains] - URL模板中用于 {s} 占位符的子域。 如果此参数是单个字符串,则字符串中的每个字符都是一个子域。如果是 一个数组,数组中的每个元素都是一个子域。
* @param [options.enablePickFeatures = true] - 如果为true,则 {@link UrlTemplateImageryProvider#pickFeatures} 请求 pickFeaturesUrl 并尝试解释响应中包含的功能。
* 如果为 false{@link UrlTemplateImageryProvider#pickFeatures} 会立即返回未定义(表示没有可拾取的内容) 功能)而无需与服务器通信。如果您知道数据,则将此属性设置为false 源不支持选择功能,或者您不希望该提供程序的功能可供选择。注意 可以通过修改 {@link UriTemplateImageryProvider#enablePickFeatures}来动态覆盖 属性。
* @param [options.getFeatureInfoFormats] - 在某处获取功能信息的格式 调用 {@link UrlTemplateImageryProvider#pickFeatures} 的特定位置。如果这 参数未指定,功能选择已禁用。
* @param [options.opacity = 1.0] - 透明度,取值范围:0.0-1.0。
* @param [options.alpha = 1.0] - 同opacity。
* @param [options.nightAlpha = 1.0] - 当 enableLighting 为 true 时 ,在地球的夜晚区域的透明度,取值范围:0.0-1.0。
* @param [options.dayAlpha = 1.0] - 当 enableLighting 为 true 时,在地球的白天区域的透明度,取值范围:0.0-1.0。
* @param [options.brightness = 1.0] - 亮度
* @param [options.contrast = 1.0] - 对比度。 1.0使用未修改的图像颜色,小于1.0会降低对比度,而大于1.0则会提高对比度。
* @param [options.hue = 0.0] - 色调。 0.0 时未修改的图像颜色。
* @param [options.saturation = 1.0] - 饱和度。 1.0使用未修改的图像颜色,小于1.0会降低饱和度,而大于1.0则会增加饱和度。
* @param [options.gamma = 1.0] - 伽马校正值。 1.0使用未修改的图像颜色。
* @param [options.invertColor] - 是否反向颜色,内部计算规则: color.r = 1.0 - color.r
* @param [options.filterColor] - 滤镜颜色,内部计算规则: color.r = color.r * filterColor.r
* @param [options.maximumAnisotropy = maximum supported] - 使用的最大各向异性水平 用于纹理过滤。如果未指定此参数,则支持最大各向异性 将使用WebGL堆栈。较大的值可使影像在水平方向上看起来更好 视图。
* @param [options.cutoutRectangle] - 制图矩形,用于裁剪此ImageryLayer的一部分。
* @param [options.colorToAlpha] - 用作Alpha的颜色。
* @param [options.colorToAlphaThreshold = 0.004] - 颜色到Alpha的阈值。
* @param [options.hasAlphaChannel = true] - 如果此图像提供者提供的图像为真 包括一个Alpha通道;否则为假。如果此属性为false,则为Alpha通道,如果 目前,将被忽略。如果此属性为true,则任何没有Alpha通道的图像都将 它们的alpha随处可见。当此属性为false时,内存使用情况 和纹理上传时间可能会减少。
* @param [options.tileWidth = 256] - 图像图块的像素宽度。
* @param [options.tileHeight = 256] - 图像图块的像素高度。
* @param [options.customTags] - 允许替换网址模板中的自定义关键字。该对象必须具有字符串作为键,并且必须具有值。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class BaseTileLayer extends BaseLayer {
constructor(options?: {
minimumLevel?: number;
maximumLevel?: number;
minimumTerrainLevel?: number;
maximumTerrainLevel?: number;
rectangle?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
zIndex?: number;
crs?: CRS;
chinaCRS?: ChinaCRS;
proxy?: string;
templateValues?: any;
queryParameters?: any;
headers?: any;
subdomains?: string | string[];
enablePickFeatures?: boolean;
getFeatureInfoFormats?: Cesium.GetFeatureInfoFormat[];
opacity?: number;
alpha?: number | ((...params: any[]) => any);
nightAlpha?: number | ((...params: any[]) => any);
dayAlpha?: number | ((...params: any[]) => any);
brightness?: number | ((...params: any[]) => any);
contrast?: number | ((...params: any[]) => any);
hue?: number | ((...params: any[]) => any);
saturation?: number | ((...params: any[]) => any);
gamma?: number | ((...params: any[]) => any);
invertColor?: boolean;
filterColor?: string | Cesium.Color;
maximumAnisotropy?: number;
cutoutRectangle?: Cesium.Rectangle;
colorToAlpha?: Cesium.Color;
colorToAlphaThreshold?: number;
hasAlphaChannel?: boolean;
tileWidth?: number;
tileHeight?: number;
customTags?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 当前是否为瓦片图层
*/
readonly isTile: boolean;
/**
* 瓦片图层对应的内部ImageryLayer对象
*/
readonly layer: Cesium.ImageryLayer;
/**
* 瓦片图层对应的内部ImageryProvider对象
*/
readonly imageryProvider: Cesium.ImageryProvider;
/**
* 坐标系
*/
readonly crs: CRS | string;
/**
* 透明度,同opacity。从0.0到1.0。
*/
alpha: number;
/**
* 亮度,取值范围:0.0-1.0。
*/
brightness: number;
/**
* 对比度。 1.0使用未修改的图像颜色,小于1.0会降低对比度,而大于1.0则会提高对比度。
*/
contrast: number;
/**
* 色调。 0.0 时未修改的图像颜色。
*/
hue: number;
/**
* 饱和度。 1.0使用未修改的图像颜色,小于1.0会降低饱和度,而大于1.0则会增加饱和度。
*/
saturation: number;
/**
* 伽马校正值。 1.0使用未修改的图像颜色。
*/
gamma: number;
/**
* 是否可以调整图层顺序(在同类型图层间)
*/
readonly hasZIndex: boolean;
/**
* 图层顺序,数字大的在上面。(当hasZIndex为true时)
*/
zIndex: number;
/**
* 瓦片数据范围
*/
rectangle: Cesium.Rectangle;
/**
* 创建瓦片图层对应的ImageryProvider对象
* @param [options = {}] - 参数对象,具体每类瓦片图层都不一样。
* @returns 创建完成的 ImageryProvider 对象
*/
_createImageryProvider(options?: any): Cesium.UrlTemplateImageryProvider | any;
/**
* 重新加载图层
* @returns 无
*/
reload(): void;
/**
* 设置透明度
* @param value - 透明度
* @returns 无
*/
setOpacity(value: number): void;
/**
* 绑定鼠标移入或单击后的 对象高亮
* @param [options] - 高亮的样式,具体见各{@link GraphicType}矢量数据的style参数。
* @param [options.type] - 事件类型,默认为鼠标移入高亮,也可以指定'click'单击高亮.
* @returns 无
*/
bindHighlight(options?: {
type?: string;
}): void;
/**
* 解绑鼠标移入或单击后的高亮处理
* @returns 无
*/
unbindHighlight(): void;
/**
* 高亮对象。
* @param [highlightStyle] - 高亮的样式,具体见各{@link GraphicType}矢量数据的style参数。
* @param [closeLast = true] - 是否清除地图上上一次的高亮对象
* @returns 无
*/
openHighlight(highlightStyle?: any, closeLast?: boolean): void;
/**
* 清除已选中的高亮,原有style的配置项需要与highlightStyle配置有一一对应关系,否则无法清除
* @returns 无
*/
closeHighlight(): void;
/**
* 透明度,取值范围:0.0-1.0
*/
opacity: number;
/**
* 对象添加到地图上的创建钩子方法,
* 每次add时都会调用
* @returns 无
*/
_addedHook(): void;
/**
* 飞行定位至图层数据所在的视角
* @param [options = {}] - 参数对象:
* @param [options.radius] - 点状数据时,相机距离目标点的距离(单位:米)
* @param [options.scale = 1.2] - 线面数据时,缩放比例,可以控制视角比矩形略大一些,这样效果更友好。
* @param [options.duration] - 飞行时间(单位:秒)。如果省略,SDK内部会根据飞行距离计算出理想的飞行时间。
* @param [options.complete] - 飞行完成后要执行的函数。
* @param [options.cancel] - 飞行取消时要执行的函数。
* @param [options.endTransform] - 变换矩阵表示飞行结束时相机所处的参照系。
* @param [options.maximumHeight] - 飞行高峰时的最大高度。
* @param [options.pitchAdjustHeight] - 如果相机飞得比这个值高,在飞行过程中调整俯仰以向下看,并保持地球在视口。
* @param [options.flyOverLongitude] - 地球上的两点之间总有两条路。这个选项迫使相机选择战斗方向飞过那个经度。
* @param [options.flyOverLongitudeWeight] - 仅在通过flyOverLongitude指定的lon上空飞行,只要该方式的时间不超过flyOverLongitudeWeight的短途时间。
* @param [options.convert = true] - 是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。
* @param [options.easingFunction] - 控制在飞行过程中如何插值时间。
* @returns 如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise
*/
flyTo(options?: {
radius?: number;
scale?: number;
duration?: number;
complete?: Cesium.Camera.FlightCompleteCallback;
cancel?: Cesium.Camera.FlightCancelledCallback;
endTransform?: Cesium.Matrix4;
maximumHeight?: number;
pitchAdjustHeight?: number;
flyOverLongitude?: number;
flyOverLongitudeWeight?: number;
convert?: boolean;
easingFunction?: Cesium.EasingFunction.Callback;
}): Promise;
}
/**
* 微软bing地图
* @property [options.key = mars3d.Token.bing] - 您的应用程序的Bing Maps密钥,可以在{@link https://www.bingmapsportal.com/}中创建
* @property [mapStyle = Cesium.BingMapsStyle.AERIAL] - 要加载的必应地图图像的类型。
* @property [tileProtocol] - 加载图块时要使用的协议,例如' http'或' https'。 默认情况下,将使用与页面相同的协议来加载图块。
* @property [culture = 'zh-Hans'] - 请求Bing Maps图像时要使用的区域性标记。不支持所有文化。请参阅 {@link http://msdn.microsoft.com/en-us/library/hh441729.aspx}了解有关支持的文化的信息。
* @param [options] - 参数对象,包括以下:
* @param [options.url = 'https://dev.virtualearth.net'] - 托管影像图像的Bing Maps服务器的网址。
* @param [options.tileDiscardPolicy] - 于确定图块是否为无效,应将其丢弃。如果未指定此值,则为默认 {@link DiscardMissingTileImagePolicy} 用于平铺的地图服务器,并且{@link NeverTileDiscardPolicy} 用于非平铺地图服务器。在前一种情况下, 我们要求最大图块级别的图块0,0并检查像素(0,0),(200,20),(20,200), (80,110)和(160,130)。如果所有这些像素都是透明的,则丢弃检查为 禁用,并且不会丢弃任何图块。如果它们中的任何一种具有不透明的颜色, 在这些像素位置具有相同值的图块将被丢弃。的最终结果 对于标准ArcGIS Server,这些默认值应该是正确的图块丢弃。确保 不会丢弃任何图块,为此构造并传递 {@link NeverTileDiscardPolicy} 参数。
* @param [options.minimumLevel = 0] - 瓦片所支持的最低层级,如果数据没有第0层,该参数必须配置,当地图小于该级别时,平台不去请求服务数据。
* @param [options.maximumLevel] - 瓦片所支持的最大层级,大于该层级时会显示上一层拉伸后的瓦片,当地图大于该级别时,平台不去请求服务数据。
* @param [options.minimumTerrainLevel] - 展示影像图层的最小地形细节级别,小于该级别时,平台不显示影像数据。
* @param [options.maximumTerrainLevel] - 展示影像图层的最大地形细节级别,大于该级别时,平台不显示影像数据。
* @param [options.rectangle] - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param [options.zIndex] - 控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效)。
* @param [options.crs = CRS.EPSG:3857] - 瓦片数据的坐标系信息,默认为墨卡托投影
* @param [options.chinaCRS] - 标识瓦片的国内坐标系(用于自动纠偏或加偏),自动将瓦片转为map对应的chinaCRS类型坐标系。
* @param [options.proxy] - 加载资源时要使用的代理服务url。
* @param [options.templateValues] - 一个对象,用于替换Url中的模板值的键/值对
* @param [options.queryParameters] - 一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'},
* @param [options.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' },
* @param [options.subdomains] - URL模板中用于 {s} 占位符的子域。 如果此参数是单个字符串,则字符串中的每个字符都是一个子域。如果是 一个数组,数组中的每个元素都是一个子域。
* @param [options.enablePickFeatures = true] - 如果为true,则 {@link UrlTemplateImageryProvider#pickFeatures} 请求 pickFeaturesUrl 并尝试解释响应中包含的功能。
* 如果为 false{@link UrlTemplateImageryProvider#pickFeatures} 会立即返回未定义(表示没有可拾取的内容) 功能)而无需与服务器通信。如果您知道数据,则将此属性设置为false 源不支持选择功能,或者您不希望该提供程序的功能可供选择。注意 可以通过修改 {@link UriTemplateImageryProvider#enablePickFeatures}来动态覆盖 属性。
* @param [options.getFeatureInfoFormats] - 在某处获取功能信息的格式 调用 {@link UrlTemplateImageryProvider#pickFeatures} 的特定位置。如果这 参数未指定,功能选择已禁用。
* @param [options.opacity = 1.0] - 透明度,取值范围:0.0-1.0。
* @param [options.alpha = 1.0] - 同opacity。
* @param [options.nightAlpha = 1.0] - 当 enableLighting 为 true 时 ,在地球的夜晚区域的透明度,取值范围:0.0-1.0。
* @param [options.dayAlpha = 1.0] - 当 enableLighting 为 true 时,在地球的白天区域的透明度,取值范围:0.0-1.0。
* @param [options.brightness = 1.0] - 亮度
* @param [options.contrast = 1.0] - 对比度。 1.0使用未修改的图像颜色,小于1.0会降低对比度,而大于1.0则会提高对比度。
* @param [options.hue = 0.0] - 色调。 0.0 时未修改的图像颜色。
* @param [options.saturation = 1.0] - 饱和度。 1.0使用未修改的图像颜色,小于1.0会降低饱和度,而大于1.0则会增加饱和度。
* @param [options.gamma = 1.0] - 伽马校正值。 1.0使用未修改的图像颜色。
* @param [options.invertColor] - 是否反向颜色,内部计算规则: color.r = 1.0 - color.r
* @param [options.filterColor] - 滤镜颜色,内部计算规则: color.r = color.r * filterColor.r
* @param [options.maximumAnisotropy = maximum supported] - 使用的最大各向异性水平 用于纹理过滤。如果未指定此参数,则支持最大各向异性 将使用WebGL堆栈。较大的值可使影像在水平方向上看起来更好 视图。
* @param [options.cutoutRectangle] - 制图矩形,用于裁剪此ImageryLayer的一部分。
* @param [options.colorToAlpha] - 用作Alpha的颜色。
* @param [options.colorToAlphaThreshold = 0.004] - 颜色到Alpha的阈值。
* @param [options.hasAlphaChannel = true] - 如果此图像提供者提供的图像为真 包括一个Alpha通道;否则为假。如果此属性为false,则为Alpha通道,如果 目前,将被忽略。如果此属性为true,则任何没有Alpha通道的图像都将 它们的alpha随处可见。当此属性为false时,内存使用情况 和纹理上传时间可能会减少。
* @param [options.tileWidth = 256] - 图像图块的像素宽度。
* @param [options.tileHeight = 256] - 图像图块的像素高度。
* @param [options.customTags] - 允许替换网址模板中的自定义关键字。该对象必须具有字符串作为键,并且必须具有值。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class BingLayer extends BaseTileLayer {
constructor(options?: {
url?: Cesium.Resource | string;
tileDiscardPolicy?: Cesium.TileDiscardPolicy;
minimumLevel?: number;
maximumLevel?: number;
minimumTerrainLevel?: number;
maximumTerrainLevel?: number;
rectangle?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
zIndex?: number;
crs?: CRS;
chinaCRS?: ChinaCRS;
proxy?: string;
templateValues?: any;
queryParameters?: any;
headers?: any;
subdomains?: string | string[];
enablePickFeatures?: boolean;
getFeatureInfoFormats?: Cesium.GetFeatureInfoFormat[];
opacity?: number;
alpha?: number | ((...params: any[]) => any);
nightAlpha?: number | ((...params: any[]) => any);
dayAlpha?: number | ((...params: any[]) => any);
brightness?: number | ((...params: any[]) => any);
contrast?: number | ((...params: any[]) => any);
hue?: number | ((...params: any[]) => any);
saturation?: number | ((...params: any[]) => any);
gamma?: number | ((...params: any[]) => any);
invertColor?: boolean;
filterColor?: string | Cesium.Color;
maximumAnisotropy?: number;
cutoutRectangle?: Cesium.Rectangle;
colorToAlpha?: Cesium.Color;
colorToAlphaThreshold?: number;
hasAlphaChannel?: boolean;
tileWidth?: number;
tileHeight?: number;
customTags?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 创建用于图层的 ImageryProvider对象
* @param options - Provider参数,同图层构造参数。
* @returns ImageryProvider类
*/
static createImageryProvider(options: any): any;
/**
* 创建瓦片图层对应的ImageryProvider对象
* @param [options = {}] - 参数对象,具体每类瓦片图层都不一样。
* @returns 创建完成的 ImageryProvider 对象
*/
_createImageryProvider(options?: any): Cesium.UrlTemplateImageryProvider | any;
/**
* 要加载的必应地图图像的类型。
*/
mapStyle?: Cesium.BingMapsStyle;
/**
* 加载图块时要使用的协议,例如' http'或' https'。 默认情况下,将使用与页面相同的协议来加载图块。
*/
tileProtocol?: string;
/**
* 请求Bing Maps图像时要使用的区域性标记。不支持所有文化。请参阅 {@link http://msdn.microsoft.com/en-us/library/hh441729.aspx}了解有关支持的文化的信息。
*/
culture?: string;
}
/**
* 空白图层,目前主要在Lod矢量数据加载作为事件触发使用。
* @param [options] - 参数对象,包括以下:
* @param [options.minimumLevel = 0] - 瓦片所支持的最低层级,如果数据没有第0层,该参数必须配置,当地图小于该级别时,平台不去请求服务数据。
* @param [options.maximumLevel] - 瓦片所支持的最大层级,大于该层级时会显示上一层拉伸后的瓦片,当地图大于该级别时,平台不去请求服务数据。
* @param [options.minimumTerrainLevel] - 展示影像图层的最小地形细节级别,小于该级别时,平台不显示影像数据。
* @param [options.maximumTerrainLevel] - 展示影像图层的最大地形细节级别,大于该级别时,平台不显示影像数据。
* @param [options.rectangle] - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class EmptyTileLayer extends BaseTileLayer {
constructor(options?: {
minimumLevel?: number;
maximumLevel?: number;
minimumTerrainLevel?: number;
maximumTerrainLevel?: number;
rectangle?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 判断级别是否在当前图层的最大最小层级范围内
* @param level - 判断的级别
* @returns 是否在限定的范围内
*/
isInRange(level: number): boolean;
/**
* 判断所有瓦片 是否都在最大最小层级范围外,用于判断清除数据
* @param level - 判断的级别
* @returns 是否都在范围外
*/
isAllOutRange(level: number): boolean;
/**
* 创建瓦片图层对应的ImageryProvider对象
* @param [options = {}] - 参数对象,具体每类瓦片图层都不一样。
* @returns 创建完成的 ImageryProvider 对象
*/
_createImageryProvider(options?: any): Cesium.UrlTemplateImageryProvider | any;
}
/**
* 高德
* @param [options] - 参数对象,包括以下:
* @param [options.layer] - 图层类型,以及以下内容:
*
* vec: 电子图层
* img_d: 卫星影像
* img_z: 影像注记
* time: 实时路况信息
*
* @param [options.url] - 当未指定layer类型时,可以传入外部指定url的服务地址,常用于离线服务。
* @param [options.subdomains] - URL模板中用于 {s} 占位符的子域。 如果此参数是单个字符串,则字符串中的每个字符都是一个子域。如果是 一个数组,数组中的每个元素都是一个子域。
* @param [options.bigfont] - 当layer为vec时,来标识使用是否大写字体。
* @param [options.minimumLevel = 0] - 瓦片所支持的最低层级,如果数据没有第0层,该参数必须配置,当地图小于该级别时,平台不去请求服务数据。
* @param [options.maximumLevel] - 瓦片所支持的最大层级,大于该层级时会显示上一层拉伸后的瓦片,当地图大于该级别时,平台不去请求服务数据。
* @param [options.minimumTerrainLevel] - 展示影像图层的最小地形细节级别,小于该级别时,平台不显示影像数据。
* @param [options.maximumTerrainLevel] - 展示影像图层的最大地形细节级别,大于该级别时,平台不显示影像数据。
* @param [options.rectangle] - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param [options.zIndex] - 控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效)。
* @param [options.chinaCRS = ChinaCRS.GCJ02] - 标识瓦片的国内坐标系(用于自动纠偏或加偏),自动将瓦片转为map对应的chinaCRS类型坐标系。
* @param [options.proxy] - 加载资源时要使用的代理服务url。
* @param [options.templateValues] - 一个对象,用于替换Url中的模板值的键/值对
* @param [options.queryParameters] - 一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'},
* @param [options.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' },
* @param [options.enablePickFeatures = true] - 如果为true,则 {@link UrlTemplateImageryProvider#pickFeatures} 请求 pickFeaturesUrl 并尝试解释响应中包含的功能。
* 如果为 false{@link UrlTemplateImageryProvider#pickFeatures} 会立即返回未定义(表示没有可拾取的内容) 功能)而无需与服务器通信。如果您知道数据,则将此属性设置为false 源不支持选择功能,或者您不希望该提供程序的功能可供选择。注意 可以通过修改 {@link UriTemplateImageryProvider#enablePickFeatures}来动态覆盖 属性。
* @param [options.getFeatureInfoFormats] - 在某处获取功能信息的格式 调用 {@link UrlTemplateImageryProvider#pickFeatures} 的特定位置。如果这 参数未指定,功能选择已禁用。
* @param [options.opacity = 1.0] - 透明度,取值范围:0.0-1.0。
* @param [options.alpha = 1.0] - 同opacity。
* @param [options.nightAlpha = 1.0] - 当 enableLighting 为 true 时 ,在地球的夜晚区域的透明度,取值范围:0.0-1.0。
* @param [options.dayAlpha = 1.0] - 当 enableLighting 为 true 时,在地球的白天区域的透明度,取值范围:0.0-1.0。
* @param [options.brightness = 1.0] - 亮度
* @param [options.contrast = 1.0] - 对比度。 1.0使用未修改的图像颜色,小于1.0会降低对比度,而大于1.0则会提高对比度。
* @param [options.hue = 0.0] - 色调。 0.0 时未修改的图像颜色。
* @param [options.saturation = 1.0] - 饱和度。 1.0使用未修改的图像颜色,小于1.0会降低饱和度,而大于1.0则会增加饱和度。
* @param [options.gamma = 1.0] - 伽马校正值。 1.0使用未修改的图像颜色。
* @param [options.invertColor] - 是否反向颜色,内部计算规则: color.r = 1.0 - color.r
* @param [options.filterColor] - 滤镜颜色,内部计算规则: color.r = color.r * filterColor.r
* @param [options.maximumAnisotropy = maximum supported] - 使用的最大各向异性水平 用于纹理过滤。如果未指定此参数,则支持最大各向异性 将使用WebGL堆栈。较大的值可使影像在水平方向上看起来更好 视图。
* @param [options.cutoutRectangle] - 制图矩形,用于裁剪此ImageryLayer的一部分。
* @param [options.colorToAlpha] - 用作Alpha的颜色。
* @param [options.colorToAlphaThreshold = 0.004] - 颜色到Alpha的阈值。
* @param [options.hasAlphaChannel = true] - 如果此图像提供者提供的图像为真 包括一个Alpha通道;否则为假。如果此属性为false,则为Alpha通道,如果 目前,将被忽略。如果此属性为true,则任何没有Alpha通道的图像都将 它们的alpha随处可见。当此属性为false时,内存使用情况 和纹理上传时间可能会减少。
* @param [options.tileWidth = 256] - 图像图块的像素宽度。
* @param [options.tileHeight = 256] - 图像图块的像素高度。
* @param [options.customTags] - 允许替换网址模板中的自定义关键字。该对象必须具有字符串作为键,并且必须具有值。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class GaodeLayer extends BaseTileLayer {
constructor(options?: {
layer?: string;
url?: string;
subdomains?: string | string[];
bigfont?: boolean;
minimumLevel?: number;
maximumLevel?: number;
minimumTerrainLevel?: number;
maximumTerrainLevel?: number;
rectangle?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
zIndex?: number;
chinaCRS?: ChinaCRS;
proxy?: string;
templateValues?: any;
queryParameters?: any;
headers?: any;
enablePickFeatures?: boolean;
getFeatureInfoFormats?: Cesium.GetFeatureInfoFormat[];
opacity?: number;
alpha?: number | ((...params: any[]) => any);
nightAlpha?: number | ((...params: any[]) => any);
dayAlpha?: number | ((...params: any[]) => any);
brightness?: number | ((...params: any[]) => any);
contrast?: number | ((...params: any[]) => any);
hue?: number | ((...params: any[]) => any);
saturation?: number | ((...params: any[]) => any);
gamma?: number | ((...params: any[]) => any);
invertColor?: boolean;
filterColor?: string | Cesium.Color;
maximumAnisotropy?: number;
cutoutRectangle?: Cesium.Rectangle;
colorToAlpha?: Cesium.Color;
colorToAlphaThreshold?: number;
hasAlphaChannel?: boolean;
tileWidth?: number;
tileHeight?: number;
customTags?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 创建用于图层的 ImageryProvider对象
* @param options - Provider参数,同图层构造参数。
* @returns ImageryProvider类
*/
static createImageryProvider(options: any): any;
/**
* 创建瓦片图层对应的ImageryProvider对象
* @param [options = {}] - 参数对象,具体每类瓦片图层都不一样。
* @returns 创建完成的 ImageryProvider 对象
*/
_createImageryProvider(options?: any): Cesium.UrlTemplateImageryProvider | any;
}
/**
* GoogleEarth Enterprise企业版本 影像服务
* @param [options] - 参数对象,包括以下:
* @param options.url - 承载瓦片服务的谷歌地球企业服务器的url
* @param [options.subdomains] - URL模板中用于 {s} 占位符的子域。 如果此参数是单个字符串,则字符串中的每个字符都是一个子域。如果是 一个数组,数组中的每个元素都是一个子域。
* @param [options.minimumLevel = 0] - 瓦片所支持的最低层级,如果数据没有第0层,该参数必须配置,当地图小于该级别时,平台不去请求服务数据。
* @param [options.maximumLevel] - 瓦片所支持的最大层级,大于该层级时会显示上一层拉伸后的瓦片,当地图大于该级别时,平台不去请求服务数据。
* @param [options.minimumTerrainLevel] - 展示影像图层的最小地形细节级别,小于该级别时,平台不显示影像数据。
* @param [options.maximumTerrainLevel] - 展示影像图层的最大地形细节级别,大于该级别时,平台不显示影像数据。
* @param [options.rectangle] - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param [options.zIndex] - 控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效)。
* @param [options.crs = CRS.EPSG:3857] - 瓦片数据的坐标系信息,默认为墨卡托投影
* @param [options.chinaCRS] - 标识瓦片的国内坐标系(用于自动纠偏或加偏),自动将瓦片转为map对应的chinaCRS类型坐标系。
* @param [options.proxy] - 加载资源时要使用的代理服务url。
* @param [options.templateValues] - 一个对象,用于替换Url中的模板值的键/值对
* @param [options.queryParameters] - 一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'},
* @param [options.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' },
* @param [options.enablePickFeatures = true] - 如果为true,则 {@link UrlTemplateImageryProvider#pickFeatures} 请求 pickFeaturesUrl 并尝试解释响应中包含的功能。
* 如果为 false{@link UrlTemplateImageryProvider#pickFeatures} 会立即返回未定义(表示没有可拾取的内容) 功能)而无需与服务器通信。如果您知道数据,则将此属性设置为false 源不支持选择功能,或者您不希望该提供程序的功能可供选择。注意 可以通过修改 {@link UriTemplateImageryProvider#enablePickFeatures}来动态覆盖 属性。
* @param [options.getFeatureInfoFormats] - 在某处获取功能信息的格式 调用 {@link UrlTemplateImageryProvider#pickFeatures} 的特定位置。如果这 参数未指定,功能选择已禁用。
* @param [options.opacity = 1.0] - 透明度,取值范围:0.0-1.0。
* @param [options.alpha = 1.0] - 同opacity。
* @param [options.nightAlpha = 1.0] - 当 enableLighting 为 true 时 ,在地球的夜晚区域的透明度,取值范围:0.0-1.0。
* @param [options.dayAlpha = 1.0] - 当 enableLighting 为 true 时,在地球的白天区域的透明度,取值范围:0.0-1.0。
* @param [options.brightness = 1.0] - 亮度
* @param [options.contrast = 1.0] - 对比度。 1.0使用未修改的图像颜色,小于1.0会降低对比度,而大于1.0则会提高对比度。
* @param [options.hue = 0.0] - 色调。 0.0 时未修改的图像颜色。
* @param [options.saturation = 1.0] - 饱和度。 1.0使用未修改的图像颜色,小于1.0会降低饱和度,而大于1.0则会增加饱和度。
* @param [options.gamma = 1.0] - 伽马校正值。 1.0使用未修改的图像颜色。
* @param [options.invertColor] - 是否反向颜色,内部计算规则: color.r = 1.0 - color.r
* @param [options.filterColor] - 滤镜颜色,内部计算规则: color.r = color.r * filterColor.r
* @param [options.maximumAnisotropy = maximum supported] - 使用的最大各向异性水平 用于纹理过滤。如果未指定此参数,则支持最大各向异性 将使用WebGL堆栈。较大的值可使影像在水平方向上看起来更好 视图。
* @param [options.cutoutRectangle] - 制图矩形,用于裁剪此ImageryLayer的一部分。
* @param [options.colorToAlpha] - 用作Alpha的颜色。
* @param [options.colorToAlphaThreshold = 0.004] - 颜色到Alpha的阈值。
* @param [options.hasAlphaChannel = true] - 如果此图像提供者提供的图像为真 包括一个Alpha通道;否则为假。如果此属性为false,则为Alpha通道,如果 目前,将被忽略。如果此属性为true,则任何没有Alpha通道的图像都将 它们的alpha随处可见。当此属性为false时,内存使用情况 和纹理上传时间可能会减少。
* @param [options.tileWidth = 256] - 图像图块的像素宽度。
* @param [options.tileHeight = 256] - 图像图块的像素高度。
* @param [options.customTags] - 允许替换网址模板中的自定义关键字。该对象必须具有字符串作为键,并且必须具有值。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class GeeLayer extends BaseTileLayer {
constructor(options?: {
url: Cesium.Resource | string;
subdomains?: string | string[];
minimumLevel?: number;
maximumLevel?: number;
minimumTerrainLevel?: number;
maximumTerrainLevel?: number;
rectangle?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
zIndex?: number;
crs?: CRS;
chinaCRS?: ChinaCRS;
proxy?: string;
templateValues?: any;
queryParameters?: any;
headers?: any;
enablePickFeatures?: boolean;
getFeatureInfoFormats?: Cesium.GetFeatureInfoFormat[];
opacity?: number;
alpha?: number | ((...params: any[]) => any);
nightAlpha?: number | ((...params: any[]) => any);
dayAlpha?: number | ((...params: any[]) => any);
brightness?: number | ((...params: any[]) => any);
contrast?: number | ((...params: any[]) => any);
hue?: number | ((...params: any[]) => any);
saturation?: number | ((...params: any[]) => any);
gamma?: number | ((...params: any[]) => any);
invertColor?: boolean;
filterColor?: string | Cesium.Color;
maximumAnisotropy?: number;
cutoutRectangle?: Cesium.Rectangle;
colorToAlpha?: Cesium.Color;
colorToAlphaThreshold?: number;
hasAlphaChannel?: boolean;
tileWidth?: number;
tileHeight?: number;
customTags?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 创建用于图层的 ImageryProvider对象
* @param options - Provider参数,同图层构造参数。
* @returns ImageryProvider类
*/
static createImageryProvider(options: any): any;
/**
* 创建瓦片图层对应的ImageryProvider对象
* @param [options = {}] - 参数对象,具体每类瓦片图层都不一样。
* @returns 创建完成的 ImageryProvider 对象
*/
_createImageryProvider(options?: any): Cesium.UrlTemplateImageryProvider | any;
}
/**
* 谷歌
* @param [options] - 参数对象,包括以下:
* @param [options.layer] - 图层类型,以及以下内容:
*
* vec: 电子图层
* img_d: 卫星影像
* img_z: 影像注记
* ter: 地形渲染图
*
* @param [options.url] - 当未指定layer类型时,可以传入外部指定url的服务地址,常用于离线服务。
* @param [options.subdomains] - URL模板中用于 {s} 占位符的子域。 如果此参数是单个字符串,则字符串中的每个字符都是一个子域。如果是 一个数组,数组中的每个元素都是一个子域。
* @param [options.minimumLevel = 0] - 瓦片所支持的最低层级,如果数据没有第0层,该参数必须配置,当地图小于该级别时,平台不去请求服务数据。
* @param [options.maximumLevel] - 瓦片所支持的最大层级,大于该层级时会显示上一层拉伸后的瓦片,当地图大于该级别时,平台不去请求服务数据。
* @param [options.minimumTerrainLevel] - 展示影像图层的最小地形细节级别,小于该级别时,平台不显示影像数据。
* @param [options.maximumTerrainLevel] - 展示影像图层的最大地形细节级别,大于该级别时,平台不显示影像数据。
* @param [options.rectangle] - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param [options.zIndex] - 控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效)。
* @param [options.crs = CRS.EPSG:3857] - 瓦片数据的坐标系信息,默认为墨卡托投影
* @param [options.chinaCRS = 'GCJ02'] - 标识瓦片的国内坐标系(用于自动纠偏或加偏),自动将瓦片转为map对应的chinaCRS类型坐标系。
* @param [options.proxy] - 加载资源时要使用的代理服务url。
* @param [options.templateValues] - 一个对象,用于替换Url中的模板值的键/值对
* @param [options.queryParameters] - 一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'},
* @param [options.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' },
* @param [options.enablePickFeatures = true] - 如果为true,则 {@link UrlTemplateImageryProvider#pickFeatures} 请求 pickFeaturesUrl 并尝试解释响应中包含的功能。
* 如果为 false{@link UrlTemplateImageryProvider#pickFeatures} 会立即返回未定义(表示没有可拾取的内容) 功能)而无需与服务器通信。如果您知道数据,则将此属性设置为false 源不支持选择功能,或者您不希望该提供程序的功能可供选择。注意 可以通过修改 {@link UriTemplateImageryProvider#enablePickFeatures}来动态覆盖 属性。
* @param [options.getFeatureInfoFormats] - 在某处获取功能信息的格式 调用 {@link UrlTemplateImageryProvider#pickFeatures} 的特定位置。如果这 参数未指定,功能选择已禁用。
* @param [options.opacity = 1.0] - 透明度,取值范围:0.0-1.0。
* @param [options.alpha = 1.0] - 同opacity。
* @param [options.nightAlpha = 1.0] - 当 enableLighting 为 true 时 ,在地球的夜晚区域的透明度,取值范围:0.0-1.0。
* @param [options.dayAlpha = 1.0] - 当 enableLighting 为 true 时,在地球的白天区域的透明度,取值范围:0.0-1.0。
* @param [options.brightness = 1.0] - 亮度
* @param [options.contrast = 1.0] - 对比度。 1.0使用未修改的图像颜色,小于1.0会降低对比度,而大于1.0则会提高对比度。
* @param [options.hue = 0.0] - 色调。 0.0 时未修改的图像颜色。
* @param [options.saturation = 1.0] - 饱和度。 1.0使用未修改的图像颜色,小于1.0会降低饱和度,而大于1.0则会增加饱和度。
* @param [options.gamma = 1.0] - 伽马校正值。 1.0使用未修改的图像颜色。
* @param [options.invertColor] - 是否反向颜色,内部计算规则: color.r = 1.0 - color.r
* @param [options.filterColor] - 滤镜颜色,内部计算规则: color.r = color.r * filterColor.r
* @param [options.maximumAnisotropy = maximum supported] - 使用的最大各向异性水平 用于纹理过滤。如果未指定此参数,则支持最大各向异性 将使用WebGL堆栈。较大的值可使影像在水平方向上看起来更好 视图。
* @param [options.cutoutRectangle] - 制图矩形,用于裁剪此ImageryLayer的一部分。
* @param [options.colorToAlpha] - 用作Alpha的颜色。
* @param [options.colorToAlphaThreshold = 0.004] - 颜色到Alpha的阈值。
* @param [options.hasAlphaChannel = true] - 如果此图像提供者提供的图像为真 包括一个Alpha通道;否则为假。如果此属性为false,则为Alpha通道,如果 目前,将被忽略。如果此属性为true,则任何没有Alpha通道的图像都将 它们的alpha随处可见。当此属性为false时,内存使用情况 和纹理上传时间可能会减少。
* @param [options.tileWidth = 256] - 图像图块的像素宽度。
* @param [options.tileHeight = 256] - 图像图块的像素高度。
* @param [options.customTags] - 允许替换网址模板中的自定义关键字。该对象必须具有字符串作为键,并且必须具有值。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class GoogleLayer extends BaseTileLayer {
constructor(options?: {
layer?: string;
url?: string;
subdomains?: string | string[];
minimumLevel?: number;
maximumLevel?: number;
minimumTerrainLevel?: number;
maximumTerrainLevel?: number;
rectangle?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
zIndex?: number;
crs?: CRS;
chinaCRS?: ChinaCRS;
proxy?: string;
templateValues?: any;
queryParameters?: any;
headers?: any;
enablePickFeatures?: boolean;
getFeatureInfoFormats?: Cesium.GetFeatureInfoFormat[];
opacity?: number;
alpha?: number | ((...params: any[]) => any);
nightAlpha?: number | ((...params: any[]) => any);
dayAlpha?: number | ((...params: any[]) => any);
brightness?: number | ((...params: any[]) => any);
contrast?: number | ((...params: any[]) => any);
hue?: number | ((...params: any[]) => any);
saturation?: number | ((...params: any[]) => any);
gamma?: number | ((...params: any[]) => any);
invertColor?: boolean;
filterColor?: string | Cesium.Color;
maximumAnisotropy?: number;
cutoutRectangle?: Cesium.Rectangle;
colorToAlpha?: Cesium.Color;
colorToAlphaThreshold?: number;
hasAlphaChannel?: boolean;
tileWidth?: number;
tileHeight?: number;
customTags?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 创建用于图层的 ImageryProvider对象
* @param options - Provider参数,同图层构造参数。
* @returns ImageryProvider类
*/
static createImageryProvider(options: any): any;
/**
* 创建瓦片图层对应的ImageryProvider对象
* @param [options = {}] - 参数对象,具体每类瓦片图层都不一样。
* @returns 创建完成的 ImageryProvider 对象
*/
_createImageryProvider(options?: any): Cesium.UrlTemplateImageryProvider | any;
}
/**
* 网格线
* @param [options] - 参数对象,包括以下:
* @param [options.cells = 2] - 网格单元格的数量。
* @param [options.color = rgba(255,255,255,1)] - 绘制网格线的颜色。
* @param [options.glowColor = color.withAlpha(0.3)] - 为网格线绘制渲染线发光效果的颜色。
* @param [options.glowWidth = 3] - 用于渲染线发光效果的线的宽度。
* @param [options.backgroundColor = 'rgba(0,0,0,0)'] - 背景填充颜色。
* @param [options.canvasSize = 256] - 用于渲染的画布的大小。
* @param [options.minimumLevel = 0] - 瓦片所支持的最低层级,如果数据没有第0层,该参数必须配置,当地图小于该级别时,平台不去请求服务数据。
* @param [options.maximumLevel] - 瓦片所支持的最大层级,大于该层级时会显示上一层拉伸后的瓦片,当地图大于该级别时,平台不去请求服务数据。
* @param [options.minimumTerrainLevel] - 展示影像图层的最小地形细节级别,小于该级别时,平台不显示影像数据。
* @param [options.maximumTerrainLevel] - 展示影像图层的最大地形细节级别,大于该级别时,平台不显示影像数据。
* @param [options.rectangle] - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param [options.zIndex] - 控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效)。
* @param [options.crs = CRS.EPSG:3857] - 瓦片数据的坐标系信息,默认为墨卡托投影
* @param [options.chinaCRS] - 标识瓦片的国内坐标系(用于自动纠偏或加偏),自动将瓦片转为map对应的chinaCRS类型坐标系。
* @param [options.opacity = 1.0] - 透明度,取值范围:0.0-1.0。
* @param [options.alpha = 1.0] - 同opacity。
* @param [options.nightAlpha = 1.0] - 当 enableLighting 为 true 时 ,在地球的夜晚区域的透明度,取值范围:0.0-1.0。
* @param [options.dayAlpha = 1.0] - 当 enableLighting 为 true 时,在地球的白天区域的透明度,取值范围:0.0-1.0。
* @param [options.brightness = 1.0] - 亮度
* @param [options.contrast = 1.0] - 对比度。 1.0使用未修改的图像颜色,小于1.0会降低对比度,而大于1.0则会提高对比度。
* @param [options.hue = 0.0] - 色调。 0.0 时未修改的图像颜色。
* @param [options.saturation = 1.0] - 饱和度。 1.0使用未修改的图像颜色,小于1.0会降低饱和度,而大于1.0则会增加饱和度。
* @param [options.gamma = 1.0] - 伽马校正值。 1.0使用未修改的图像颜色。
* @param [options.invertColor] - 是否反向颜色,内部计算规则: color.r = 1.0 - color.r
* @param [options.filterColor] - 滤镜颜色,内部计算规则: color.r = color.r * filterColor.r
* @param [options.maximumAnisotropy = maximum supported] - 使用的最大各向异性水平 用于纹理过滤。如果未指定此参数,则支持最大各向异性 将使用WebGL堆栈。较大的值可使影像在水平方向上看起来更好 视图。
* @param [options.cutoutRectangle] - 制图矩形,用于裁剪此ImageryLayer的一部分。
* @param [options.colorToAlpha] - 用作Alpha的颜色。
* @param [options.colorToAlphaThreshold = 0.004] - 颜色到Alpha的阈值。
* @param [options.hasAlphaChannel = true] - 如果此图像提供者提供的图像为真 包括一个Alpha通道;否则为假。如果此属性为false,则为Alpha通道,如果 目前,将被忽略。如果此属性为true,则任何没有Alpha通道的图像都将 它们的alpha随处可见。当此属性为false时,内存使用情况 和纹理上传时间可能会减少。
* @param [options.tileWidth = 256] - 图像图块的像素宽度。
* @param [options.tileHeight = 256] - 图像图块的像素高度。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class GridLayer extends BaseTileLayer {
constructor(options?: {
cells?: number;
color?: string;
glowColor?: string;
glowWidth?: number;
backgroundColor?: string;
canvasSize?: number;
minimumLevel?: number;
maximumLevel?: number;
minimumTerrainLevel?: number;
maximumTerrainLevel?: number;
rectangle?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
zIndex?: number;
crs?: CRS;
chinaCRS?: ChinaCRS;
opacity?: number;
alpha?: number | ((...params: any[]) => any);
nightAlpha?: number | ((...params: any[]) => any);
dayAlpha?: number | ((...params: any[]) => any);
brightness?: number | ((...params: any[]) => any);
contrast?: number | ((...params: any[]) => any);
hue?: number | ((...params: any[]) => any);
saturation?: number | ((...params: any[]) => any);
gamma?: number | ((...params: any[]) => any);
invertColor?: boolean;
filterColor?: string | Cesium.Color;
maximumAnisotropy?: number;
cutoutRectangle?: Cesium.Rectangle;
colorToAlpha?: Cesium.Color;
colorToAlphaThreshold?: number;
hasAlphaChannel?: boolean;
tileWidth?: number;
tileHeight?: number;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 创建瓦片图层对应的ImageryProvider对象
* @param [options = {}] - 参数对象,具体每类瓦片图层都不一样。
* @returns 创建完成的 ImageryProvider 对象
*/
_createImageryProvider(options?: any): Cesium.UrlTemplateImageryProvider | any;
}
/**
* 单张图片图层
* @param [options] - 参数对象,包括以下:
* @param options.url - 图片url地址
* @param [options.subdomains] - URL模板中用于 {s} 占位符的子域。 如果此参数是单个字符串,则字符串中的每个字符都是一个子域。如果是 一个数组,数组中的每个元素都是一个子域。
* @param [options.minimumLevel = 0] - 瓦片所支持的最低层级,如果数据没有第0层,该参数必须配置,当地图小于该级别时,平台不去请求服务数据。
* @param [options.maximumLevel] - 瓦片所支持的最大层级,大于该层级时会显示上一层拉伸后的瓦片,当地图大于该级别时,平台不去请求服务数据。
* @param [options.minimumTerrainLevel] - 展示影像图层的最小地形细节级别,小于该级别时,平台不显示影像数据。
* @param [options.maximumTerrainLevel] - 展示影像图层的最大地形细节级别,大于该级别时,平台不显示影像数据。
* @param [options.rectangle] - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param [options.zIndex] - 控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效)。
* @param [options.crs = CRS.EPSG:3857] - 瓦片数据的坐标系信息,默认为墨卡托投影
* @param [options.chinaCRS] - 标识瓦片的国内坐标系(用于自动纠偏或加偏),自动将瓦片转为map对应的chinaCRS类型坐标系。
* @param [options.proxy] - 加载资源时要使用的代理服务url。
* @param [options.templateValues] - 一个对象,用于替换Url中的模板值的键/值对
* @param [options.queryParameters] - 一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'},
* @param [options.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' },
* @param [options.opacity = 1.0] - 透明度,取值范围:0.0-1.0。
* @param [options.alpha = 1.0] - 同opacity。
* @param [options.nightAlpha = 1.0] - 当 enableLighting 为 true 时 ,在地球的夜晚区域的透明度,取值范围:0.0-1.0。
* @param [options.dayAlpha = 1.0] - 当 enableLighting 为 true 时,在地球的白天区域的透明度,取值范围:0.0-1.0。
* @param [options.brightness = 1.0] - 亮度
* @param [options.contrast = 1.0] - 对比度。 1.0使用未修改的图像颜色,小于1.0会降低对比度,而大于1.0则会提高对比度。
* @param [options.hue = 0.0] - 色调。 0.0 时未修改的图像颜色。
* @param [options.saturation = 1.0] - 饱和度。 1.0使用未修改的图像颜色,小于1.0会降低饱和度,而大于1.0则会增加饱和度。
* @param [options.gamma = 1.0] - 伽马校正值。 1.0使用未修改的图像颜色。
* @param [options.invertColor] - 是否反向颜色,内部计算规则: color.r = 1.0 - color.r
* @param [options.filterColor] - 滤镜颜色,内部计算规则: color.r = color.r * filterColor.r
* @param [options.maximumAnisotropy = maximum supported] - 使用的最大各向异性水平 用于纹理过滤。如果未指定此参数,则支持最大各向异性 将使用WebGL堆栈。较大的值可使影像在水平方向上看起来更好 视图。
* @param [options.cutoutRectangle] - 制图矩形,用于裁剪此ImageryLayer的一部分。
* @param [options.colorToAlpha] - 用作Alpha的颜色。
* @param [options.colorToAlphaThreshold = 0.004] - 颜色到Alpha的阈值。
* @param [options.hasAlphaChannel = true] - 如果此图像提供者提供的图像为真 包括一个Alpha通道;否则为假。如果此属性为false,则为Alpha通道,如果 目前,将被忽略。如果此属性为true,则任何没有Alpha通道的图像都将 它们的alpha随处可见。当此属性为false时,内存使用情况 和纹理上传时间可能会减少。
* @param [options.tileWidth = 256] - 图像图块的像素宽度。
* @param [options.tileHeight = 256] - 图像图块的像素高度。
* @param [options.customTags] - 允许替换网址模板中的自定义关键字。该对象必须具有字符串作为键,并且必须具有值。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class ImageLayer extends BaseTileLayer {
constructor(options?: {
url: Cesium.Resource | string;
subdomains?: string | string[];
minimumLevel?: number;
maximumLevel?: number;
minimumTerrainLevel?: number;
maximumTerrainLevel?: number;
rectangle?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
zIndex?: number;
crs?: CRS;
chinaCRS?: ChinaCRS;
proxy?: string;
templateValues?: any;
queryParameters?: any;
headers?: any;
opacity?: number;
alpha?: number | ((...params: any[]) => any);
nightAlpha?: number | ((...params: any[]) => any);
dayAlpha?: number | ((...params: any[]) => any);
brightness?: number | ((...params: any[]) => any);
contrast?: number | ((...params: any[]) => any);
hue?: number | ((...params: any[]) => any);
saturation?: number | ((...params: any[]) => any);
gamma?: number | ((...params: any[]) => any);
invertColor?: boolean;
filterColor?: string | Cesium.Color;
maximumAnisotropy?: number;
cutoutRectangle?: Cesium.Rectangle;
colorToAlpha?: Cesium.Color;
colorToAlphaThreshold?: number;
hasAlphaChannel?: boolean;
tileWidth?: number;
tileHeight?: number;
customTags?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 创建用于图层的 ImageryProvider对象
* @param options - Provider参数,同图层构造参数。
* @returns ImageryProvider类
*/
static createImageryProvider(options: any): any;
/**
* 创建瓦片图层对应的ImageryProvider对象
* @param [options = {}] - 参数对象,具体每类瓦片图层都不一样。
* @returns 创建完成的 ImageryProvider 对象
*/
_createImageryProvider(options?: any): Cesium.UrlTemplateImageryProvider | any;
}
/**
* cesium ion资源地图,官网: {@link https://cesium.com/ion/signin/}
* @param [options] - 参数对象,包括以下:
* @param options.assetId - ION服务 assetId
* @param [options.accessToken = mars3d.Token.ion] - ION服务 token令牌
* @param [options.server = Ion.defaultServer] - Cesium ion API服务器的资源。
* @param [options.minimumLevel = 0] - 瓦片所支持的最低层级,如果数据没有第0层,该参数必须配置,当地图小于该级别时,平台不去请求服务数据。
* @param [options.maximumLevel] - 瓦片所支持的最大层级,大于该层级时会显示上一层拉伸后的瓦片,当地图大于该级别时,平台不去请求服务数据。
* @param [options.minimumTerrainLevel] - 展示影像图层的最小地形细节级别,小于该级别时,平台不显示影像数据。
* @param [options.maximumTerrainLevel] - 展示影像图层的最大地形细节级别,大于该级别时,平台不显示影像数据。
* @param [options.rectangle] - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param [options.zIndex] - 控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效)。
* @param [options.crs = CRS.EPSG:3857] - 瓦片数据的坐标系信息,默认为墨卡托投影
* @param [options.chinaCRS] - 标识瓦片的国内坐标系(用于自动纠偏或加偏),自动将瓦片转为map对应的chinaCRS类型坐标系。
* @param [options.proxy] - 加载资源时要使用的代理服务url。
* @param [options.templateValues] - 一个对象,用于替换Url中的模板值的键/值对
* @param [options.queryParameters] - 一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'},
* @param [options.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' },
* @param [options.subdomains] - URL模板中用于 {s} 占位符的子域。 如果此参数是单个字符串,则字符串中的每个字符都是一个子域。如果是 一个数组,数组中的每个元素都是一个子域。
* @param [options.enablePickFeatures = true] - 如果为true,则 {@link UrlTemplateImageryProvider#pickFeatures} 请求 pickFeaturesUrl 并尝试解释响应中包含的功能。
* 如果为 false{@link UrlTemplateImageryProvider#pickFeatures} 会立即返回未定义(表示没有可拾取的内容) 功能)而无需与服务器通信。如果您知道数据,则将此属性设置为false 源不支持选择功能,或者您不希望该提供程序的功能可供选择。注意 可以通过修改 {@link UriTemplateImageryProvider#enablePickFeatures}来动态覆盖 属性。
* @param [options.getFeatureInfoFormats] - 在某处获取功能信息的格式 调用 {@link UrlTemplateImageryProvider#pickFeatures} 的特定位置。如果这 参数未指定,功能选择已禁用。
* @param [options.opacity = 1.0] - 透明度,取值范围:0.0-1.0。
* @param [options.alpha = 1.0] - 同opacity。
* @param [options.nightAlpha = 1.0] - 当 enableLighting 为 true 时 ,在地球的夜晚区域的透明度,取值范围:0.0-1.0。
* @param [options.dayAlpha = 1.0] - 当 enableLighting 为 true 时,在地球的白天区域的透明度,取值范围:0.0-1.0。
* @param [options.brightness = 1.0] - 亮度
* @param [options.contrast = 1.0] - 对比度。 1.0使用未修改的图像颜色,小于1.0会降低对比度,而大于1.0则会提高对比度。
* @param [options.hue = 0.0] - 色调。 0.0 时未修改的图像颜色。
* @param [options.saturation = 1.0] - 饱和度。 1.0使用未修改的图像颜色,小于1.0会降低饱和度,而大于1.0则会增加饱和度。
* @param [options.gamma = 1.0] - 伽马校正值。 1.0使用未修改的图像颜色。
* @param [options.invertColor] - 是否反向颜色,内部计算规则: color.r = 1.0 - color.r
* @param [options.filterColor] - 滤镜颜色,内部计算规则: color.r = color.r * filterColor.r
* @param [options.maximumAnisotropy = maximum supported] - 使用的最大各向异性水平 用于纹理过滤。如果未指定此参数,则支持最大各向异性 将使用WebGL堆栈。较大的值可使影像在水平方向上看起来更好 视图。
* @param [options.cutoutRectangle] - 制图矩形,用于裁剪此ImageryLayer的一部分。
* @param [options.colorToAlpha] - 用作Alpha的颜色。
* @param [options.colorToAlphaThreshold = 0.004] - 颜色到Alpha的阈值。
* @param [options.hasAlphaChannel = true] - 如果此图像提供者提供的图像为真 包括一个Alpha通道;否则为假。如果此属性为false,则为Alpha通道,如果 目前,将被忽略。如果此属性为true,则任何没有Alpha通道的图像都将 它们的alpha随处可见。当此属性为false时,内存使用情况 和纹理上传时间可能会减少。
* @param [options.tileWidth = 256] - 图像图块的像素宽度。
* @param [options.tileHeight = 256] - 图像图块的像素高度。
* @param [options.customTags] - 允许替换网址模板中的自定义关键字。该对象必须具有字符串作为键,并且必须具有值。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class IonLayer extends BaseTileLayer {
constructor(options?: {
assetId: number;
accessToken?: string;
server?: string | Cesium.Resource;
minimumLevel?: number;
maximumLevel?: number;
minimumTerrainLevel?: number;
maximumTerrainLevel?: number;
rectangle?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
zIndex?: number;
crs?: CRS;
chinaCRS?: ChinaCRS;
proxy?: string;
templateValues?: any;
queryParameters?: any;
headers?: any;
subdomains?: string | string[];
enablePickFeatures?: boolean;
getFeatureInfoFormats?: Cesium.GetFeatureInfoFormat[];
opacity?: number;
alpha?: number | ((...params: any[]) => any);
nightAlpha?: number | ((...params: any[]) => any);
dayAlpha?: number | ((...params: any[]) => any);
brightness?: number | ((...params: any[]) => any);
contrast?: number | ((...params: any[]) => any);
hue?: number | ((...params: any[]) => any);
saturation?: number | ((...params: any[]) => any);
gamma?: number | ((...params: any[]) => any);
invertColor?: boolean;
filterColor?: string | Cesium.Color;
maximumAnisotropy?: number;
cutoutRectangle?: Cesium.Rectangle;
colorToAlpha?: Cesium.Color;
colorToAlphaThreshold?: number;
hasAlphaChannel?: boolean;
tileWidth?: number;
tileHeight?: number;
customTags?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 创建用于图层的 ImageryProvider对象
* @param options - Provider参数,同图层构造参数。
* @returns ImageryProvider类
*/
static createImageryProvider(options: any): any;
/**
* 创建瓦片图层对应的ImageryProvider对象
* @param [options = {}] - 参数对象,具体每类瓦片图层都不一样。
* @returns 创建完成的 ImageryProvider 对象
*/
_createImageryProvider(options?: any): Cesium.UrlTemplateImageryProvider | any;
}
/**
* Mapbox地图服务
* @param [options] - 参数对象,包括以下:
* @param [options.url = 'https://api.mapbox.com/styles/v1/'] - Mapbox服务器网址。
* @param [options.username = 'marsgis'] - 地图帐户的用户名。
* @param options.styleId - Mapbox样式ID。
* @param [options.accessToken = mars3d.Token.mapbox] - 图像的Token公共访问令牌。
* @param [options.tilesize = 512] - 图像块的大小。
* @param [options.scaleFactor = true] - 确定贴图是否以 @2x 比例因子渲染。
* @param [options.minimumLevel = 0] - 瓦片所支持的最低层级,如果数据没有第0层,该参数必须配置,当地图小于该级别时,平台不去请求服务数据。
* @param [options.maximumLevel] - 瓦片所支持的最大层级,大于该层级时会显示上一层拉伸后的瓦片,当地图大于该级别时,平台不去请求服务数据。
* @param [options.minimumTerrainLevel] - 展示影像图层的最小地形细节级别,小于该级别时,平台不显示影像数据。
* @param [options.maximumTerrainLevel] - 展示影像图层的最大地形细节级别,大于该级别时,平台不显示影像数据。
* @param [options.rectangle] - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param [options.zIndex] - 控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效)。
* @param [options.crs = CRS.EPSG:3857] - 瓦片数据的坐标系信息,默认为墨卡托投影
* @param [options.chinaCRS] - 标识瓦片的国内坐标系(用于自动纠偏或加偏),自动将瓦片转为map对应的chinaCRS类型坐标系。
* @param [options.proxy] - 加载资源时要使用的代理服务url。
* @param [options.templateValues] - 一个对象,用于替换Url中的模板值的键/值对
* @param [options.queryParameters] - 一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'},
* @param [options.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' },
* @param [options.subdomains] - URL模板中用于 {s} 占位符的子域。 如果此参数是单个字符串,则字符串中的每个字符都是一个子域。如果是 一个数组,数组中的每个元素都是一个子域。
* @param [options.enablePickFeatures = true] - 如果为true,则 {@link UrlTemplateImageryProvider#pickFeatures} 请求 pickFeaturesUrl 并尝试解释响应中包含的功能。
* 如果为 false{@link UrlTemplateImageryProvider#pickFeatures} 会立即返回未定义(表示没有可拾取的内容) 功能)而无需与服务器通信。如果您知道数据,则将此属性设置为false 源不支持选择功能,或者您不希望该提供程序的功能可供选择。注意 可以通过修改 {@link UriTemplateImageryProvider#enablePickFeatures}来动态覆盖 属性。
* @param [options.getFeatureInfoFormats] - 在某处获取功能信息的格式 调用 {@link UrlTemplateImageryProvider#pickFeatures} 的特定位置。如果这 参数未指定,功能选择已禁用。
* @param [options.opacity = 1.0] - 透明度,取值范围:0.0-1.0。
* @param [options.alpha = 1.0] - 同opacity。
* @param [options.nightAlpha = 1.0] - 当 enableLighting 为 true 时 ,在地球的夜晚区域的透明度,取值范围:0.0-1.0。
* @param [options.dayAlpha = 1.0] - 当 enableLighting 为 true 时,在地球的白天区域的透明度,取值范围:0.0-1.0。
* @param [options.brightness = 1.0] - 亮度
* @param [options.contrast = 1.0] - 对比度。 1.0使用未修改的图像颜色,小于1.0会降低对比度,而大于1.0则会提高对比度。
* @param [options.hue = 0.0] - 色调。 0.0 时未修改的图像颜色。
* @param [options.saturation = 1.0] - 饱和度。 1.0使用未修改的图像颜色,小于1.0会降低饱和度,而大于1.0则会增加饱和度。
* @param [options.gamma = 1.0] - 伽马校正值。 1.0使用未修改的图像颜色。
* @param [options.invertColor] - 是否反向颜色,内部计算规则: color.r = 1.0 - color.r
* @param [options.filterColor] - 滤镜颜色,内部计算规则: color.r = color.r * filterColor.r
* @param [options.maximumAnisotropy = maximum supported] - 使用的最大各向异性水平 用于纹理过滤。如果未指定此参数,则支持最大各向异性 将使用WebGL堆栈。较大的值可使影像在水平方向上看起来更好 视图。
* @param [options.cutoutRectangle] - 制图矩形,用于裁剪此ImageryLayer的一部分。
* @param [options.colorToAlpha] - 用作Alpha的颜色。
* @param [options.colorToAlphaThreshold = 0.004] - 颜色到Alpha的阈值。
* @param [options.hasAlphaChannel = true] - 如果此图像提供者提供的图像为真 包括一个Alpha通道;否则为假。如果此属性为false,则为Alpha通道,如果 目前,将被忽略。如果此属性为true,则任何没有Alpha通道的图像都将 它们的alpha随处可见。当此属性为false时,内存使用情况 和纹理上传时间可能会减少。
* @param [options.tileWidth = 256] - 图像图块的像素宽度。
* @param [options.tileHeight = 256] - 图像图块的像素高度。
* @param [options.customTags] - 允许替换网址模板中的自定义关键字。该对象必须具有字符串作为键,并且必须具有值。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class MapboxLayer extends BaseTileLayer {
constructor(options?: {
url?: Cesium.Resource | string;
username?: string;
styleId: string;
accessToken?: string;
tilesize?: number;
scaleFactor?: boolean;
minimumLevel?: number;
maximumLevel?: number;
minimumTerrainLevel?: number;
maximumTerrainLevel?: number;
rectangle?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
zIndex?: number;
crs?: CRS;
chinaCRS?: ChinaCRS;
proxy?: string;
templateValues?: any;
queryParameters?: any;
headers?: any;
subdomains?: string | string[];
enablePickFeatures?: boolean;
getFeatureInfoFormats?: Cesium.GetFeatureInfoFormat[];
opacity?: number;
alpha?: number | ((...params: any[]) => any);
nightAlpha?: number | ((...params: any[]) => any);
dayAlpha?: number | ((...params: any[]) => any);
brightness?: number | ((...params: any[]) => any);
contrast?: number | ((...params: any[]) => any);
hue?: number | ((...params: any[]) => any);
saturation?: number | ((...params: any[]) => any);
gamma?: number | ((...params: any[]) => any);
invertColor?: boolean;
filterColor?: string | Cesium.Color;
maximumAnisotropy?: number;
cutoutRectangle?: Cesium.Rectangle;
colorToAlpha?: Cesium.Color;
colorToAlphaThreshold?: number;
hasAlphaChannel?: boolean;
tileWidth?: number;
tileHeight?: number;
customTags?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 创建用于图层的 ImageryProvider对象
* @param options - Provider参数,同图层构造参数。
* @returns ImageryProvider类
*/
static createImageryProvider(options: any): any;
/**
* 创建瓦片图层对应的ImageryProvider对象
* @param [options = {}] - 参数对象,具体每类瓦片图层都不一样。
* @returns 创建完成的 ImageryProvider 对象
*/
_createImageryProvider(options?: any): Cesium.UrlTemplateImageryProvider | any;
}
/**
* OSM开源地图
* @param [options] - 参数对象,包括以下:
* @param [options.url = 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'] - 服务url地址
* @param [options.subdomains = 'abc'] - URL模板中用于 {s} 占位符的子域。 如果此参数是单个字符串,则字符串中的每个字符都是一个子域。如果是 一个数组,数组中的每个元素都是一个子域。
* @param [options.minimumLevel = 0] - 瓦片所支持的最低层级,如果数据没有第0层,该参数必须配置,当地图小于该级别时,平台不去请求服务数据。
* @param [options.maximumLevel = 18] - 瓦片所支持的最大层级,大于该层级时会显示上一层拉伸后的瓦片,当地图大于该级别时,平台不去请求服务数据。
* @param [options.minimumTerrainLevel] - 展示影像图层的最小地形细节级别,小于该级别时,平台不显示影像数据。
* @param [options.maximumTerrainLevel] - 展示影像图层的最大地形细节级别,大于该级别时,平台不显示影像数据。
* @param [options.rectangle] - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param [options.zIndex] - 控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效)。
* @param [options.proxy] - 加载资源时要使用的代理服务url。
* @param [options.templateValues] - 一个对象,用于替换Url中的模板值的键/值对
* @param [options.queryParameters] - 一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'},
* @param [options.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' },
* @param [options.opacity = 1.0] - 透明度,取值范围:0.0-1.0。
* @param [options.alpha = 1.0] - 同opacity。
* @param [options.nightAlpha = 1.0] - 当 enableLighting 为 true 时 ,在地球的夜晚区域的透明度,取值范围:0.0-1.0。
* @param [options.dayAlpha = 1.0] - 当 enableLighting 为 true 时,在地球的白天区域的透明度,取值范围:0.0-1.0。
* @param [options.brightness = 1.0] - 亮度
* @param [options.contrast = 1.0] - 对比度。 1.0使用未修改的图像颜色,小于1.0会降低对比度,而大于1.0则会提高对比度。
* @param [options.hue = 0.0] - 色调。 0.0 时未修改的图像颜色。
* @param [options.saturation = 1.0] - 饱和度。 1.0使用未修改的图像颜色,小于1.0会降低饱和度,而大于1.0则会增加饱和度。
* @param [options.gamma = 1.0] - 伽马校正值。 1.0使用未修改的图像颜色。
* @param [options.invertColor] - 是否反向颜色,内部计算规则: color.r = 1.0 - color.r
* @param [options.filterColor] - 滤镜颜色,内部计算规则: color.r = color.r * filterColor.r
* @param [options.maximumAnisotropy = maximum supported] - 使用的最大各向异性水平 用于纹理过滤。如果未指定此参数,则支持最大各向异性 将使用WebGL堆栈。较大的值可使影像在水平方向上看起来更好 视图。
* @param [options.cutoutRectangle] - 制图矩形,用于裁剪此ImageryLayer的一部分。
* @param [options.colorToAlpha] - 用作Alpha的颜色。
* @param [options.colorToAlphaThreshold = 0.004] - 颜色到Alpha的阈值。
* @param [options.hasAlphaChannel = true] - 如果此图像提供者提供的图像为真 包括一个Alpha通道;否则为假。如果此属性为false,则为Alpha通道,如果 目前,将被忽略。如果此属性为true,则任何没有Alpha通道的图像都将 它们的alpha随处可见。当此属性为false时,内存使用情况 和纹理上传时间可能会减少。
* @param [options.tileWidth = 256] - 图像图块的像素宽度。
* @param [options.tileHeight = 256] - 图像图块的像素高度。
* @param [options.customTags] - 允许替换网址模板中的自定义关键字。该对象必须具有字符串作为键,并且必须具有值。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class OsmLayer extends BaseTileLayer {
constructor(options?: {
url?: Cesium.Resource | string;
subdomains?: string | string[];
minimumLevel?: number;
maximumLevel?: number;
minimumTerrainLevel?: number;
maximumTerrainLevel?: number;
rectangle?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
zIndex?: number;
proxy?: string;
templateValues?: any;
queryParameters?: any;
headers?: any;
opacity?: number;
alpha?: number | ((...params: any[]) => any);
nightAlpha?: number | ((...params: any[]) => any);
dayAlpha?: number | ((...params: any[]) => any);
brightness?: number | ((...params: any[]) => any);
contrast?: number | ((...params: any[]) => any);
hue?: number | ((...params: any[]) => any);
saturation?: number | ((...params: any[]) => any);
gamma?: number | ((...params: any[]) => any);
invertColor?: boolean;
filterColor?: string | Cesium.Color;
maximumAnisotropy?: number;
cutoutRectangle?: Cesium.Rectangle;
colorToAlpha?: Cesium.Color;
colorToAlphaThreshold?: number;
hasAlphaChannel?: boolean;
tileWidth?: number;
tileHeight?: number;
customTags?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 创建用于图层的 ImageryProvider对象
* @param options - Provider参数,同图层构造参数。
* @returns ImageryProvider类
*/
static createImageryProvider(options: any): any;
/**
* 创建瓦片图层对应的ImageryProvider对象
* @param [options = {}] - 参数对象,具体每类瓦片图层都不一样。
* @returns 创建完成的 ImageryProvider 对象
*/
_createImageryProvider(options?: any): Cesium.UrlTemplateImageryProvider | any;
}
/**
* 天地图
* @param [options] - 参数对象,包括以下:
* @param [options.layer] - 图层类型,以及以下内容:
*
* vec_d: 电子图层
* vec_z: 电子注记
* vec_e: 电子注记英文
* img_d: 卫星影像
* img_z: 影像注记
* img_e: 影像注记英文
* ter_d: 地形渲染图
* ter_z: 地形渲染图注记
*
* @param [options.key = mars3d.Token.tiandituArr] - 天地图服务Token,可以自行注册官网: {@link https://console.tianditu.gov.cn/api/key}
* @param [options.url] - 服务URL地址,同xyz服务
* @param [options.minimumLevel = 0] - 瓦片所支持的最低层级,如果数据没有第0层,该参数必须配置,当地图小于该级别时,平台不去请求服务数据。
* @param [options.maximumLevel] - 瓦片所支持的最大层级,大于该层级时会显示上一层拉伸后的瓦片,当地图大于该级别时,平台不去请求服务数据。
* @param [options.minimumTerrainLevel] - 展示影像图层的最小地形细节级别,小于该级别时,平台不显示影像数据。
* @param [options.maximumTerrainLevel] - 展示影像图层的最大地形细节级别,大于该级别时,平台不显示影像数据。
* @param [options.rectangle] - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param [options.zIndex] - 控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效)。
* @param [options.crs = CRS.EPSG:3857] - 瓦片数据的坐标系信息,默认为墨卡托投影,也支持传入EPSG4490坐标系
* @param [options.chinaCRS] - 标识瓦片的国内坐标系(用于自动纠偏或加偏),自动将瓦片转为map对应的chinaCRS类型坐标系。
* @param [options.proxy] - 加载资源时要使用的代理服务url。
* @param [options.templateValues] - 一个对象,用于替换Url中的模板值的键/值对
* @param [options.queryParameters] - 一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'},
* @param [options.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' },
* @param [options.subdomains = '01234567'] - URL模板中用于 {s} 占位符的子域。 如果此参数是单个字符串,则字符串中的每个字符都是一个子域。如果是 一个数组,数组中的每个元素都是一个子域。
* @param [options.opacity = 1.0] - 透明度,取值范围:0.0-1.0。
* @param [options.alpha = 1.0] - 同opacity。
* @param [options.nightAlpha = 1.0] - 当 enableLighting 为 true 时 ,在地球的夜晚区域的透明度,取值范围:0.0-1.0。
* @param [options.dayAlpha = 1.0] - 当 enableLighting 为 true 时,在地球的白天区域的透明度,取值范围:0.0-1.0。
* @param [options.brightness = 1.0] - 亮度
* @param [options.contrast = 1.0] - 对比度。 1.0使用未修改的图像颜色,小于1.0会降低对比度,而大于1.0则会提高对比度。
* @param [options.hue = 0.0] - 色调。 0.0 时未修改的图像颜色。
* @param [options.saturation = 1.0] - 饱和度。 1.0使用未修改的图像颜色,小于1.0会降低饱和度,而大于1.0则会增加饱和度。
* @param [options.gamma = 1.0] - 伽马校正值。 1.0使用未修改的图像颜色。
* @param [options.invertColor] - 是否反向颜色,内部计算规则: color.r = 1.0 - color.r
* @param [options.filterColor] - 滤镜颜色,内部计算规则: color.r = color.r * filterColor.r
* @param [options.maximumAnisotropy = maximum supported] - 使用的最大各向异性水平 用于纹理过滤。如果未指定此参数,则支持最大各向异性 将使用WebGL堆栈。较大的值可使影像在水平方向上看起来更好 视图。
* @param [options.cutoutRectangle] - 制图矩形,用于裁剪此ImageryLayer的一部分。
* @param [options.colorToAlpha] - 用作Alpha的颜色。
* @param [options.colorToAlphaThreshold = 0.004] - 颜色到Alpha的阈值。
* @param [options.hasAlphaChannel = true] - 如果此图像提供者提供的图像为真 包括一个Alpha通道;否则为假。如果此属性为false,则为Alpha通道,如果 目前,将被忽略。如果此属性为true,则任何没有Alpha通道的图像都将 它们的alpha随处可见。当此属性为false时,内存使用情况 和纹理上传时间可能会减少。
* @param [options.tileWidth = 256] - 图像图块的像素宽度。
* @param [options.tileHeight = 256] - 图像图块的像素高度。
* @param [options.customTags] - 允许替换网址模板中的自定义关键字。该对象必须具有字符串作为键,并且必须具有值。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class TdtLayer extends BaseTileLayer {
constructor(options?: {
layer?: string;
key?: string[];
url?: string;
minimumLevel?: number;
maximumLevel?: number;
minimumTerrainLevel?: number;
maximumTerrainLevel?: number;
rectangle?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
zIndex?: number;
crs?: CRS;
chinaCRS?: ChinaCRS;
proxy?: string;
templateValues?: any;
queryParameters?: any;
headers?: any;
subdomains?: string | string[];
opacity?: number;
alpha?: number | ((...params: any[]) => any);
nightAlpha?: number | ((...params: any[]) => any);
dayAlpha?: number | ((...params: any[]) => any);
brightness?: number | ((...params: any[]) => any);
contrast?: number | ((...params: any[]) => any);
hue?: number | ((...params: any[]) => any);
saturation?: number | ((...params: any[]) => any);
gamma?: number | ((...params: any[]) => any);
invertColor?: boolean;
filterColor?: string | Cesium.Color;
maximumAnisotropy?: number;
cutoutRectangle?: Cesium.Rectangle;
colorToAlpha?: Cesium.Color;
colorToAlphaThreshold?: number;
hasAlphaChannel?: boolean;
tileWidth?: number;
tileHeight?: number;
customTags?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 创建用于图层的 ImageryProvider对象
* @param options - Provider参数,同图层构造参数。
* @returns ImageryProvider类
*/
static createImageryProvider(options: any): any;
/**
* 创建瓦片图层对应的ImageryProvider对象
* @param [options = {}] - 参数对象,具体每类瓦片图层都不一样。
* @returns 创建完成的 ImageryProvider 对象
*/
_createImageryProvider(options?: any): Cesium.UrlTemplateImageryProvider | any;
}
/**
* 腾讯
* @param [options] - 参数对象,包括以下:
* @param [options.layer] - 图层类型,以及以下内容:
*
* vec: 电子图层
* img_d: 卫星影像
* img_z: 影像注记
* custom: 地形渲染图
*
* @param [options.style] - 当layer为custom时,标识的样式,可选值:灰白地图:3,暗色地图:4
* @param [options.url] - 当未指定layer类型时,可以传入外部指定url的服务地址,常用于离线服务。
* @param [options.subdomains] - URL模板中用于 {s} 占位符的子域。 如果此参数是单个字符串,则字符串中的每个字符都是一个子域。如果是一个数组,数组中的每个元素都是一个子域。
* @param [options.minimumLevel = 0] - 瓦片所支持的最低层级,如果数据没有第0层,该参数必须配置,当地图小于该级别时,平台不去请求服务数据。
* @param [options.maximumLevel] - 瓦片所支持的最大层级,大于该层级时会显示上一层拉伸后的瓦片,当地图大于该级别时,平台不去请求服务数据。
* @param [options.minimumTerrainLevel] - 展示影像图层的最小地形细节级别,小于该级别时,平台不显示影像数据。
* @param [options.maximumTerrainLevel] - 展示影像图层的最大地形细节级别,大于该级别时,平台不显示影像数据。
* @param [options.rectangle] - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param [options.zIndex] - 控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效)。
* @param [options.chinaCRS = ChinaCRS.GCJ02] - 标识瓦片的国内坐标系(用于自动纠偏或加偏),自动将瓦片转为map对应的chinaCRS类型坐标系。
* @param [options.proxy] - 加载资源时要使用的代理服务url。
* @param [options.templateValues] - 一个对象,用于替换Url中的模板值的键/值对
* @param [options.queryParameters] - 一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'},
* @param [options.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' },
* @param [options.opacity = 1.0] - 透明度,取值范围:0.0-1.0。
* @param [options.alpha = 1.0] - 同opacity。
* @param [options.nightAlpha = 1.0] - 当 enableLighting 为 true 时 ,在地球的夜晚区域的透明度,取值范围:0.0-1.0。
* @param [options.dayAlpha = 1.0] - 当 enableLighting 为 true 时,在地球的白天区域的透明度,取值范围:0.0-1.0。
* @param [options.brightness = 1.0] - 亮度
* @param [options.contrast = 1.0] - 对比度。 1.0使用未修改的图像颜色,小于1.0会降低对比度,而大于1.0则会提高对比度。
* @param [options.hue = 0.0] - 色调。 0.0 时未修改的图像颜色。
* @param [options.saturation = 1.0] - 饱和度。 1.0使用未修改的图像颜色,小于1.0会降低饱和度,而大于1.0则会增加饱和度。
* @param [options.gamma = 1.0] - 伽马校正值。 1.0使用未修改的图像颜色。
* @param [options.invertColor] - 是否反向颜色,内部计算规则: color.r = 1.0 - color.r
* @param [options.filterColor] - 滤镜颜色,内部计算规则: color.r = color.r * filterColor.r
* @param [options.maximumAnisotropy = maximum supported] - 使用的最大各向异性水平 用于纹理过滤。如果未指定此参数,则支持最大各向异性 将使用WebGL堆栈。较大的值可使影像在水平方向上看起来更好 视图。
* @param [options.cutoutRectangle] - 制图矩形,用于裁剪此ImageryLayer的一部分。
* @param [options.colorToAlpha] - 用作Alpha的颜色。
* @param [options.colorToAlphaThreshold = 0.004] - 颜色到Alpha的阈值。
* @param [options.hasAlphaChannel = true] - 如果此图像提供者提供的图像为真 包括一个Alpha通道;否则为假。如果此属性为false,则为Alpha通道,如果 目前,将被忽略。如果此属性为true,则任何没有Alpha通道的图像都将 它们的alpha随处可见。当此属性为false时,内存使用情况 和纹理上传时间可能会减少。
* @param [options.tileWidth = 256] - 图像图块的像素宽度。
* @param [options.tileHeight = 256] - 图像图块的像素高度。
* @param [options.customTags] - 允许替换网址模板中的自定义关键字。该对象必须具有字符串作为键,并且必须具有值。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class TencentLayer extends BaseTileLayer {
constructor(options?: {
layer?: string;
style?: string;
url?: string;
subdomains?: string | string[];
minimumLevel?: number;
maximumLevel?: number;
minimumTerrainLevel?: number;
maximumTerrainLevel?: number;
rectangle?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
zIndex?: number;
chinaCRS?: ChinaCRS;
proxy?: string;
templateValues?: any;
queryParameters?: any;
headers?: any;
opacity?: number;
alpha?: number | ((...params: any[]) => any);
nightAlpha?: number | ((...params: any[]) => any);
dayAlpha?: number | ((...params: any[]) => any);
brightness?: number | ((...params: any[]) => any);
contrast?: number | ((...params: any[]) => any);
hue?: number | ((...params: any[]) => any);
saturation?: number | ((...params: any[]) => any);
gamma?: number | ((...params: any[]) => any);
invertColor?: boolean;
filterColor?: string | Cesium.Color;
maximumAnisotropy?: number;
cutoutRectangle?: Cesium.Rectangle;
colorToAlpha?: Cesium.Color;
colorToAlphaThreshold?: number;
hasAlphaChannel?: boolean;
tileWidth?: number;
tileHeight?: number;
customTags?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 创建用于图层的 ImageryProvider对象
* @param options - Provider参数,同图层构造参数。
* @returns ImageryProvider类
*/
static createImageryProvider(options: any): any;
/**
* 创建瓦片图层对应的ImageryProvider对象
* @param [options = {}] - 参数对象,具体每类瓦片图层都不一样。
* @returns 创建完成的 ImageryProvider 对象
*/
_createImageryProvider(options?: any): Cesium.UrlTemplateImageryProvider | any;
}
/**
* 瓦片信息,一般用于测试
* @param [options] - 参数对象,包括以下:
* @param [options.color = rgba(255,0,0,1)] - 画瓦片边框线和标签的颜色
* @param [options.minimumLevel = 0] - 瓦片所支持的最低层级,如果数据没有第0层,该参数必须配置,当地图小于该级别时,平台不去请求服务数据。
* @param [options.maximumLevel] - 瓦片所支持的最大层级,大于该层级时会显示上一层拉伸后的瓦片,当地图大于该级别时,平台不去请求服务数据。
* @param [options.minimumTerrainLevel] - 展示影像图层的最小地形细节级别,小于该级别时,平台不显示影像数据。
* @param [options.maximumTerrainLevel] - 展示影像图层的最大地形细节级别,大于该级别时,平台不显示影像数据。
* @param [options.rectangle] - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param [options.zIndex] - 控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效)。
* @param [options.opacity = 1.0] - 透明度,取值范围:0.0-1.0。
* @param [options.alpha = 1.0] - 同opacity。
* @param [options.nightAlpha = 1.0] - 当 enableLighting 为 true 时 ,在地球的夜晚区域的透明度,取值范围:0.0-1.0。
* @param [options.dayAlpha = 1.0] - 当 enableLighting 为 true 时,在地球的白天区域的透明度,取值范围:0.0-1.0。
* @param [options.brightness = 1.0] - 亮度
* @param [options.contrast = 1.0] - 对比度。 1.0使用未修改的图像颜色,小于1.0会降低对比度,而大于1.0则会提高对比度。
* @param [options.hue = 0.0] - 色调。 0.0 时未修改的图像颜色。
* @param [options.saturation = 1.0] - 饱和度。 1.0使用未修改的图像颜色,小于1.0会降低饱和度,而大于1.0则会增加饱和度。
* @param [options.gamma = 1.0] - 伽马校正值。 1.0使用未修改的图像颜色。
* @param [options.invertColor] - 是否反向颜色,内部计算规则: color.r = 1.0 - color.r
* @param [options.filterColor] - 滤镜颜色,内部计算规则: color.r = color.r * filterColor.r
* @param [options.maximumAnisotropy = maximum supported] - 使用的最大各向异性水平 用于纹理过滤。如果未指定此参数,则支持最大各向异性 将使用WebGL堆栈。较大的值可使影像在水平方向上看起来更好 视图。
* @param [options.cutoutRectangle] - 制图矩形,用于裁剪此ImageryLayer的一部分。
* @param [options.colorToAlpha] - 用作Alpha的颜色。
* @param [options.colorToAlphaThreshold = 0.004] - 颜色到Alpha的阈值。
* @param [options.hasAlphaChannel = true] - 如果此图像提供者提供的图像为真 包括一个Alpha通道;否则为假。如果此属性为false,则为Alpha通道,如果 目前,将被忽略。如果此属性为true,则任何没有Alpha通道的图像都将 它们的alpha随处可见。当此属性为false时,内存使用情况 和纹理上传时间可能会减少。
* @param [options.tileWidth = 256] - 图像图块的像素宽度。
* @param [options.tileHeight = 256] - 图像图块的像素高度。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class TileInfoLayer extends BaseTileLayer {
constructor(options?: {
color?: string;
minimumLevel?: number;
maximumLevel?: number;
minimumTerrainLevel?: number;
maximumTerrainLevel?: number;
rectangle?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
zIndex?: number;
opacity?: number;
alpha?: number | ((...params: any[]) => any);
nightAlpha?: number | ((...params: any[]) => any);
dayAlpha?: number | ((...params: any[]) => any);
brightness?: number | ((...params: any[]) => any);
contrast?: number | ((...params: any[]) => any);
hue?: number | ((...params: any[]) => any);
saturation?: number | ((...params: any[]) => any);
gamma?: number | ((...params: any[]) => any);
invertColor?: boolean;
filterColor?: string | Cesium.Color;
maximumAnisotropy?: number;
cutoutRectangle?: Cesium.Rectangle;
colorToAlpha?: Cesium.Color;
colorToAlphaThreshold?: number;
hasAlphaChannel?: boolean;
tileWidth?: number;
tileHeight?: number;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 创建瓦片图层对应的ImageryProvider对象
* @param [options = {}] - 参数对象,具体每类瓦片图层都不一样。
* @returns 创建完成的 ImageryProvider 对象
*/
_createImageryProvider(options?: any): Cesium.UrlTemplateImageryProvider | any;
}
/**
* TMS服务,比如由MapTiler,GDAL2Tiles等生成的切片图像的加载。
* @param [options] - 参数对象,包括以下:
* @param [options.url] - 服务地址
* @param [options.subdomains] - URL模板中用于 {s} 占位符的子域。 如果此参数是单个字符串,则字符串中的每个字符都是一个子域。如果是 一个数组,数组中的每个元素都是一个子域。
* @param [options.fileExtension = 'png'] - 服务器上图像的文件扩展名。
* @param [options.flipXY] - gdal2tiles.py的旧版本将tilemapresource.xml中的X和Y值翻转了。指定此选项将执行相同的操作,从而允许加载这些不正确的图块集。
* @param [options.minimumLevel = 0] - 瓦片所支持的最低层级,如果数据没有第0层,该参数必须配置,当地图小于该级别时,平台不去请求服务数据。
* @param [options.maximumLevel] - 瓦片所支持的最大层级,大于该层级时会显示上一层拉伸后的瓦片,当地图大于该级别时,平台不去请求服务数据。
* @param [options.minimumTerrainLevel] - 展示影像图层的最小地形细节级别,小于该级别时,平台不显示影像数据。
* @param [options.maximumTerrainLevel] - 展示影像图层的最大地形细节级别,大于该级别时,平台不显示影像数据。
* @param [options.rectangle] - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param [options.zIndex] - 控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效)。
* @param [options.crs = CRS.EPSG:3857] - 瓦片数据的坐标系信息,默认为墨卡托投影
* @param [options.chinaCRS] - 标识瓦片的国内坐标系(用于自动纠偏或加偏),自动将瓦片转为map对应的chinaCRS类型坐标系。
* @param [options.proxy] - 加载资源时要使用的代理服务url。
* @param [options.templateValues] - 一个对象,用于替换Url中的模板值的键/值对
* @param [options.queryParameters] - 一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'},
* @param [options.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' },
* @param [options.enablePickFeatures = true] - 如果为true,则 {@link UrlTemplateImageryProvider#pickFeatures} 请求 pickFeaturesUrl 并尝试解释响应中包含的功能。
* 如果为 false{@link UrlTemplateImageryProvider#pickFeatures} 会立即返回未定义(表示没有可拾取的内容) 功能)而无需与服务器通信。如果您知道数据,则将此属性设置为false 源不支持选择功能,或者您不希望该提供程序的功能可供选择。注意 可以通过修改 {@link UriTemplateImageryProvider#enablePickFeatures}来动态覆盖 属性。
* @param [options.getFeatureInfoFormats] - 在某处获取功能信息的格式 调用 {@link UrlTemplateImageryProvider#pickFeatures} 的特定位置。如果这 参数未指定,功能选择已禁用。
* @param [options.opacity = 1.0] - 透明度,取值范围:0.0-1.0。
* @param [options.alpha = 1.0] - 同opacity。
* @param [options.nightAlpha = 1.0] - 当 enableLighting 为 true 时 ,在地球的夜晚区域的透明度,取值范围:0.0-1.0。
* @param [options.dayAlpha = 1.0] - 当 enableLighting 为 true 时,在地球的白天区域的透明度,取值范围:0.0-1.0。
* @param [options.brightness = 1.0] - 亮度
* @param [options.contrast = 1.0] - 对比度。 1.0使用未修改的图像颜色,小于1.0会降低对比度,而大于1.0则会提高对比度。
* @param [options.hue = 0.0] - 色调。 0.0 时未修改的图像颜色。
* @param [options.saturation = 1.0] - 饱和度。 1.0使用未修改的图像颜色,小于1.0会降低饱和度,而大于1.0则会增加饱和度。
* @param [options.gamma = 1.0] - 伽马校正值。 1.0使用未修改的图像颜色。
* @param [options.invertColor] - 是否反向颜色,内部计算规则: color.r = 1.0 - color.r
* @param [options.filterColor] - 滤镜颜色,内部计算规则: color.r = color.r * filterColor.r
* @param [options.maximumAnisotropy = maximum supported] - 使用的最大各向异性水平 用于纹理过滤。如果未指定此参数,则支持最大各向异性 将使用WebGL堆栈。较大的值可使影像在水平方向上看起来更好 视图。
* @param [options.cutoutRectangle] - 制图矩形,用于裁剪此ImageryLayer的一部分。
* @param [options.colorToAlpha] - 用作Alpha的颜色。
* @param [options.colorToAlphaThreshold = 0.004] - 颜色到Alpha的阈值。
* @param [options.hasAlphaChannel = true] - 如果此图像提供者提供的图像为真 包括一个Alpha通道;否则为假。如果此属性为false,则为Alpha通道,如果 目前,将被忽略。如果此属性为true,则任何没有Alpha通道的图像都将 它们的alpha随处可见。当此属性为false时,内存使用情况 和纹理上传时间可能会减少。
* @param [options.tileWidth = 256] - 图像图块的像素宽度。
* @param [options.tileHeight = 256] - 图像图块的像素高度。
* @param [options.customTags] - 允许替换网址模板中的自定义关键字。该对象必须具有字符串作为键,并且必须具有值。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class TmsLayer extends BaseTileLayer {
constructor(options?: {
url?: Cesium.Resource | string | Promise | Promise;
subdomains?: string | string[];
fileExtension?: string;
flipXY?: boolean;
minimumLevel?: number;
maximumLevel?: number;
minimumTerrainLevel?: number;
maximumTerrainLevel?: number;
rectangle?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
zIndex?: number;
crs?: CRS;
chinaCRS?: ChinaCRS;
proxy?: string;
templateValues?: any;
queryParameters?: any;
headers?: any;
enablePickFeatures?: boolean;
getFeatureInfoFormats?: Cesium.GetFeatureInfoFormat[];
opacity?: number;
alpha?: number | ((...params: any[]) => any);
nightAlpha?: number | ((...params: any[]) => any);
dayAlpha?: number | ((...params: any[]) => any);
brightness?: number | ((...params: any[]) => any);
contrast?: number | ((...params: any[]) => any);
hue?: number | ((...params: any[]) => any);
saturation?: number | ((...params: any[]) => any);
gamma?: number | ((...params: any[]) => any);
invertColor?: boolean;
filterColor?: string | Cesium.Color;
maximumAnisotropy?: number;
cutoutRectangle?: Cesium.Rectangle;
colorToAlpha?: Cesium.Color;
colorToAlphaThreshold?: number;
hasAlphaChannel?: boolean;
tileWidth?: number;
tileHeight?: number;
customTags?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 创建用于图层的 ImageryProvider对象
* @param options - Provider参数,同图层构造参数。
* @returns ImageryProvider类
*/
static createImageryProvider(options: any): any;
/**
* 创建瓦片图层对应的ImageryProvider对象
* @param [options = {}] - 参数对象,具体每类瓦片图层都不一样。
* @returns 创建完成的 ImageryProvider 对象
*/
_createImageryProvider(options?: any): Cesium.UrlTemplateImageryProvider | any;
}
/**
* WMS服务
* @param [options] - 参数对象,包括以下:
* @param options.url - WMS服务的URL。
* @param [options.subdomains] - URL模板中用于 {s} 占位符的子域。 如果此参数是单个字符串,则字符串中的每个字符都是一个子域。如果是 一个数组,数组中的每个元素都是一个子域。
* @param options.layers - 要包含的图层,用逗号分隔。
* @param [options.parameters = Cesium.WebMapServiceImageryProvider.DefaultParameters] - 要在URL中 传递给[WMS服务]{@link https://docs.geoserver.org/stable/en/user/services/wms/index.html}GetMap请求的其他参数。
* @param [options.parameters.format = 'image/jpeg'] - 瓦片格式
* @param [options.parameters.transparent] - 是否透明
* @param [options.parameters.cql_filter] - 筛选服务数据的SQL语句
* @param [options.parameters.service = 'WMS'] - 服务类型
* @param [options.parameters.version = '1.1.1'] - 服务版本
* @param [options.parameters.request = 'GetMap'] - 请求方法
* @param [options.parameters.styles = ''] - 样式
* @param [options.crs = 'EPSG:3857'] - 瓦片数据的坐标系信息,默认为墨卡托投影,CRS规范,用于WMS规范>= 1.3.0。
* @param [options.srs] - SRS规范,与WMS规范1.1.0或1.1.1一起使用
* @param [options.getCapabilities = true] - 是否通过服务本身的GetCapabilities来读取一些参数,减少options配置项
* @param [options.clock] - 一个时钟实例,用于确定时间维度的值。指定' times '时需要。
* @param [options.times] - TimeIntervalCollection 的数据属性是一个包含时间动态维度及其值的对象。
* @param [options.enablePickFeatures = true] - 如果为true,则请求 单击坐标处服务中对应的矢量数据 并尝试解释响应中包含的功能。为false时不去服务请求。
* @param [options.featureToGraphic = mars3d.Util.geoJsonToGraphics] - 解析单击返回的矢量数据信息为Graphic构造参数,可以按需自定义。
* @param [options.hasToGraphic] - 筛选或判断是否解析,单击获取到的数据进行按需筛选解析,大数据解析很卡,可以设定阀值屏蔽大数据,避免卡顿,number类型时代表字符串长度值。
* @param [options.getFeatureInfoParameters] - 在单击坐标处通过GetFeatureInfo请求接口时,传递给WMS服务器的附加参数。
* @param [options.highlight] - 鼠标单击高亮显示对应的矢量数据 及其样式,包括type参数指定构造的类型,其他参数见各{@link GraphicType}矢量数据的style参数项。
* @param [options.popup] - 绑定的popup弹窗值,也可以bindPopup方法绑定,支持:'all'、数组、字符串模板
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数,还包括:
* @param [options.popupOptions.title] - 固定的标题名称
* @param [options.popupOptions.titleField] - 标题对应的属性字段名称
* @param [options.popupOptions.noTitle] - 不显示标题
* @param [options.minimumLevel = 0] - 瓦片所支持的最低层级,如果数据没有第0层,该参数必须配置,当地图小于该级别时,平台不去请求服务数据。
* @param [options.maximumLevel] - 瓦片所支持的最大层级,大于该层级时会显示上一层拉伸后的瓦片,当地图大于该级别时,平台不去请求服务数据。
* @param [options.minimumTerrainLevel] - 展示影像图层的最小地形细节级别,小于该级别时,平台不显示影像数据。
* @param [options.maximumTerrainLevel] - 展示影像图层的最大地形细节级别,大于该级别时,平台不显示影像数据。
* @param [options.rectangle] - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param [options.zIndex] - 控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效)。
* @param [options.chinaCRS] - 标识瓦片的国内坐标系(用于自动纠偏或加偏),自动将瓦片转为map对应的chinaCRS类型坐标系。
* @param [options.opacity = 1.0] - 透明度,取值范围:0.0-1.0。
* @param [options.alpha = 1.0] - 同opacity。
* @param [options.nightAlpha = 1.0] - 当 enableLighting 为 true 时 ,在地球的夜晚区域的透明度,取值范围:0.0-1.0。
* @param [options.dayAlpha = 1.0] - 当 enableLighting 为 true 时,在地球的白天区域的透明度,取值范围:0.0-1.0。
* @param [options.brightness = 1.0] - 亮度
* @param [options.contrast = 1.0] - 对比度。 1.0使用未修改的图像颜色,小于1.0会降低对比度,而大于1.0则会提高对比度。
* @param [options.hue = 0.0] - 色调。 0.0 时未修改的图像颜色。
* @param [options.saturation = 1.0] - 饱和度。 1.0使用未修改的图像颜色,小于1.0会降低饱和度,而大于1.0则会增加饱和度。
* @param [options.gamma = 1.0] - 伽马校正值。 1.0使用未修改的图像颜色。
* @param [options.invertColor] - 是否反向颜色,内部计算规则: color.r = 1.0 - color.r
* @param [options.filterColor] - 滤镜颜色,内部计算规则: color.r = color.r * filterColor.r
* @param [options.maximumAnisotropy = maximum supported] - 使用的最大各向异性水平 用于纹理过滤。如果未指定此参数,则支持最大各向异性 将使用WebGL堆栈。较大的值可使影像在水平方向上看起来更好 视图。
* @param [options.cutoutRectangle] - 制图矩形,用于裁剪此ImageryLayer的一部分。
* @param [options.colorToAlpha] - 用作Alpha的颜色。
* @param [options.colorToAlphaThreshold = 0.004] - 颜色到Alpha的阈值。
* @param [options.hasAlphaChannel = true] - 如果此图像提供者提供的图像为真 包括一个Alpha通道;否则为假。如果此属性为false,则为Alpha通道,如果 目前,将被忽略。如果此属性为true,则任何没有Alpha通道的图像都将 它们的alpha随处可见。当此属性为false时,内存使用情况 和纹理上传时间可能会减少。
* @param [options.tileWidth = 256] - 图像图块的像素宽度。
* @param [options.tileHeight = 256] - 图像图块的像素高度。
* @param [options.customTags] - 允许替换网址模板中的自定义关键字。该对象必须具有字符串作为键,并且必须具有值。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360allowPick
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class WmsLayer extends BaseTileLayer {
constructor(options?: {
url: Cesium.Resource | string;
subdomains?: string | string[];
layers: string;
parameters?: {
format?: string;
transparent?: boolean;
cql_filter?: string;
service?: string;
version?: string;
request?: string;
styles?: string;
};
crs?: string | CRS;
srs?: string;
getCapabilities?: boolean;
clock?: Cesium.Clock;
times?: Cesium.TimeIntervalCollection;
enablePickFeatures?: boolean;
featureToGraphic?: (...params: any[]) => any;
hasToGraphic?: number | boolean | ((...params: any[]) => any);
getFeatureInfoParameters?: any;
highlight?: any;
popup?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any);
popupOptions?: {
title?: string;
titleField?: string;
noTitle?: string;
};
minimumLevel?: number;
maximumLevel?: number;
minimumTerrainLevel?: number;
maximumTerrainLevel?: number;
rectangle?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
zIndex?: number;
chinaCRS?: ChinaCRS;
opacity?: number;
alpha?: number | ((...params: any[]) => any);
nightAlpha?: number | ((...params: any[]) => any);
dayAlpha?: number | ((...params: any[]) => any);
brightness?: number | ((...params: any[]) => any);
contrast?: number | ((...params: any[]) => any);
hue?: number | ((...params: any[]) => any);
saturation?: number | ((...params: any[]) => any);
gamma?: number | ((...params: any[]) => any);
invertColor?: boolean;
filterColor?: string | Cesium.Color;
maximumAnisotropy?: number;
cutoutRectangle?: Cesium.Rectangle;
colorToAlpha?: Cesium.Color;
colorToAlphaThreshold?: number;
hasAlphaChannel?: boolean;
tileWidth?: number;
tileHeight?: number;
customTags?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 是否存在Popup绑定
* @returns 是否存在Popup绑定
*/
hasPopup(): boolean;
/**
* 绑定鼠标单击对象后的弹窗。
* @param content - 弹窗内容html字符串,或者回调方法。
* @param [options] - 控制参数
* @returns 当前对象本身,可以链式调用
*/
bindPopup(content: string | ((...params: any[]) => any), options?: Popup.StyleOptions | any): WmsLayer;
/**
* 解除绑定的鼠标单击对象后的弹窗。
* @returns 当前对象本身,可以链式调用
*/
unbindPopup(): BaseGraphicLayer;
/**
* 关闭弹窗
* @returns 当前对象本身,可以链式调用
*/
closePopup(): BaseGraphicLayer;
/**
* 创建用于图层的 ImageryProvider对象
* @param options - Provider参数,同图层构造参数。
* @returns ImageryProvider类
*/
static createImageryProvider(options: any): any;
/**
* 创建瓦片图层对应的ImageryProvider对象
* @param [options = {}] - 参数对象,具体每类瓦片图层都不一样。
* @returns 创建完成的 ImageryProvider 对象
*/
_createImageryProvider(options?: any): Cesium.UrlTemplateImageryProvider | any;
/**
* 对象添加到地图上的创建钩子方法,
* 每次add时都会调用
* @returns 无
*/
_addedHook(): void;
}
/**
* WMTS服务
* @param [options] - 参数对象,包括以下:
* @param options.url - WMTS GetTile操作(用于kvp编码的请求)或tile-URL模板(用于RESTful请求)的基本URL。tile-URL模板应该包含以下变量:{style}, {TileMatrixSet}, {TileMatrix}, {TileRow}, {TileCol} 前两个是可选的,如果实际值是硬编码的或者服务器不需要。 {s}关键字可用于指定子域。
* @param [options.subdomains] - URL模板中用于 {s} 占位符的子域。 如果此参数是单个字符串,则字符串中的每个字符都是一个子域。如果是 一个数组,数组中的每个元素都是一个子域。
* @param [options.format = 'image/jpeg'] - 要从服务器检索的瓦片图像的MIME类型。
* @param options.layer - WMTS请求的层名。
* @param options.style - WMTS请求的样式名称。
* @param options.tileMatrixSetID - 用于WMTS请求的TileMatrixSet的标识符。
* @param [options.tileMatrixLabels] - 瓦片矩阵中用于WMTS请求的标识符列表,每个瓦片矩阵级别一个。
* @param [options.clock] - 一个时钟实例,用于确定时间维度的值。指定' times '时需要。
* @param [options.times] - TimeIntervalCollection 的数据属性是一个包含时间动态维度及其值的对象。
* @param [options.getCapabilities = true] - 是否通过服务本身的GetCapabilities来读取一些参数,减少options配置项
* @param [options.enablePickFeatures = false] - 如果为true,则请求 pickFeaturesUrl 并尝试解释响应中包含的功能。
* @param [options.pickFeaturesUrl] - enablePickFeatures为true时,用于单击查看矢量对象功能的对应wms服务url。
* @param [options.getFeatureInfoParameters] - 在单击坐标处通过GetFeatureInfo请求接口时,传递给WMS服务器的附加参数。
* @param [options.pickFeatures] - 外部自定义单击请求对应矢量数据的处理。与pickFeaturesUrl二选一
* @param [options.highlight] - 鼠标单击高亮显示对应的矢量数据 及其样式,具体见各{@link GraphicType}矢量数据的style参数。
* @param [options.highlight.type] - 构造成的矢量数据类型。
* @param [options.minimumLevel = 0] - 瓦片所支持的最低层级,如果数据没有第0层,该参数必须配置,当地图小于该级别时,平台不去请求服务数据。
* @param [options.maximumLevel] - 瓦片所支持的最大层级,大于该层级时会显示上一层拉伸后的瓦片,当地图大于该级别时,平台不去请求服务数据。
* @param [options.minimumTerrainLevel] - 展示影像图层的最小地形细节级别,小于该级别时,平台不显示影像数据。
* @param [options.maximumTerrainLevel] - 展示影像图层的最大地形细节级别,大于该级别时,平台不显示影像数据。
* @param [options.rectangle] - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param [options.zIndex] - 控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效)。
* @param [options.crs = CRS.EPSG:3857] - 瓦片数据的坐标系信息,默认为墨卡托投影
* @param [options.chinaCRS] - 标识瓦片的国内坐标系(用于自动纠偏或加偏),自动将瓦片转为map对应的chinaCRS类型坐标系。
* @param [options.proxy] - 加载资源时要使用的代理服务url。
* @param [options.templateValues] - 一个对象,用于替换Url中的模板值的键/值对
* @param [options.queryParameters] - 一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'},
* @param [options.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' },
* @param [options.opacity = 1.0] - 透明度,取值范围:0.0-1.0。
* @param [options.alpha = 1.0] - 同opacity。
* @param [options.nightAlpha = 1.0] - 当 enableLighting 为 true 时 ,在地球的夜晚区域的透明度,取值范围:0.0-1.0。
* @param [options.dayAlpha = 1.0] - 当 enableLighting 为 true 时,在地球的白天区域的透明度,取值范围:0.0-1.0。
* @param [options.brightness = 1.0] - 亮度
* @param [options.contrast = 1.0] - 对比度。 1.0使用未修改的图像颜色,小于1.0会降低对比度,而大于1.0则会提高对比度。
* @param [options.hue = 0.0] - 色调。 0.0 时未修改的图像颜色。
* @param [options.saturation = 1.0] - 饱和度。 1.0使用未修改的图像颜色,小于1.0会降低饱和度,而大于1.0则会增加饱和度。
* @param [options.gamma = 1.0] - 伽马校正值。 1.0使用未修改的图像颜色。
* @param [options.invertColor] - 是否反向颜色,内部计算规则: color.r = 1.0 - color.r
* @param [options.filterColor] - 滤镜颜色,内部计算规则: color.r = color.r * filterColor.r
* @param [options.maximumAnisotropy = maximum supported] - 使用的最大各向异性水平 用于纹理过滤。如果未指定此参数,则支持最大各向异性 将使用WebGL堆栈。较大的值可使影像在水平方向上看起来更好 视图。
* @param [options.cutoutRectangle] - 制图矩形,用于裁剪此ImageryLayer的一部分。
* @param [options.colorToAlpha] - 用作Alpha的颜色。
* @param [options.colorToAlphaThreshold = 0.004] - 颜色到Alpha的阈值。
* @param [options.hasAlphaChannel = true] - 如果此图像提供者提供的图像为真 包括一个Alpha通道;否则为假。如果此属性为false,则为Alpha通道,如果 目前,将被忽略。如果此属性为true,则任何没有Alpha通道的图像都将 它们的alpha随处可见。当此属性为false时,内存使用情况 和纹理上传时间可能会减少。
* @param [options.tileWidth = 256] - 图像图块的像素宽度。
* @param [options.tileHeight = 256] - 图像图块的像素高度。
* @param [options.customTags] - 允许替换网址模板中的自定义关键字。该对象必须具有字符串作为键,并且必须具有值。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class WmtsLayer extends BaseTileLayer {
constructor(options?: {
url: Cesium.Resource | string;
subdomains?: string | string[];
format?: string;
layer: string;
style: string;
tileMatrixSetID: string;
tileMatrixLabels?: string[];
clock?: Cesium.Clock;
times?: Cesium.TimeIntervalCollection;
getCapabilities?: boolean;
enablePickFeatures?: boolean;
pickFeaturesUrl?: Cesium.Resource | string;
getFeatureInfoParameters?: any;
pickFeatures?: (...params: any[]) => any;
highlight?: {
type?: GraphicType | string;
};
minimumLevel?: number;
maximumLevel?: number;
minimumTerrainLevel?: number;
maximumTerrainLevel?: number;
rectangle?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
zIndex?: number;
crs?: CRS;
chinaCRS?: ChinaCRS;
proxy?: string;
templateValues?: any;
queryParameters?: any;
headers?: any;
opacity?: number;
alpha?: number | ((...params: any[]) => any);
nightAlpha?: number | ((...params: any[]) => any);
dayAlpha?: number | ((...params: any[]) => any);
brightness?: number | ((...params: any[]) => any);
contrast?: number | ((...params: any[]) => any);
hue?: number | ((...params: any[]) => any);
saturation?: number | ((...params: any[]) => any);
gamma?: number | ((...params: any[]) => any);
invertColor?: boolean;
filterColor?: string | Cesium.Color;
maximumAnisotropy?: number;
cutoutRectangle?: Cesium.Rectangle;
colorToAlpha?: Cesium.Color;
colorToAlphaThreshold?: number;
hasAlphaChannel?: boolean;
tileWidth?: number;
tileHeight?: number;
customTags?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 创建用于图层的 ImageryProvider对象
* @param options - Provider参数,同图层构造参数。
* @returns ImageryProvider类
*/
static createImageryProvider(options: any): any;
/**
* 创建瓦片图层对应的ImageryProvider对象
* @param [options = {}] - 参数对象,具体每类瓦片图层都不一样。
* @returns 创建完成的 ImageryProvider 对象
*/
_createImageryProvider(options?: any): Cesium.UrlTemplateImageryProvider | any;
/**
* 对象添加到地图上的创建钩子方法,
* 每次add时都会调用
* @returns 无
*/
_addedHook(): void;
}
/**
* 标准xyz金字塔
* @param [options] - 参数对象,包括以下:
* @param options.url - 用于请求瓦片图块的URL模板。它具有以下关键字:
*
* {z}: 切片方案中切片的级别。零级是四叉树金字塔的根。
* {x}:切片方案中的图块X坐标,其中0是最西端的图块。
* {y}: 切片方案中的图块Y坐标,其中0是最北的图块。
* {s}:可用的子域之一,用于克服浏览器对每个主机的并发请求数的限制。
* {reverseX}: 切片方案中的图块X坐标,其中0是最东的图块。
* {reverseY}:切片方案中的图块Y坐标,其中0是最南端的图块,用于TMS服务。
* {reverseZ}:在切片方案中切片的级别,其中级别0是四叉树金字塔的最大级别。为了使用reverseZ,必须定义maximumLevel。
* {westDegrees}: 瓦片图块在测地角度上的西边缘。
* {southDegrees}:瓦片图块在测地角度上的南边缘。
* {eastDegrees}:以大地测量度表示的图块的东边缘。
* {northDegrees}: 瓦片图块在测地角度上的北边缘。
* {westProjected}:图块方案的墨卡托投影坐标中图块的西边缘。
* {southProjected}: 图块方案的墨卡托投影坐标中图块的南边缘。
* {eastProjected}: :图块方案的墨卡托投影坐标中图块的东边缘。
* {northProjected}:图块方案的墨卡托投影坐标中图块的北边缘。
* {width}:每个图块的宽度(以像素为单位)。
* {height}: 每个图块的高度(以像素为单位)。
*
* @param [options.urlSchemeZeroPadding] - 为每个图块坐标获取URL方案零填充。格式为' 000',其中每个坐标将在左侧用零填充,以匹配传递的零字符串的宽度。例如设置:
* urlSchemeZeroPadding:{'{x}':'0000'}将导致'x'值为12,以在生成的URL中返回{x}的字符串'0012'。传递的对象具有以下关键字:
*
* -
{z}: 切片方案中图块级别的零填充。
* -
{x}: 切片方案中图块X坐标的零填充。
* -
{y}: 切片方案中图块Y坐标的零填充。
* -
{reverseX}: 在平铺方案中图块reverseX坐标的零填充。
* -
{reverseY}: 在切片方案中,图块反向Y坐标的零填充,用于TMS服务。
* -
{reverseZ}: 在切片方案中,图块的reverseZ坐标的零填充。
*
* @param [options.subdomains] - URL模板中用于 {s} 占位符的子域。 如果此参数是单个字符串,则字符串中的每个字符都是一个子域。如果是一个数组,数组中的每个元素都是一个子域。
* @param [options.tms] - 如果此值为true,反转切片Y轴的编号(对于TMS服务需可将将此项打开)
* @param [options.minimumLevel = 0] - 瓦片所支持的最低层级,如果数据没有第0层,该参数必须配置,当地图小于该级别时,平台不去请求服务数据。
* @param [options.maximumLevel] - 瓦片所支持的最大层级,大于该层级时会显示上一层拉伸后的瓦片,当地图大于该级别时,平台不去请求服务数据。
* @param [options.minimumTerrainLevel] - 展示影像图层的最小地形细节级别,小于该级别时,平台不显示影像数据。
* @param [options.maximumTerrainLevel] - 展示影像图层的最大地形细节级别,大于该级别时,平台不显示影像数据。
* @param [options.rectangle] - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param [options.zIndex] - 控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效)。
* @param [options.crs = CRS.EPSG:3857] - 瓦片数据的坐标系信息,默认为墨卡托投影
* @param [options.chinaCRS] - 标识瓦片的国内坐标系(用于自动纠偏或加偏),自动将瓦片转为map对应的chinaCRS类型坐标系。
* @param [options.proxy] - 加载资源时要使用的代理服务url。
* @param [options.templateValues] - 一个对象,用于替换Url中的模板值的键/值对
* @param [options.queryParameters] - 一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'},
* @param [options.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' },
* @param [options.enablePickFeatures = true] - 如果为true,则 {@link UrlTemplateImageryProvider#pickFeatures} 请求 pickFeaturesUrl 并尝试解释响应中包含的功能。
* 如果为 false{@link UrlTemplateImageryProvider#pickFeatures} 会立即返回未定义(表示没有可拾取的内容) 功能)而无需与服务器通信。如果您知道数据,则将此属性设置为false 源不支持选择功能,或者您不希望该提供程序的功能可供选择。注意 可以通过修改 {@link UriTemplateImageryProvider#enablePickFeatures}来动态覆盖 属性。
* @param [options.pickFeaturesUrl] - 用于选择功能的URL模板。如果未指定此属性,
* {@link Cesium.UrlTemplateImageryProvider#pickFeatures} 会立即返回undefined,表示没有 功能选择。
* 网址模板支持 url参数支持的所有关键字参数,以及以下内容:
*
* {i}: 所选位置的像素列(水平坐标),其中最西端的像素为0。
* {j}: 所选位置的像素行(垂直坐标),其中最北端的像素为0。
* {reverseI}: 所选位置的像素列(水平坐标),其中最东端的像素为0。
* {reverseJ}: 所选位置的像素行(垂直坐标),其中最南端的像素为0。
* {longitudeDegrees}: 所选位置的经度(以度为单位)。
* {latitudeDegrees}: 所选位置的纬度(以度为单位)。
* {longitudeProjected}:在平铺方案的投影坐标中所拾取位置的经度。
* {latitudeProjected}: 在平铺方案的投影坐标中所拾取位置的纬度。
* {format}: 获取功能信息的格式,如 {@link GetFeatureInfoFormat}中所指定。
*
* @param [options.getFeatureInfoFormats] - 在某处获取功能信息的格式 调用 {@link UrlTemplateImageryProvider#pickFeatures} 的特定位置。如果这 参数未指定,功能选择已禁用。
* @param [options.opacity = 1.0] - 透明度,取值范围:0.0-1.0。
* @param [options.alpha = 1.0] - 同opacity。
* @param [options.nightAlpha = 1.0] - 当 enableLighting 为 true 时 ,在地球的夜晚区域的透明度,取值范围:0.0-1.0。
* @param [options.dayAlpha = 1.0] - 当 enableLighting 为 true 时,在地球的白天区域的透明度,取值范围:0.0-1.0。
* @param [options.brightness = 1.0] - 亮度
* @param [options.contrast = 1.0] - 对比度。 1.0使用未修改的图像颜色,小于1.0会降低对比度,而大于1.0则会提高对比度。
* @param [options.hue = 0.0] - 色调。 0.0 时未修改的图像颜色。
* @param [options.saturation = 1.0] - 饱和度。 1.0使用未修改的图像颜色,小于1.0会降低饱和度,而大于1.0则会增加饱和度。
* @param [options.gamma = 1.0] - 伽马校正值。 1.0使用未修改的图像颜色。
* @param [options.invertColor] - 是否反向颜色,内部计算规则: color.r = 1.0 - color.r
* @param [options.filterColor] - 滤镜颜色,内部计算规则: color.r = color.r * filterColor.r
* @param [options.maximumAnisotropy = maximum supported] - 使用的最大各向异性水平 用于纹理过滤。如果未指定此参数,则支持最大各向异性 将使用WebGL堆栈。较大的值可使影像在水平方向上看起来更好 视图。
* @param [options.cutoutRectangle] - 制图矩形,用于裁剪此ImageryLayer的一部分。
* @param [options.colorToAlpha] - 用作Alpha的颜色。
* @param [options.colorToAlphaThreshold = 0.004] - 颜色到Alpha的阈值。
* @param [options.hasAlphaChannel = true] - 如果此图像提供者提供的图像为真 包括一个Alpha通道;否则为假。如果此属性为false,则为Alpha通道,如果 目前,将被忽略。如果此属性为true,则任何没有Alpha通道的图像都将 它们的alpha随处可见。当此属性为false时,内存使用情况 和纹理上传时间可能会减少。
* @param [options.tileWidth = 256] - 图像图块的像素宽度。
* @param [options.tileHeight = 256] - 图像图块的像素高度。
* @param [options.customTags] - 允许替换网址模板中的自定义关键字。该对象必须具有字符串作为键,并且必须具有值。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class XyzLayer extends BaseTileLayer {
constructor(options?: {
url: Cesium.Resource | string;
urlSchemeZeroPadding?: any;
subdomains?: string | string[];
tms?: boolean;
minimumLevel?: number;
maximumLevel?: number;
minimumTerrainLevel?: number;
maximumTerrainLevel?: number;
rectangle?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
zIndex?: number;
crs?: CRS;
chinaCRS?: ChinaCRS;
proxy?: string;
templateValues?: any;
queryParameters?: any;
headers?: any;
enablePickFeatures?: boolean;
pickFeaturesUrl?: Cesium.Resource | string;
getFeatureInfoFormats?: Cesium.GetFeatureInfoFormat[];
opacity?: number;
alpha?: number | ((...params: any[]) => any);
nightAlpha?: number | ((...params: any[]) => any);
dayAlpha?: number | ((...params: any[]) => any);
brightness?: number | ((...params: any[]) => any);
contrast?: number | ((...params: any[]) => any);
hue?: number | ((...params: any[]) => any);
saturation?: number | ((...params: any[]) => any);
gamma?: number | ((...params: any[]) => any);
invertColor?: boolean;
filterColor?: string | Cesium.Color;
maximumAnisotropy?: number;
cutoutRectangle?: Cesium.Rectangle;
colorToAlpha?: Cesium.Color;
colorToAlphaThreshold?: number;
hasAlphaChannel?: boolean;
tileWidth?: number;
tileHeight?: number;
customTags?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 创建用于图层的 ImageryProvider对象
* @param options - Provider参数,同图层构造参数。
* @returns ImageryProvider类
*/
static createImageryProvider(options: any): any;
/**
* 创建瓦片图层对应的ImageryProvider对象
* @param [options = {}] - 参数对象,具体每类瓦片图层都不一样。
* @returns 创建完成的 ImageryProvider 对象
*/
_createImageryProvider(options?: any): Cesium.UrlTemplateImageryProvider | any;
}
/**
* 右键菜单 控件
* @param [options] - 参数对象,包括以下:
* @param [options.preventDefault = true] - 是否取消右键菜单
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.parentContainer] - 控件加入的父容器,默认为map所在的DOM map.container
* @param [options.insertIndex] - 可以自定义插入到父容器中的index顺序,默认是插入到最后面。
* @param [options.insertBefore] - 可以自定义插入到指定兄弟容器的前面,与insertIndex二选一。
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class ContextMenu extends BaseControl {
constructor(options?: {
preventDefault?: boolean;
id?: string | number;
enabled?: boolean;
parentContainer?: HTMLElement;
insertIndex?: number;
insertBefore?: HTMLElement;
eventParent?: BaseClass | boolean;
});
/**
* 设置DOM容器的显示隐藏
*/
show: boolean;
}
/**
* 键盘漫游控制类
* @param [options] - 参数对象,包括以下:
* @param [options.moveStep = 10] - 平移步长 (米)
* @param [options.dirStep = 25] - 相机原地旋转步长,值越大步长越小。
* @param [options.rotateStep = 1.0] - 相机围绕目标点旋转速率,0.3 - 2.0
* @param [options.minPitch = 0.1] - 最小仰角 0 - 1
* @param [options.maxPitch = 0.95] - 最大仰角 0 - 1
* @param [options.minHeight = 0] - 最低高度(单位:米)
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.parentContainer] - 控件加入的父容器,默认为map所在的DOM map.container
* @param [options.insertIndex] - 可以自定义插入到父容器中的index顺序,默认是插入到最后面。
* @param [options.insertBefore] - 可以自定义插入到指定兄弟容器的前面,与insertIndex二选一。
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class KeyboardRoam extends BaseControl {
constructor(options?: {
moveStep?: number;
dirStep?: number;
rotateStep?: number;
minPitch?: number;
maxPitch?: number;
minHeight?: number;
id?: string | number;
enabled?: boolean;
parentContainer?: HTMLElement;
insertIndex?: number;
insertBefore?: HTMLElement;
eventParent?: BaseClass | boolean;
});
/**
* 平移步长 (米)
*/
moveStep: number;
/**
* 相机原地旋转步长,值越大步长越小。
*/
dirStep: number;
/**
* 相机围绕目标点旋转速率,0.3 - 2.0
*/
rotateStep: number;
/**
* 最小仰角 0 - 1
*/
minPitch: number;
/**
* 最大仰角 0 - 1
*/
maxPitch: number;
/**
* 最低高度(单位:米)
*/
minHeight: number;
/**
* 重新赋值参数,同构造方法参数一致。
* @param options - 参数,与类的构造方法参数相同
* @returns 当前对象本身,可以链式调用
*/
setOptions(options: any): KeyboardRoam;
/**
* 开始自动向前平移镜头,不改变相机朝向
* @returns 无
*/
startMoveForward(): void;
/**
* 停止自动向前平移镜头,不改变相机朝向
* @returns 无
*/
stopMoveForward(): void;
/**
* 开始自动向后平移镜头,不改变相机朝向
* @returns 无
*/
startMoveBackward(): void;
/**
* 停止自动向后平移镜头,不改变相机朝向
* @returns 无
*/
stopMoveBackward(): void;
/**
* 开始自动向右平移镜头,不改变相机朝向
* @returns 无
*/
startMoveRight(): void;
/**
* 停止自动向右平移镜头,不改变相机朝向
* @returns 无
*/
stopMoveRight(): void;
/**
* 开始自动向左平移镜头,不改变相机朝向
* @returns 无
*/
startMoveLeft(): void;
/**
* 停止自动向左平移镜头,不改变相机朝向
* @returns 无
*/
stopMoveLeft(): void;
/**
* 相对于屏幕中心点 转动
* @param type - 旋转的方向
* @returns 无
*/
moveCamera(type: MoveType): void;
/**
* 相对于相机本身 转动
* @param type - 旋转的方向
* @returns 无
*/
rotateCamera(type: MoveType): void;
/**
* 相机旋转的类型
*/
static MoveType: MoveType;
}
/**
* 地图鼠标事件 统一管理类,由Map内部创建
* @param map - 地图对象
* @param options - 控制参数
*/
declare class MouseEvent {
constructor(map: Map, options: Map.mouseOptions);
/**
* 鼠标移动事件的延迟毫秒数
*/
moveDelay: number;
/**
* 是否开启鼠标移动事件的拾取矢量数据
*/
enabledMoveTarget: boolean;
/**
* 是否不拾取数据
*/
noPickEntity: boolean;
/**
* 清除鼠标移动的clearTimeout延迟
* @returns 无
*/
clearMoveTargetDelay(): void;
/**
* 获取拾取到的Cesium选中对象
* @param event - 单击或鼠标移入事件对象
* @returns 获取拾取到的Cesium选中对象
*/
getPicked(event: any): any | undefined;
}
declare namespace Map {
/**
* 场景参数
* @property [center] - 默认相机视角
* @property center.lng - 经度值, 180 - 180
* @property center.lat - 纬度值, -90 - 90
* @property center.alt - 高度值
* @property [center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @property [center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @property [center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @property [extent] - 矩形范围 相机视角,与center二选一
* @property extent.xmin - 最小经度值, -180 至 180
* @property extent.xmax - 最大经度值, -180 至 180
* @property extent.ymin - 最小纬度值, -90 至 90
* @property extent.ymax - 最大纬度值, -90 至 90
* @property [removeDblClick = false] - 是否移除Cesium默认的双击事件
* @property [ionToken] - Cesium Ion服务的 Token令牌
* @property [resolutionScale = 1.0] - 获取或设置渲染分辨率的缩放比例。小于1.0的值可以改善性能不佳的设备上的性能,而值大于1.0则将以更高的速度呈现分辨率,然后缩小比例,从而提高视觉保真度。例如,如果窗口小部件的尺寸为640x480,则将此值设置为0.5将导致场景以320x240渲染,然后在设置时按比例放大设置为2.0将导致场景以1280x960渲染,然后按比例缩小。
*
* 以下是Cesium.Scene对象相关参数
* @property [showSun] - 是否显示太阳,如修改对象可以用 [map.scene.sun]{@link http://mars3d.cn/api/cesium/Sun.html}
* @property [showMoon] - 是否显示月亮,如修改对象可以用 [map.scene.moon]{@link http://mars3d.cn/api/cesium/Moon.html}
* @property [showSkyBox] - 是否显示天空盒,如修改对象可以用 [map.scene.skyBox]{@link http://mars3d.cn/api/cesium/SkyBox.html}
* @property [showSkyAtmosphere] - 是否显示地球大气层外光圈,如修改对象可以用 [map.scene.skyAtmosphere]{@link http://mars3d.cn/api/cesium/SkyAtmosphere.html}
* @property [fog] - 是否启用雾化效果,如修改对象可以用 [map.scene.fog]{@link http://mars3d.cn/api/cesium/fog.html}
* @property [fxaa] - 是否开启快速抗锯齿
* @property [highDynamicRange] - 是否关闭高动态范围渲染(不关闭时地图会变暗)
* @property [backgroundColor] - 空间背景色 ,css颜色值
*
* 以下是Cesium.Viewer所支持的options【控件相关的写在另外的control属性中】
* @property [sceneMode = Cesium.SceneMode.SCENE3D] - 初始场景模式。可以设置进入场景后初始是2D、2.5D、3D 模式。
* @property [scene3DOnly = false] - 为 true 时,每个几何实例将仅以3D渲染以节省GPU内存。
* @property [mapProjection = new Cesium.GeographicProjection()] - 在二维模式下时,地图的呈现坐标系,默认为EPSG4326坐标系,如果需要EPSG3857墨卡托坐标系展示,传 new Cesium.WebMercatorProjection() 即可
* @property [mapMode2D = Cesium.MapMode2D.INFINITE_SCROLL] - 在二维模式下时,地图是可旋转的还是可以在水平方向无限滚动。
* @property [shouldAnimate = true] - 是否开启时钟动画
* @property [shadows = false] - 是否启用日照阴影
* @property [useDefaultRenderLoop = true] - 如果此小部件应控制渲染循环,则为true,否则为false。
* @property [targetFrameRate] - 使用默认渲染循环时的目标帧速率。
* @property [useBrowserRecommendedResolution = true] - 如果为true,则以浏览器建议的分辨率渲染,并忽略 window.devicePixelRatio 。
* @property [automaticallyTrackDataSourceClocks = true] - 如果为true,则此小部件将自动跟踪新添加的数据源的时钟设置,并在数据源的时钟发生更改时进行更新。如果要独立配置时钟,请将其设置为false。
* @property [contextOptions = {}] - WebGL创建属性 传递给 Cesium.Scene 的 options 。{@link Cesium.Scene}
* @property [contextOptions.allowTextureFilterAnisotropic = true] - 允许纹理过滤各向异性
* @property [contextOptions.requestWebgl2 = false] - 是否启用webgl2
* @property [contextOptions.webgl] - WebGL画布,用于 canvas.getContext("webgl", webglOptions)
* @property [contextOptions.webgl.alpha = false] - 是否包含alpha缓冲区,如果需要DIV透明时,需要改为true
* @property [contextOptions.webgl.antialias] - 是否执行抗锯齿
* @property [contextOptions.webgl.failIfMajorPerformanceCaveat] - 如果系统性能较低,是否创建上下文
* @property [contextOptions.webgl.depth] - 绘图缓冲区的深度缓冲区至少为16位
* @property [contextOptions.webgl.stencil = true] - 绘图缓冲区具有至少8位的模板缓冲区
* @property [contextOptions.webgl.powerPreference = "high-performance"] - 对用户代理的提示,指示GPU的哪种配置适合WebGL上下文
* @property [orderIndependentTranslucency = true] - 如果为true,并且配置支持它,则使用顺序无关的半透明性。
* @property [terrainShadows = Cesium.ShadowMode.RECEIVE_ONLY] - 确定地形是否投射或接收来自光源的阴影。
* @property [requestRenderMode = false] - 是否显式渲染,如果为真,渲染帧只会在需要时发生,这是由场景中的变化决定的。启用可以减少你的应用程序的CPU/GPU使用量,并且在移动设备上使用更少的电池,但是需要使用 {@link Scene#requestRender} 在这种模式下显式地渲染一个新帧。在许多情况下,在API的其他部分更改场景后,这是必要的。参见 {@link https://cesium.com/blog/2018/01/24/cesium-scene-rendering-performance/|Improving Performance with Explicit Rendering}.
* @property [maximumRenderTimeChange = 0.0] - 如果requestRenderMode为true,这个值定义了在请求渲染之前允许的模拟时间的最大变化。参见 {@link https://cesium.com/blog/2018/01/24/cesium-scene-rendering-performance/|Improving Performance with Explicit Rendering}.
*
* 以下是Cesium.Globe对象相关参数
* @property [globe] - globe地球相关参数
* @property [globe.show = true] - 是否显示地球
* @property [globe.baseColor = '#546a53'] - 地球背景色 ,css颜色值
* @property [globe.depthTestAgainstTerrain = false] - 是否启用深度监测,可以开启来测试矢量对象是否在地形下面或被遮挡。
* @property [globe.showGroundAtmosphere = true] - 是否在地球上绘制的地面大气
* @property [globe.enableLighting = false] - 是否显示晨昏线,可以看到地球的昼夜区域
* @property [globe.tileCacheSize = 100] - 地形图块缓存的大小,表示为图块数。任何其他只要不需要渲染,就会释放超出此数目的图块这个框架。较大的数字将消耗更多的内存,但显示细节更快例如,当缩小然后再放大时。
* @property [globe.terrainExaggeration = 1.0] - 地形夸张倍率,用于放大地形的标量。请注意,地形夸张不会修改其他相对于椭球的图元。
* @property [globe.realAlt = false] - 地形夸张倍率,在测量高度和下侧提示的高度信息中是否转换为实际真实高度值。
* @property [globe.terrainExaggerationRelativeHeight = 0.0] - 地形被夸大的高度。默认为0.0(相对于椭球表面缩放)。高于此高度的地形将向上缩放,低于此高度的地形将向下缩放。请注意,地形夸大不会修改任何其他图元,因为它们是相对于椭球体定位的。
*
* 以下是Cesium.ScreenSpaceCameraController对象相关参数
* @property [cameraController] - 相机操作相关参数
* @property [cameraController.minimumZoomDistance = 1.0] - 相机最近视距,变焦时相机位置的最小量级(以米为单位),默认为1。该值是相机与地表(含地形)的相对距离。
* @property [cameraController.maximumZoomDistance = 50000000.0] - 相机最远视距,变焦时相机位置的最大值(以米为单位)。该值是相机与地表(含地形)的相对距离。
* @property [cameraController.zoomFactor = 3.0] - 滚轮放大倍数,控制鼠标滚轮操作的步长
* @property [cameraController.minimumCollisionTerrainHeight = 80000] - 最小碰撞高度,低于此高度时绕鼠标键绕圈,大于时绕视图中心点绕圈。
* @property [cameraController.constrainedAxis = true] - 南北极绕轴心旋转,为false时 解除在南北极区域鼠标操作限制
* @property [cameraController.enableRotate = true] - 2D和3D视图下,是否允许用户旋转相机
* @property [cameraController.enableTranslate = true] - 2D和哥伦布视图下,是否允许用户平移地图
* @property [cameraController.enableTilt = true] - 3D和哥伦布视图下,是否允许用户倾斜相机
* @property [cameraController.enableZoom = true] - 是否允许 用户放大和缩小视图
* @property [cameraController.enableCollisionDetection = true] - 是否允许 地形相机的碰撞检测
*
* 以下是Cesium.Clock时钟相关参数
* @property [clock] - 时钟相关参数
* @property [clock.currentTime] - 当前的时间
* @property [clock.multiplier = 1.0] - 当前的速度
*/
type sceneOptions = {
center?: {
lng: number;
lat: number;
alt: number;
heading?: number;
pitch?: number;
roll?: number;
};
extent?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
removeDblClick?: boolean;
ionToken?: string;
resolutionScale?: number;
showSun?: boolean;
showMoon?: boolean;
showSkyBox?: boolean;
showSkyAtmosphere?: boolean;
fog?: boolean;
fxaa?: boolean;
highDynamicRange?: boolean;
backgroundColor?: string;
sceneMode?: Cesium.SceneMode;
scene3DOnly?: boolean;
mapProjection?: Cesium.MapProjection;
mapMode2D?: Cesium.MapMode2D;
shouldAnimate?: boolean;
shadows?: boolean;
useDefaultRenderLoop?: boolean;
targetFrameRate?: number;
useBrowserRecommendedResolution?: boolean;
automaticallyTrackDataSourceClocks?: boolean;
contextOptions?: {
allowTextureFilterAnisotropic?: boolean;
requestWebgl2?: boolean;
webgl?: {
alpha?: boolean;
antialias?: boolean;
failIfMajorPerformanceCaveat?: boolean;
depth?: boolean;
stencil?: boolean;
powerPreference?: string;
};
};
orderIndependentTranslucency?: boolean;
terrainShadows?: Cesium.ShadowMode;
requestRenderMode?: boolean;
maximumRenderTimeChange?: number;
globe?: {
show?: boolean;
baseColor?: string;
depthTestAgainstTerrain?: boolean;
showGroundAtmosphere?: boolean;
enableLighting?: boolean;
tileCacheSize?: number;
terrainExaggeration?: number;
realAlt?: number;
terrainExaggerationRelativeHeight?: number;
};
cameraController?: {
minimumZoomDistance?: number;
maximumZoomDistance?: number;
zoomFactor?: number;
minimumCollisionTerrainHeight?: number;
constrainedAxis?: boolean;
enableRotate?: boolean;
enableTranslate?: boolean;
enableTilt?: boolean;
enableZoom?: boolean;
enableCollisionDetection?: boolean;
};
clock?: {
currentTime?: string | Cesium.JulianDate;
multiplier?: number;
};
};
/**
* 添加到地图的控件 参数
* @property [homeButton = false] - 视角复位按钮,是否显示
* @property [zoom] - 放大缩小按钮 , 对应 {@link Zoom}构造参数
* @property [sceneModePicker = false] - 二三维切换按钮,是否显示二维、三维、2.5D视图切换按钮
* @property [projectionPicker = false] - 投影切换按钮, 是否显示用于在透视和正投影之间进行切换按钮
* @property [fullscreenButton = false] - 全屏按钮,是否显示
* @property [fullscreenElement = document.body] - 当按下全屏按钮时,要置于全屏模式的元素或id
* @property [vrButton = false] - VR效果按钮,是否显示
* @property [geocoder = false] - 是否显示 地名查找控件按钮,是Cesium原生控件
* @property [navigationHelpButton = false] - 帮助按钮,是否显示
* @property [navigationInstructionsInitiallyVisible = true] - 帮助按钮 在用户明确单击按钮之前是否自动显示
* @property [baseLayerPicker = false] - 是否显示 底图切换 按钮,是Cesium原生控件
* @property [imageryProviderViewModels = []] - baseLayerPicker底图切换面板中,用于图像的ProviderViewModel实例数组,默认自动根据basemaps数组生成。
* @property [selectedImageryProviderViewModel] - baseLayerPicker底图切换面板中,如果没有提供当前基本图像层的视图模型,则使用第一个可用的图像层。默认为show:true的basemaps图层
* @property [terrainProviderViewModels = []] - baseLayerPicker底图切换面板中,用于地形的ProviderViewModel实例数组。默认自动使用terrain配置+无地形。
* @property [selectedTerrainProviderViewModel] - baseLayerPicker底图切换面板中,如果没有提供当前基础地形层的视图模型,则使用第一个可用的地形层。
* @property [compass] - 导航球, 对应 {@link Compass}构造参数
* @property [locationBar] - 状态栏, 对应 {@link LocationBar}构造参数
* @property [locationBar.fps] - 是否显示实时FPS帧率
* @property [locationBar.format] - 显示内容的格式化html展示的内容格式化字符串。 支持以下模版配置:【鼠标所在位置】 经度:{lng}, 纬度:{lat}, 海拔:{alt}米, 【相机的】 方向角度:{heading}, 俯仰角度:{pitch}, 视高:{cameraHeight}米, 【地图的】 层级:{level},
* @property [distanceLegend] - 比例尺, 对应 {@link DistanceLegend}构造参数
* @property [clockAnimate] - 时钟控制, 对应{@link ClockAnimate}构造参数
* @property [animation = true] - 时钟仪表控制(Cesium原生)
* @property [animationTicks] - 时钟仪表控制(Cesium原生)的可选步长
* @property [timeline = true] - 时间线, 是否创建下侧时间线控件面板
* @property [overviewMap] - 鹰眼地图, 对应{@link OverviewMap }构造参数
* @property [mapSplit] - 卷帘对比, 对应{@link MapSplit }构造参数
* @property [keyboardRoam] - 键盘漫游, 对应{@link KeyboardRoam }构造参数
* @property [mouseDownView] - 鼠标滚轮缩放美化样式(指示图标), 对应 {@link MouseDownView}构造参数
* @property [infoBox = true] - 信息面板,是否显示点击要素之后显示的信息,是Cesium原生控件
* @property [selectionIndicator = true] - 选中框,是否显示选择模型时的绿色框,是Cesium原生控件
* @property [showRenderLoopErrors = true] - 如果为true,则在发生渲染循环错误时,此小部件将自动向包含错误的用户显示HTML面板,是Cesium原生控件
* @property [contextmenu] - 内置 右键菜单 控制参数, 对应{@link ContextMenu }构造参数
* @property [contextmenu.preventDefault = true] - 是否取消右键菜单
* @property [contextmenu.hasDefault = true] - 是否绑定默认的地图右键菜单
* @property [popup] - 内置 Popup 控制参数
* @property [popup.depthTest = true] - 是否打开深度判断(true时判断是否在球背面)
* @property [tooltip] - 内置 Tooltip 控制参数
* @property [tooltip.cacheTime = 20] - 延迟缓存的时间,单位:毫秒
*/
type controlOptions = {
homeButton?: boolean;
zoom?: any;
sceneModePicker?: boolean;
projectionPicker?: boolean;
fullscreenButton?: boolean;
fullscreenElement?: Element | string;
vrButton?: boolean;
geocoder?: boolean | Cesium.GeocoderService[];
navigationHelpButton?: boolean;
navigationInstructionsInitiallyVisible?: boolean;
baseLayerPicker?: boolean;
imageryProviderViewModels?: Cesium.ProviderViewModel[];
selectedImageryProviderViewModel?: Cesium.ProviderViewModel;
terrainProviderViewModels?: Cesium.ProviderViewModel[];
selectedTerrainProviderViewModel?: Cesium.ProviderViewModel;
compass?: any;
locationBar?: {
fps?: boolean;
format?: string | ((...params: any[]) => any);
};
distanceLegend?: any;
clockAnimate?: any;
animation?: boolean;
animationTicks?: number[];
timeline?: boolean;
overviewMap?: any;
mapSplit?: any;
keyboardRoam?: any;
mouseDownView?: boolean;
infoBox?: boolean;
selectionIndicator?: boolean;
showRenderLoopErrors?: boolean;
contextmenu?: {
preventDefault?: boolean;
hasDefault?: boolean;
};
popup?: {
depthTest?: boolean;
};
tooltip?: {
cacheTime?: number;
};
};
/**
* 鼠标操作相关配置 参数
* @property [enabledMoveTarget = true] - 是否开启鼠标移动事件的拾取矢量数据
* @property [moveDelay = 30] - 鼠标移动事件的延迟毫秒数
* @property [pickWidth = 4] - 拾取时所选矩形的宽度,单位:像素
* @property [pickHeight = 4] - 拾取时所选矩形的高度,单位:像素
* @property [pickLimit = 9] - 在允许allowDrillPick穿透拾取时,限制拾取的对象个数。
*/
type mouseOptions = {
enabledMoveTarget?: boolean;
moveDelay?: number;
pickWidth?: number;
pickHeight?: number;
pickLimit?: number;
};
/**
* 添加到地图的特效 参数
* @property [bloom] - 泛光,对应{@link BloomEffect }构造参数
* @property [brightness] - 亮度,对应{@link BrightnessEffect }构造参数
* @property [rain] - 雨天气,对应{@link RainEffect }构造参数
* @property [snow] - 雪天气 ,对应{@link SnowEffect }构造参数
* @property [snowCover] - 地面积雪,对应{@link SnowCoverEffect }构造参数
* @property [fog] - 雾天气,对应{@link FogEffect }构造参数
* @property [depthOfField] - 景深,对应{@link DepthOfFieldEffect }构造参数
* @property [mosaic] - 马赛克,对应{@link MosaicEffect }构造参数
* @property [nightVision] - 夜视,对应{@link NightVisionEffect }构造参数
* @property [blackAndWhite] - 黑白,对应{@link BlackAndWhiteEffect }构造参数
* @property [outline] - 对象轮廓描边,对应{@link OutlineEffect }构造参数
* @property [bloomTarget] - 对象泛光,对应{@link BloomTargetEffect }构造参数
*/
type effectOptions = {
bloom?: any;
brightness?: any;
rain?: any;
snow?: any;
snowCover?: any;
fog?: any;
depthOfField?: any;
mosaic?: any;
nightVision?: any;
blackAndWhite?: any;
outline?: any;
bloomTarget?: any;
};
/**
* 地形服务配置
* @property [type = "xyz"] - 地形类型
* @property url - 地形服务地址
* @property [show = false] - 是否启用显示地形
* @property [requestVertexNormals = false] - 是否应该从服务器请求额外的光照信息,如果可用,以每个顶点法线的形式。
* @property [requestWaterMask = false] - 是否应该向服务器请求每个瓦的水掩膜(如果有的话)。
* @property [requestMetadata = true] - 是否应该从服务器请求每个块元数据(如果可用)。
*/
type terrainOptions = {
type?: TerrainType;
url: string | Cesium.Resource;
show?: boolean;
requestVertexNormals?: boolean;
requestWaterMask?: boolean;
requestMetadata?: boolean;
};
/**
* 底图图层配置
* @property type - 图层类型
* @property [多个参数] - 每种不同type都有自己的不同属性,具体参考{@link LayerType}找到type对应的BaseTileLayer子类图层类,查看其构造参数
*/
type basemapOptions = {
type: string;
多个参数?: any;
};
/**
* 可以叠加显示的图层配置,
* @property type - 图层类型
* @property [id] - 图层id标识
* @property [pid = -1] - 图层父级的id,一般图层管理中使用
* @property [name = ''] - 图层名称
* @property [show = true] - 图层是否显示
* @property [center] - 图层自定义定位视角,默认根据数据情况自动定位。
* @property [popup] - 当图层支持popup弹窗时,绑定的值
* @property [popupOptions] - popup弹窗时的配置参数
* @property [tooltip] - 当图层支持tooltip弹窗时,绑定的值
* @property [tooltipOptions] - tooltip弹窗时的配置参数
* @property [多个参数] - 每种type都有自己的不同属性,具体参考{@link LayerType}找到type对应的图层类,查看其构造参数
*/
type layerOptions = {
type: string;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
center?: any;
popup?: any;
popupOptions?: Popup.StyleOptions | any;
tooltip?: any;
tooltipOptions?: Tooltip.StyleOptions | any;
多个参数?: any;
};
/**
* 覆盖SDK内的{@link Token}所有第3方Token默认值
* @property [tianditu] - 天地图
* @property [gaode] - 高德
* @property [baidu] - 百度
* @property [ion] - Ion服务
* @property [mapbox] - mapbox地图
* @property [bing] - 微软Bing地图
*/
type tokenOptions = {
tianditu?: string | string[];
gaode?: string | string[];
baidu?: string | string[];
ion?: string;
mapbox?: string;
bing?: string;
};
/**
* Map支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* map.on(mars3d.EventType.click, function (event) {
* console.log('单击了地图对象', event)
* })
* @property addLayer - 添加图层
* @property removeLayer - 移除图层
* @property terrainChange - 地形变化
* @property tileLoadProgress - 地图中瓦片加载进度变化
* @property cameraMoveStart - 相机开启移动前 场景事件
* @property cameraMoveEnd - 相机移动完成后 场景事件
* @property cameraChanged - 相机位置完成 场景事件
* @property preUpdate - 场景更新前 场景事件
* @property postUpdate - 场景更新后 场景事件
* @property preRender - 场景渲染前 场景事件
* @property postRender - 场景渲染后 场景事件
* @property morphStart - 场景模式(2D/3D/哥伦布)变换前 场景事件
* @property morphComplete - 完成场景模式(2D/3D/哥伦布)变换 场景事件
* @property clockTick - 时钟跳动 场景事件
* @property renderError - 场景渲染失败(需要刷新页面)
* @property click - 左键单击 鼠标事件
* @property clickGraphic - 左键单击到矢量或模型数据时 鼠标事件
* @property clickTileGraphic - 左键单击到wms或arcgis瓦片服务的对应矢量数据时
* @property clickMap - 左键单击地图空白(未单击到矢量或模型数据)时 鼠标事件
* @property dblClick - 左键双击 鼠标事件
* @property leftDown - 左键鼠标按下 鼠标事件
* @property leftUp - 左键鼠标按下后释放 鼠标事件
* @property mouseMove - 鼠标移动 鼠标事件
* @property mouseMoveTarget - 鼠标移动(拾取目标,并延迟处理) 鼠标事件
* @property wheel - 鼠标滚轮滚动 鼠标事件
* @property rightClick - 右键单击 鼠标事件
* @property rightDown - 右键鼠标按下 鼠标事件
* @property rightUp - 右键鼠标按下后释放 鼠标事件
* @property middleClick - 中键单击 鼠标事件
* @property middleDown - 中键鼠标按下 鼠标事件
* @property middleUp - 中键鼠标按下后释放 鼠标事件
* @property pinchStart - 在触摸屏上两指缩放开始 鼠标事件
* @property pinchEnd - 在触摸屏上两指缩放结束 鼠标事件
* @property pinchMove - 在触摸屏上两指移动 鼠标事件
* @property mouseDown - 鼠标按下 [左中右3键都触发] 鼠标事件
* @property mouseUp - 鼠标按下后释放 [左中右3键都触发] 鼠标事件
* @property mouseOver - 鼠标移入 鼠标事件
* @property mouseOut - 鼠标移出 鼠标事件
* @property keydown - 按键按下 键盘事件
* @property keyup - 按键按下后释放 键盘事件
* @property popupOpen - popup弹窗打开后
* @property popupClose - popup弹窗关闭
* @property tooltipOpen - tooltip弹窗打开后
* @property tooltipClose - tooltip弹窗关闭
* @property contextMenuOpen - 右键菜单 打开后
* @property contextMenuClose - 右键菜单 关闭
* @property contextMenuClick - 右键菜单 单击某一项后
*/
type EventType = {
addLayer: string;
removeLayer: string;
terrainChange: string;
tileLoadProgress: string;
cameraMoveStart: string;
cameraMoveEnd: string;
cameraChanged: string;
preUpdate: string;
postUpdate: string;
preRender: string;
postRender: string;
morphStart: string;
morphComplete: string;
clockTick: string;
renderError: string;
click: string;
clickGraphic: string;
clickTileGraphic: string;
clickMap: string;
dblClick: string;
leftDown: string;
leftUp: string;
mouseMove: string;
mouseMoveTarget: string;
wheel: string;
rightClick: string;
rightDown: string;
rightUp: string;
middleClick: string;
middleDown: string;
middleUp: string;
pinchStart: string;
pinchEnd: string;
pinchMove: string;
mouseDown: string;
mouseUp: string;
mouseOver: string;
mouseOut: string;
keydown: string;
keyup: string;
popupOpen: string;
popupClose: string;
tooltipOpen: string;
tooltipClose: string;
contextMenuOpen: string;
contextMenuClose: string;
contextMenuClick: string;
};
}
/**
* 地图类 ,这是构造三维地球的一切的开始起点。
* @param id - 地图div容器的id 或 已构造好的Viewer对象
* @param [options = {}] - 参数对象:
* @param [options.scene] - 场景参数
* @param [options.control] - 添加的控件
* @param [options.effect] - 添加的特效
* @param [options.mouse] - 鼠标操作相关配置参数
* @param [options.terrain] - 地形服务配置
* @param [options.basemaps] - 底图图层配置
* @param [options.layers] - 可以叠加显示的图层配置
* @param [options.chinaCRS = ChinaCRS.WGS84] - 标识当前三维场景的国内坐标系(用于部分图层内对比判断来自动纠偏或加偏)
* @param [options.lang] - 使用的语言(如中文、英文等)。
* @param [options.templateValues] - 图层中统一的url模版,比如可以将服务url前缀统一使用模板,方便修改或动态配置。
* @param [options.token] - 覆盖SDK内的{@link Token}所有第3方Token默认值
*/
declare class Map extends BaseClass {
constructor(id: string | Cesium.Viewer, options?: {
scene?: Map.sceneOptions;
control?: Map.controlOptions;
effect?: Map.effectOptions;
mouse?: Map.mouseOptions;
terrain?: Map.terrainOptions;
basemaps?: Map.basemapOptions[];
layers?: Map.layerOptions[];
chinaCRS?: ChinaCRS;
lang?: LangType;
templateValues?: any;
token?: Map.tokenOptions;
});
/**
* 当前类的构造参数
*/
readonly options: any;
/**
* 地图对应的Cesium原生的 [Cesium.Viewer对象]{@link http://mars3d.cn/api/cesium/Viewer.html}
*/
readonly viewer: Cesium.Viewer;
/**
* 获取地图DOM容器。
*/
readonly container: HTMLDivElement;
/**
* 获取ToolBar控件DOM容器,
* 其样式为cesium-viewer-toolbar
*/
readonly toolbar: HTMLDivElement;
/**
* 获取Canvas画布
*/
readonly canvas: HTMLCanvasElement;
/**
* 获取场景。 [Cesium.Scene]{@link http://mars3d.cn/api/cesium/Scene.html}
*/
readonly scene: Cesium.Scene;
/**
* 获取相机 [Cesium.Camera]{@link http://mars3d.cn/api/cesium/Camera.html}
*/
readonly camera: Cesium.Camera;
/**
* 获取将在地球上渲染的ImageryLayer图像图层的集合
*/
readonly imageryLayers: Cesium.ImageryLayerCollection;
/**
* 获取要可视化的 DataSource 实例集。
*/
readonly dataSources: Cesium.DataSourceCollection;
/**
* 获取未绑定到特定数据源的实体的集合。这是 dataSourceDisplay.defaultDataSource.entities 的快捷方式。
*/
readonly entities: Cesium.EntityCollection;
/**
* 获取时钟 [Cesium.Clock]{@link http://mars3d.cn/api/cesium/Clock.html}
*/
readonly clock: Cesium.Clock;
/**
* 当前时间
*/
currentTime: Cesium.JulianDate;
/**
* 获取 CesiumWidget
*/
readonly cesiumWidget: Cesium.CesiumWidget;
/**
* 获取或设置相机当前正在跟踪的Entity实例。
*/
trackedEntity: Cesium.Entity | BaseEntity | undefined | any;
/**
* 获取或设置当前的地形服务
*/
terrainProvider: Cesium.TerrainProvider;
/**
* 是否开启地形
*/
hasTerrain: boolean;
/**
* 获取或设置当前显示的底图,设置时可以传入图层id或name
*/
basemap: string | number | BaseTileLayer;
/**
* 是否只拾取模型上的点
*/
onlyPickModelPosition: boolean;
/**
* 获取鼠标事件控制器
*/
readonly mouseEvent: MouseEvent;
/**
* 右键菜单控件对象
*/
readonly contextmenu: ContextMenu;
/**
* 获取键盘漫游控制器
*/
readonly keyboardRoam: KeyboardRoam;
/**
* 获取地图上已构造的控件对象
*/
readonly controls: any;
/**
* 获取地图上已构造的effect特效对象
*/
readonly effects: any;
/**
* 默认绑定的图层,简单场景时快捷方便使用
*/
readonly graphicLayer: GraphicLayer;
/**
* 获取当前地图层级(概略),一般为0-21层
*/
readonly level: number;
/**
* 是否固定光照,
* true:可避免gltf、3dtiles模型随时间存在亮度不一致。
*/
fixedLight: boolean;
/**
* 使用的语言(如中文、英文等)。
*/
lang: LangType;
/**
* 鼠标滚轮放大的步长比例
*/
zoomFactor: number;
/**
* 是否全局启用highlight ,如果在某些场景,如标绘时,可以手动关闭下
*/
highlightEnabled: boolean;
/**
* 设置Scene场景参数
* @param options - 参数
* @returns 当前对象本身,可以链式调用
*/
setSceneOptions(options: Map.sceneOptions): Map;
/**
* 获取地图的配置参数,即new Map传入的参数。
* @returns 地图的配置参数
*/
getOptions(): any;
/**
* 获取地图的当前实时状态对应的配置参数。
* @returns 地图的配置参数
*/
getCurrentOptions(): any;
/**
* 获取平台内置的右键菜单,图标可以覆盖 mars3d.Icon.* 值
* @returns 右键菜单
*/
getDefaultContextMenu(): any;
/**
* 取地图屏幕中心点坐标
* @returns 屏幕中心点坐标
*/
getCenter(): LngLatPoint;
/**
* 取相机到屏幕中心点的距离
* @returns 相机到屏幕中心点的距离,单位:米
*/
getCameraDistance(): number;
/**
* 提取地球当前视域边界,示例:{ xmin: 70, xmax: 140, ymin: 0, ymax: 55, height: 0, }
* @param [options = {}] - 参数对象:
* @param [options.formatNum = false] - 是否格式化小数位,只保留6位小数
* @param [options.scale = 1] - 通过在每个方向上按给定比例扩展当前边界,0.x时返回缩小的比例边界,大于1时返回放大的边界
* @returns 当前视域边界
*/
getExtent(options?: {
formatNum?: boolean;
scale?: number;
}): any;
/**
* 当存在地形夸张时,获取其实际的高度值
* @param alt - 鼠标拾取的高度值
* @returns 其实际的高度值
*/
getRealAlt(alt: number): number;
/**
* 截图,导出地图场景图片
* @param [options = {}] - 参数对象:
* @param [options.download = true] - 是否自动下载图片
* @param [options.filename = '场景出图_' + width + 'x' + height] - 图片名称
* @param [options.width = canvas.width] - 图片的高度像素值
* @param [options.height = canvas.height] - 图片的高度像素值
* @param [options.type = 'image/jpeg'] - 图片格式
* @param [options.encoderOptions = 0.92] - 在指定图片格式为 image/jpeg 或 image/webp的情况下,可以从 0 到 1 的区间内选择图片的质量。如果超出取值范围,将会使用默认值 0.92。其他参数会被忽略。
* @returns 截图完成后的回调方法的Promise
*/
expImage(options?: {
download?: boolean;
filename?: string;
width?: number;
height?: number;
type?: string;
encoderOptions?: number;
}): Promise;
/**
* 设置鼠标的默认状态样式
* @param [val] - cursor样式
* @returns 无
*/
setCursor(val?: string): void;
/**
* 获取坐标位置的3dtiles模型对象
* @param positions - 坐标 或 坐标数组
* @returns 3dtiles模型对象
*/
pick3DTileset(positions: Cesium.Cartesian3 | Cesium.Cartesian3[]): Cesium.Cesium3DTileset | undefined;
/**
* 获取坐标位置的3dtiles模型图层
* @param positions - 坐标 或 坐标数组
* @returns 3dtiles模型图层
*/
pickTilesetLayer(positions: Cesium.Cartesian3 | Cesium.Cartesian3[]): TilesetLayer | undefined;
/**
* 重新设置basemps底图图层,对options.basemaps重新赋值
* @param arr - 底图图层配置
* @returns 图层数组
*/
setBasemapsOptions(arr: Map.basemapOptions[]): BaseLayer[];
/**
* 重新设置layers图层,对options.layers重新赋值
* @param arr - 可以叠加显示的图层配置
* @returns 图层数组
*/
setLayersOptions(arr: Map.layerOptions[]): BaseLayer[];
/**
* 获取图层ID值,按顺序取值。
* 没有id的图层,会自动使用本方法进行id赋值处理
* @returns 图层ID
*/
getNextLayerId(): number;
/**
* 添加图层到地图上
* @param layer - 图层对象
* @param [showVal] - 如果传值,覆盖图层的show属性
* @returns 图层加载完成承诺
*/
addLayer(layer: BaseLayer, showVal?: boolean): Promise;
/**
* 移除图层
* @param layer - 需要移除的图层
* @param [hasDestroy] - 是否释放 destroy
* @returns 当前对象本身,可以链式调用
*/
removeLayer(layer: BaseLayer, hasDestroy?: boolean): Map;
/**
* 是否有指定的图层存在(就是已经addLayer的图层)
* @param layer - 指定的图层或图层ID
* @returns 是否存在
*/
hasLayer(layer: string | number | BaseLayer): boolean;
/**
* 遍历每一个图层并将其作为参数传递给回调函数
* @param method - 回调方法
* @param [context] - 侦听器的上下文(this关键字将指向的对象)。
* @returns 当前对象本身,可以链式调用
*/
eachLayer(method: (...params: any[]) => any, context?: any): Map;
/**
* 根据指定属性获取图层,包括config.json配置的图层
* @param attrValue - 属性值
* @param [attrName = 'id'] - 属性键
* @returns 图层对象
*/
getLayer(attrValue: string | number, attrName?: string): BaseLayer | any;
/**
* 根据ID或取图层 ,包括config.json配置的图层
* @param id - 图层id或uuid
* @returns 图层对象
*/
getLayerById(id: string | number): BaseLayer | any;
/**
* 根据指定属性获取图层
* @param attrValue - 属性值
* @param [attrName = 'id'] - 属性键
* @returns 图层对象
*/
getLayerByAttr(attrValue: string | number, attrName?: string): BaseLayer | any;
/**
* 根据指定属性获取图层列表
* @param attrValue - 属性值
* @param [attrName = 'id'] - 属性键
* @returns 图层对象列表
*/
getLayersByAttr(attrValue: string | number, attrName?: string): BaseLayer[] | any;
/**
* 获取所有图层
* @param [options] - 参数对象,包括以下:
* @param [options.basemaps] - 默认不比较及处理,true:返回所有basemps中配置图层,false:排除所有所有basemps中配置图层
* @param [options.layers] - 默认不比较及处理,true:返回所有operationallayers中配置图层,false:排除所有operationallayers中配置图层
* @param [options.childs = true] - 是否获取GroupLayer内的子图层
* @returns 图层数组
*/
getLayers(options?: {
basemaps?: boolean;
layers?: boolean;
childs?: boolean;
}): BaseLayer[] | any[];
/**
* 获取所有basemps底图图层
* @param [removeEmptyGroup = false] - 是否移除 空图层组
* @returns 图层数组
*/
getBasemaps(removeEmptyGroup?: boolean): BaseLayer[] | any[];
/**
* 获取所有瓦片图层,可以用于卷帘对比
* @returns 图层数组
*/
getTileLayers(): BaseTileLayer[] | any[];
/**
* 添加控件到地图上
* @param control - 控件对象
* @param [enabledVal] - 如果传值,覆盖控件的enabled属性
* @returns 当前对象本身,可以链式调用
*/
addControl(control: BaseControl, enabledVal?: boolean): Map;
/**
* 移除控件
* @param control - 需要移除的控件
* @param [hasDestroy] - 是否释放
* @returns 当前对象本身,可以链式调用
*/
removeControl(control: BaseControl, hasDestroy?: boolean): Map;
/**
* 是否有指定的控件存在(就是已经addControl的控件)
* @param control - 指定的控件或控件ID
* @returns 是否存在
*/
hasControl(control: BaseControl | string): boolean;
/**
* 遍历每一个控件并将其作为参数传递给回调函数
* @param method - 回调方法
* @param [context] - 侦听器的上下文(this关键字将指向的对象)。
* @returns 当前对象本身,可以链式调用
*/
eachControl(method: (...params: any[]) => any, context?: any): Map;
/**
* 根据指定属性获取控件
* @param attrValue - 属性值
* @param [attrName = 'id'] - 属性键
* @returns 控件对象
*/
getControl(attrValue: string | number | boolean, attrName?: string): BaseControl;
/**
* 添加特效对象到地图上
* @param effect - 特效对象
* @returns 当前对象本身,可以链式调用
*/
addEffect(effect: BaseEffect): Map;
/**
* 移除特效对象
* @param effect - 需要移除的特效对象
* @param [hasDestroy] - 是否释放
* @returns 当前对象本身,可以链式调用
*/
removeEffect(effect: BaseEffect, hasDestroy?: boolean): Map;
/**
* 根据指定属性获取Thing对象
* @param key - 属性值(如id、name值)
* @param [attrName = 'id'] - 属性名称
* @returns Thing对象
*/
getEffect(key: string | any, attrName?: string): BaseEffect;
/**
* 添加Thing对象到地图上
* @param item - Thing对象
* @returns 当前对象本身,可以链式调用
*/
addThing(item: BaseThing): Map;
/**
* 移除Thing对象
* @param item - 需要移除的Thing对象
* @param [hasDestroy] - 是否释放
* @returns 当前对象本身,可以链式调用
*/
removeThing(item: BaseThing, hasDestroy?: boolean): Map;
/**
* 是否有指定的Thing对象存在(就是已经addThing的图层)
* @param thing - 指定的Thing对象或Thing对象ID
* @returns 是否存在
*/
hasThing(thing: BaseThing | string): boolean;
/**
* 遍历每一个Thing对象并将其作为参数传递给回调函数
* @param method - 回调方法
* @param [context] - 侦听器的上下文(this关键字将指向的对象)。
* @returns 当前对象本身,可以链式调用
*/
eachThing(method: (...params: any[]) => any, context?: any): Map;
/**
* 根据指定属性获取Thing对象
* @param attrValue - 属性值
* @param [attrName = 'id'] - 属性名称
* @returns Thing对象
*/
getThing(attrValue: string | number | boolean, attrName?: string): BaseThing;
/**
* 根据设置的lang参数,获取当前key对应语言的文本内容。
* @param key - 文本key
* @returns lang参数指定的对应文本内容
*/
getLangText(key: string): void;
/**
* 放大地图
* @param [relativeAmount = 2] - 相对量
* @returns 是否有移动位置
*/
zoomIn(relativeAmount?: number): boolean;
/**
* 缩小地图
* @param [relativeAmount = 2] - 相对量
* @returns 是否有移动位置
*/
zoomOut(relativeAmount?: number): boolean;
/**
* 设置鼠标操作习惯方式。
* 默认为中键旋转,右键拉伸远近。传`rightTilt:true`可以设置为右键旋转,中键拉伸远近。
* @param [rightTilt = false] - 是否右键旋转
* @returns 无
*/
changeMouseModel(rightTilt?: boolean): void;
/**
* 清除鼠标操作限定的Pitch范围
* @returns 无
*/
clearPitchRange(): void;
/**
* 设置鼠标操作限定的Pitch范围
* @param max - 最大值(角度值)
* @param [min = -90] - 最小值(角度值)
* @returns 无
*/
setPitchRange(max: number, min?: number): void;
/**
* 设置相机pitch值,保持地图中心位置不变。
* @param pitch - 俯仰角度值, 0至360
* @param [options] - 具有以下属性的对象:
* @param [options.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0至360
* @param [options.duration] - 飞行持续时间(秒)。如果省略,内部会根据飞行距离计算出理想的飞行时间。
* @param [options.complete] - 飞行完成后要执行的函数。
* @param [options.cancel] - 飞行取消时要执行的函数。
* @returns 如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise
*/
setPitch(pitch: number, options?: {
heading?: number;
duration?: number;
complete?: Cesium.Camera.FlightCompleteCallback;
cancel?: Cesium.Camera.FlightCancelledCallback;
}): Promise;
/**
* 停止视角定位等操作
* @returns 当前对象本身,可以链式调用
*/
cancelFlyTo(): Map;
/**
* 获取当前相机视角参数,
* 示例:{"lat":30.526361,"lng":116.335987,"alt":45187,"heading":0,"pitch":-45}
* @param [options = {}] - 参数对象:
* @param [options.simplify = true] - 是否简化,false时保留角度1位小数位
* @returns 当前相机视角参数
*/
getCameraView(options?: {
simplify?: boolean;
}): any;
/**
* 将相机本身定位至指定位置
* @param cameraView - 飞行参数
* @param cameraView.lng - 经度值, 180 - 180
* @param cameraView.lat - 纬度值, -90 - 90
* @param [cameraView.alt] - 高度值
* @param [cameraView.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [cameraView.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [cameraView.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options = {}] - 参数对象:
* @param [options.duration] - 飞行时间(单位:秒)。如果省略,SDK内部会根据飞行距离计算出理想的飞行时间。
* @param [options.complete] - 飞行完成后要执行的函数。
* @param [options.cancel] - 飞行取消时要执行的函数。
* @param [options.endTransform] - 变换矩阵表示飞行结束时相机所处的参照系。
* @param [options.maximumHeight] - 飞行高峰时的最大高度。
* @param [options.pitchAdjustHeight] - 如果相机飞得比这个值高,在飞行过程中调整俯仰以向下看,并保持地球在视口。
* @param [options.flyOverLongitude] - 地球上的两点之间总有两条路。这个选项迫使相机选择战斗方向飞过那个经度。
* @param [options.flyOverLongitudeWeight] - 仅在通过flyOverLongitude指定的lon上空飞行,只要该方式的时间不超过flyOverLongitudeWeight的短途时间。
* @param [options.convert = true] - 是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。
* @param [options.easingFunction] - 控制在飞行过程中如何插值时间。
* @returns 如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise
*/
setCameraView(cameraView: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
}, options?: {
duration?: number;
complete?: Cesium.Camera.FlightCompleteCallback;
cancel?: Cesium.Camera.FlightCancelledCallback;
endTransform?: Cesium.Matrix4;
maximumHeight?: number;
pitchAdjustHeight?: number;
flyOverLongitude?: number;
flyOverLongitudeWeight?: number;
convert?: boolean;
easingFunction?: Cesium.EasingFunction.Callback;
}): Promise;
/**
* 将相机本身定位至指定位置,同 setCameraView 方法
* 为了兼容老版本用户习惯和center参数名称一致而用的别名方法。
* @param cameraView - 飞行参数,同 setCameraView 方法
* @param [options = {}] - 参数对象,同 setCameraView 方法
* @returns 无
*/
centerAt(cameraView: any, options?: any): void;
/**
* 飞行到默认视角,
* 一般为config.json中的center参数配置的视角。
* @param [options = {}] - 参数对象:
* @param [options.duration] - 飞行时间(单位:秒)。如果省略,SDK内部会根据飞行距离计算出理想的飞行时间。
* @returns 无
*/
flyHome(options?: {
duration?: number;
}): void;
/**
* 定位到多个相机视角位置,按数组顺序播放
* @param arr - 视角参数数组,每个对象包含:
* @param arr.lng - 经度值, -180 至 180
* @param arr.lat - 纬度值, -90 至 90
* @param arr.alt - 高度值
* @param arr.heading - 方向角度值,绕垂直于地心的轴旋转角度, 0至360
* @param arr.pitch - 俯仰角度值,绕纬度线旋转角度, 0至360
* @param arr.roll - 翻滚角度值,绕经度线旋转角度, 0至360
* @param [arr.duration] - 飞行时间(单位:秒)。如果省略,SDK内部会根据飞行距离计算出理想的飞行时间。
* @param [arr.stop = 1] - 该步骤飞行结束的停留时间(单位:秒)。
* @param [arr.onStart] - 该步骤飞行开始前的回调方法
* @param [arr.onEnd] - 该步骤飞行开始结束后的回调方法
* @param [options = {}] - 参数对象:
* @param [options.complete] - 全部飞行完成后要执行的函数。
* @param [options.cancel] - 飞行取消时要执行的函数。
* @param [options.endTransform] - 变换矩阵表示飞行结束时相机所处的参照系。
* @param [options.maximumHeight] - 飞行高峰时的最大高度。
* @param [options.pitchAdjustHeight] - 如果相机飞得比这个值高,在飞行过程中调整俯仰以向下看,并保持地球在视口。
* @param [options.flyOverLongitude] - 地球上的两点之间总有两条路。这个选项迫使相机选择战斗方向飞过那个经度。
* @param [options.flyOverLongitudeWeight] - 仅在通过flyOverLongitude指定的lon上空飞行,只要该方式的时间不超过flyOverLongitudeWeight的短途时间。
* @param [options.convert = true] - 是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。
* @param [options.easingFunction = Cesium.EasingFunction.LINEAR_NONE] - 控制在飞行过程中如何插值时间。
* @returns 无
*/
setCameraViewList(arr: {
lng: number;
lat: number;
alt: number;
heading: number;
pitch: number;
roll: number;
duration?: number;
stop?: number;
onStart?: (...params: any[]) => any;
onEnd?: (...params: any[]) => any;
}[], options?: {
complete?: Cesium.Camera.FlightCompleteCallback;
cancel?: Cesium.Camera.FlightCancelledCallback;
endTransform?: Cesium.Matrix4;
maximumHeight?: number;
pitchAdjustHeight?: number;
flyOverLongitude?: number;
flyOverLongitudeWeight?: number;
convert?: boolean;
easingFunction?: Cesium.EasingFunction.Callback;
}): void;
/**
* 飞行至Cesium相关矢量对象处,是Cesium本身的flyTo方法。
*
* 将相机移至提供的一个或多个实体或数据源。如果数据源仍在加载过程中,或者可视化仍在加载中,此方法在执行飞行之前等待数据准备就绪。
* 偏移量是在以边界球中心为中心的局部东北向上参考框中的航向/俯仰/范围。航向角和俯仰角是在局部的东西向北参考系中定义的。航向是从y轴到x轴的角度。间距是从xy平面开始的旋转。正螺距角度在平面上方。负俯仰角在平面下方。范围是到中心的距离。如果范围是零,则将计算范围以使整个边界球都可见。
*
* 在2D模式下,必须有一个俯视图。摄像机将被放置在目标上方并向下看。上方的高度目标将是范围。航向将根据偏移量确定。如果标题不能根据偏移量确定,航向将为北。
* @param target - 需要定位的Cesium内部对象。您还可以传递一个: Cesium.Entity|Cesium.Entity[]|Cesium.EntityCollection|Cesium.DataSource|Cesium.ImageryLayer|Cesium.Cesium3DTileset|Cesium.TimeDynamicPointCloud|Promise.
* @param [options] - 具有以下属性的对象:
* @param [options.duration = 3.0] - 飞行持续时间(秒)。
* @param [options.maximumHeight] - 飞行高峰时的最大高度。
* @param [options.offset] - 在局部东北朝上的参考框中,距目标的偏移量为中心。
* @returns 如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise
*/
flyTo(target: any, options?: {
duration?: number;
maximumHeight?: number;
offset?: Cesium.HeadingPitchRange;
}): Promise;
/**
* 飞行定位到 Graphic矢量对象 处
* @param graphic - 矢量对象
* @param [options = {}] - 参数对象:
* @param [options.radius] - 点状数据时,相机距离目标点的距离(单位:米)
* @param [options.scale = 1.2] - 线面数据时,缩放比例,可以控制视角比矩形略大一些,这样效果更友好。
* @param [options.minHeight] - 定位时相机的最小高度值,用于控制避免异常数据
* @param [options.maxHeight] - 定位时相机的最大高度值,用于控制避免异常数据
* @param [options.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0至360
* @param [options.pitch] - 俯仰角度值,绕纬度线旋转角度, 0至360
* @param [options.roll] - 翻滚角度值,绕经度线旋转角度, 0至360
* @param [options.duration] - 飞行时间(单位:秒)。如果省略,SDK内部会根据飞行距离计算出理想的飞行时间。
* @param [options.complete] - 飞行完成后要执行的函数。
* @param [options.cancel] - 飞行取消时要执行的函数。
* @param [options.endTransform] - 变换矩阵表示飞行结束时相机所处的参照系。
* @param [options.maximumHeight] - 飞行高峰时的最大高度。
* @param [options.pitchAdjustHeight] - 如果相机飞得比这个值高,在飞行过程中调整俯仰以向下看,并保持地球在视口。
* @param [options.flyOverLongitude] - 地球上的两点之间总有两条路。这个选项迫使相机选择战斗方向飞过那个经度。
* @param [options.flyOverLongitudeWeight] - 仅在通过flyOverLongitude指定的lon上空飞行,只要该方式的时间不超过flyOverLongitudeWeight的短途时间。
* @param [options.convert = true] - 是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。
* @param [options.easingFunction] - 控制在飞行过程中如何插值时间。
* @returns 如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise
*/
flyToGraphic(graphic: BaseGraphic | BaseGraphic[], options?: {
radius?: number;
scale?: number;
minHeight?: number;
maxHeight?: number;
heading?: number;
pitch?: number;
roll?: number;
duration?: number;
complete?: Cesium.Camera.FlightCompleteCallback;
cancel?: Cesium.Camera.FlightCancelledCallback;
endTransform?: Cesium.Matrix4;
maximumHeight?: number;
pitchAdjustHeight?: number;
flyOverLongitude?: number;
flyOverLongitudeWeight?: number;
convert?: boolean;
easingFunction?: Cesium.EasingFunction.Callback;
}): Promise;
/**
* 定位至坐标数组
* @param positions - 坐标数组
* @param [options = {}] - 参数对象:
* @param [options.radius] - 点状数据时,相机距离目标点的距离(单位:米)
* @param [options.scale = 1.2] - 线面数据时,缩放比例,可以控制视角比矩形略大一些,这样效果更友好。
* @param [options.minHeight] - 定位时相机的最小高度值,用于控制避免异常数据
* @param [options.maxHeight] - 定位时相机的最大高度值,用于控制避免异常数据
* @param [options.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0至360
* @param [options.pitch] - 俯仰角度值,绕纬度线旋转角度, 0至360
* @param [options.roll] - 翻滚角度值,绕经度线旋转角度, 0至360
* @param [options.duration] - 飞行时间(单位:秒)。如果省略,SDK内部会根据飞行距离计算出理想的飞行时间。
* @param [options.complete] - 飞行完成后要执行的函数。
* @param [options.cancel] - 飞行取消时要执行的函数。
* @param [options.endTransform] - 变换矩阵表示飞行结束时相机所处的参照系。
* @param [options.maximumHeight] - 飞行高峰时的最大高度。
* @param [options.pitchAdjustHeight] - 如果相机飞得比这个值高,在飞行过程中调整俯仰以向下看,并保持地球在视口。
* @param [options.flyOverLongitude] - 地球上的两点之间总有两条路。这个选项迫使相机选择战斗方向飞过那个经度。
* @param [options.flyOverLongitudeWeight] - 仅在通过flyOverLongitude指定的lon上空飞行,只要该方式的时间不超过flyOverLongitudeWeight的短途时间。
* @param [options.convert = true] - 是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。
* @param [options.easingFunction] - 控制在飞行过程中如何插值时间。
* @returns 如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise
*/
flyToPositions(positions: Cesium.Cartesian3[], options?: {
radius?: number;
scale?: number;
minHeight?: number;
maxHeight?: number;
heading?: number;
pitch?: number;
roll?: number;
duration?: number;
complete?: Cesium.Camera.FlightCompleteCallback;
cancel?: Cesium.Camera.FlightCancelledCallback;
endTransform?: Cesium.Matrix4;
maximumHeight?: number;
pitchAdjustHeight?: number;
flyOverLongitude?: number;
flyOverLongitudeWeight?: number;
convert?: boolean;
easingFunction?: Cesium.EasingFunction.Callback;
}): Promise;
/**
* 相机飞行定位至矩形区域
* @param extent - 飞行参数, Object时可以传入:
* @param extent.xmin - 最小经度值, -180 至 180
* @param extent.xmax - 最大经度值, -180 至 180
* @param extent.ymin - 最小纬度值, -90 至 90
* @param extent.ymax - 最大纬度值, -90 至 90
* @param [extent.height = 0] - 矩形高度值
* @param [options = {}] - 参数对象:
* @param [options.scale] - 缩放比例,可以控制视角比矩形略大一些,这样效果更友好。
* @param [options.minHeight] - 定位时相机的最小高度值,用于控制避免异常数据
* @param [options.maxHeight] - 定位时相机的最大高度值,用于控制避免异常数据
* @param [options.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0至360
* @param [options.pitch] - 俯仰角度值,绕纬度线旋转角度, 0至360
* @param [options.roll] - 翻滚角度值,绕经度线旋转角度, 0至360
* @param [options.duration] - 飞行时间(单位:秒)。如果省略,SDK内部会根据飞行距离计算出理想的飞行时间。
* @param [options.complete] - 飞行完成后要执行的函数。
* @param [options.cancel] - 飞行取消时要执行的函数。
* @param [options.endTransform] - 变换矩阵表示飞行结束时相机所处的参照系。
* @param [options.maximumHeight] - 飞行高峰时的最大高度。
* @param [options.pitchAdjustHeight] - 如果相机飞得比这个值高,在飞行过程中调整俯仰以向下看,并保持地球在视口。
* @param [options.flyOverLongitude] - 地球上的两点之间总有两条路。这个选项迫使相机选择战斗方向飞过那个经度。
* @param [options.flyOverLongitudeWeight] - 仅在通过flyOverLongitude指定的lon上空飞行,只要该方式的时间不超过flyOverLongitudeWeight的短途时间。
* @param [options.convert = true] - 是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。
* @param [options.easingFunction] - 控制在飞行过程中如何插值时间。
* @returns 如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise
*/
flyToExtent(extent: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
height?: number;
}, options?: {
scale?: number;
minHeight?: number;
maxHeight?: number;
heading?: number;
pitch?: number;
roll?: number;
duration?: number;
complete?: Cesium.Camera.FlightCompleteCallback;
cancel?: Cesium.Camera.FlightCancelledCallback;
endTransform?: Cesium.Matrix4;
maximumHeight?: number;
pitchAdjustHeight?: number;
flyOverLongitude?: number;
flyOverLongitudeWeight?: number;
convert?: boolean;
easingFunction?: Cesium.EasingFunction.Callback;
}): Promise;
/**
* 定位至目标点(非相机位置)
* @param point - 目标点位置(视角中心点)
* @param [options = {}] - 具有以下属性的对象:
* @param [options.radius] - 相机距离目标点的距离(单位:米)
* @param [options.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0至360
* @param [options.pitch] - 俯仰角度值,绕纬度线旋转角度, 0至360
* @param [options.roll] - 翻滚角度值,绕经度线旋转角度, 0至360
* @param [options.duration] - 飞行持续时间(秒)。如果省略,内部会根据飞行距离计算出理想的飞行时间。
* @param [options.clampToGround] - 是否贴地对象,true时异步计算实际高度值后进行定位。
* @param [options.complete] - 飞行完成后要执行的函数。
* @param [options.cancel] - 飞行取消时要执行的函数。
* @param [options.endTransform] - 表示飞行完成后摄像机将位于的参考帧的变换矩阵。
* @param [options.maximumHeight] - 飞行高峰时的最大高度。
* @param [options.pitchAdjustHeight] - 如果相机的飞行角度高于该值,请在飞行过程中调整俯仰角度以向下看,并将地球保持在视口中。
* @param [options.flyOverLongitude] - 地球上2点之间总是有两种方式。此选项会迫使相机选择战斗方向以在该经度上飞行。
* @param [options.flyOverLongitudeWeight] - 仅在通过flyOverLongitude指定的lon上空飞行,只要该方式的时间不超过flyOverLongitudeWeight的短途时间。
* @param [options.easingFunction] - 控制在飞行过程中如何插值时间。
* @returns 如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise
*/
flyToPoint(point: LngLatPoint | Cesium.Cartesian3 | number[], options?: {
radius?: number;
heading?: number;
pitch?: number;
roll?: number;
duration?: number;
clampToGround?: boolean;
complete?: Cesium.Camera.FlightCompleteCallback;
cancel?: Cesium.Camera.FlightCancelledCallback;
endTransform?: Cesium.Matrix4;
maximumHeight?: number;
pitchAdjustHeight?: number;
flyOverLongitude?: number;
flyOverLongitudeWeight?: number;
easingFunction?: Cesium.EasingFunction.Callback;
}): Promise;
/**
* 是否在调用了openFlyAnimation正在进行开场动画
* @returns 是否在开场动画
*/
isFlyAnimation(): boolean;
/**
* 执行开场动画,动画播放地球飞行定位到指定区域
* @param [options = {}] - 参数对象:
* @param [options.center = getCameraView()] - 飞行到的指定区域视角参数
* @returns 如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise
*/
openFlyAnimation(options?: {
center?: any;
}): Promise;
/**
* 执行旋转地球动画
* @param [options = {}] - 参数对象:
* @param [options.duration = 10] - 动画时长(单位:秒)
* @param [options.center = getCameraView()] - 飞行到的指定区域视角参数
* @returns 如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise
*/
rotateAnimation(options?: {
duration?: number;
center?: any;
}): Promise;
/**
* 清除已高亮的矢量对象
* @param [result] - 事件对象
* @returns 无
*/
closeHighlight(result?: any): void;
/**
* 高亮矢量对象
* @param graphic - 矢量对象
* @param highlightStyle - 高亮的样式,具体见各{@link GraphicType}矢量数据的style参数。
* @param [event] - 鼠标事件对象
* @returns 无
*/
openHighlight(graphic: BaseGraphic | any, highlightStyle: any, event?: any): void;
/**
* 打开Popup弹窗
* @param position - 矢量对象 或 显示的位置
* @param content - 弹窗内容html字符串,或者 回调方法 或者矢量对象/图层。
* @param [options] - 配置参数
* @returns 当前对象本身,可以链式调用
*/
openPopup(position: LngLatPoint | Cesium.Cartesian3 | number[], content: string | ((...params: any[]) => any) | BaseGraphic | BaseGraphicLayer, options?: Popup.StyleOptions | any): Map;
/**
* 关闭Popup弹窗
* @returns 当前对象本身,可以链式调用
*/
closePopup(): Map;
/**
* 打开Tooltip弹窗
* @param position - 矢量对象 或 显示的位置
* @param content - 弹窗内容html字符串,或者 回调方法
* @param [options] - 配置参数
* @returns 当前对象本身,可以链式调用
*/
openTooltip(position: LngLatPoint | Cesium.Cartesian3 | number[], content: string | ((...params: any[]) => any), options?: Tooltip.StyleOptions | any): Map;
/**
* 关闭Tooltip弹窗
* @returns 当前对象本身,可以链式调用
*/
closeTooltip(): Map;
/**
* 获取绑定的右键菜单数组
* @returns 右键菜单数组
*/
getContextMenu(): any;
/**
* 绑定地图的默认右键菜单
* @example
* //内置的默认右键菜单获取方法
* let defaultContextmenuItems =map.getDefaultContextMenu()
* map.bindContextMenu(defaultContextmenuItems)
* @param content - 右键菜单配置数组,数组中每一项包括:
* @param [content.text] - 菜单文字
* @param [content.icon] - 图标,可以是:图片url路径、base64字符串、svg字符串、字体图标class名
* @param [content.show] - 菜单项是否显示的回调方法
* @param [content.callback] - 菜单项单击后的回调方法
* @param [content.children] - 当有二级子菜单时,配置数组。
* @param [options = {}] - 控制参数
* @param [options.offsetX] - 用于非规则对象时,横向偏移的px像素值
* @param [options.offsetY] - 用于非规则对象时,垂直方向偏移的px像素值
* @returns 当前对象本身,可以链式调用
*/
bindContextMenu(content: {
text?: string;
icon?: string;
show?: ((...params: any[]) => any) | boolean;
callback?: (...params: any[]) => any;
children?: any;
}[], options?: {
offsetX?: number;
offsetY?: number;
}): Map;
/**
* 解除绑定的右键菜单
* @returns 当前对象本身,可以链式调用
*/
unbindContextMenu(): Map;
/**
* 打开右键菜单
* @param [position] - 显示的位置
* @returns 当前对象本身,可以链式调用
*/
openContextMenu(position?: Cesium.Cartesian3): Map;
/**
* 关闭右键菜单
* @returns 当前对象本身,可以链式调用
*/
closeContextMenu(): Map;
/**
* 显示小提示窗,一般用于鼠标操作的提示。
* @param position - 显示的屏幕坐标位置 或 笛卡尔坐标位置
* @param message - 显示的内容
* @returns 当前对象本身,可以链式调用
*/
openSmallTooltip(position: Cesium.Cartesian2 | Cesium.Cartesian3, message: any): Map;
/**
* 关闭小提示窗
* @returns 当前对象本身,可以链式调用
*/
closeSmallTooltip(): Map;
/**
* 销毁地图
* @returns 无
*/
destroy(): void;
/**
* 绑定指定类型事件监听器,
* 支持在监听中调用 event.stopPropagation(); 组织事件冒泡
* @param types - 事件类型
* @param fn - 绑定的监听器回调方法
* @param [context] - 侦听器的上下文(this关键字将指向的对象)。
* @returns 当前对象本身,可以链式调用
*/
on(types: EventType | string | EventType[] | string[] | any, fn: (...params: any[]) => any, context?: any): BaseClass;
/**
* 解除绑定指定类型事件监听器
* @param [types] - 事件类型,未传值时解绑所有事件
* @param [fn] - 绑定的监听器回调方法,未传值时解绑所有指定类型对应事件
* @param [context] - 侦听器的上下文(this关键字将指向的对象)。
* @returns 当前对象本身,可以链式调用
*/
off(types?: EventType | string | EventType[], fn?: (...params: any[]) => any, context?: any): BaseClass;
}
/**
* 材质属性(Entity使用) 基础类
* @param options - 参数对象
*/
declare class BaseMaterialProperty {
constructor(options: any);
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 圆形扫描效果 材质属性
* @param [options] - 参数对象,包括以下:
* @param options.image - 背景图片URL
* @param [options.color = new Cesium.Color(1, 0, 0, 0.5))] - 颜色
*/
declare class CircleScanMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
image: string;
color?: string | Cesium.Color;
});
/**
* 背景图片URL
*/
image: string;
/**
* 颜色
*/
color: Cesium.Color;
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 圆形扩散波纹效果 材质属性
* @param [options] - 参数对象,包括以下:
* @param [options.color = Cesium.Color.YELLOW] - 颜色
* @param [options.speed = 10] - 速度
* @param [options.duration] - 播放总时长,单位:秒 (会覆盖speed参数)
* @param [options.count = 1] - 圆圈个数
* @param [options.gradient = 0.1] - 透明度的幂方(0-1),0表示无虚化效果,1表示虚化成均匀渐变
*/
declare class CircleWaveMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
color?: string | Cesium.Color;
speed?: number;
duration?: number;
count?: number;
gradient?: number;
});
/**
* 颜色
*/
color: Cesium.Color;
/**
* 速度
*/
speed: number;
/**
* 播放总时长,单位:秒 (会覆盖speed参数)
*/
duration: number;
/**
* 圆圈个数
*/
count: number;
/**
* 透明度的幂方(0-1),0表示无虚化效果,1表示虚化成均匀渐变
*/
gradient: number;
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 圆锥 波纹扩散效果 材质属性
* @param [options] - 参数对象,包括以下:
* @param [options.color = new Cesium.Color(2, 1, 0.0, 0.8)] - 颜色
* @param [options.repeat = 30] - 圈数量
* @param [options.thickness = 0.3] - 圈的宽度比例
* @param [options.speed = 10] - 速度,值越大越快
*/
declare class CylinderWaveMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
color?: string | Cesium.Color;
repeat?: number;
thickness?: number;
speed?: number;
});
/**
* 颜色
*/
color: Cesium.Color;
/**
* 圈数量
*/
repeat: number;
/**
* 圈的宽度比例
*/
thickness: number;
/**
* 速度,值越大越快
*/
speed: number;
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 线状: 数字流动线 材质
* @param [options] - 参数对象,包括以下:
* @param [options.color = Cesium.Color.ORANGE] - 颜色
* @param [options.speed = 5.0] - 速度,值越大越快
* @param [options.glow = 1.0] - 高亮强度
* @param [options.flowGlow = 1.0] - 流动高亮强度
* @param [options.segment = 3.0] - 分段数
*/
declare class DigitalFlowMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
color?: Cesium.Color;
speed?: number;
glow?: number;
flowGlow?: number;
segment?: number;
});
/**
* 颜色
*/
color: Cesium.Color;
/**
* 速度,值越大越快
*/
speed: number;
/**
* 高亮强度
*/
glow: number;
/**
* 流动高亮强度
*/
flowGlow: number;
/**
* 分段数
*/
segment: number;
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 球体: 电弧球体效果 材质
* @param [options] - 参数对象,包括以下:
* @param [options.color = new Cesium.Color(1, 0, 0, 1.0)] - 颜色
* @param [options.speed = 5.0] - 速度,值越大越快
*/
declare class EllipsoidElectricMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
color?: Cesium.Color;
speed?: number;
});
/**
* 颜色
*/
color: Cesium.Color;
/**
* 速度,值越大越快
*/
speed: number;
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 球体: 波纹球体效果 材质
* @param [options] - 参数对象,包括以下:
* @param [options.color = new Cesium.Color(1, 0, 0, 1.0)] - 颜色
* @param [options.speed = 5.0] - 速度,值越大越快
*/
declare class EllipsoidWaveMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
color?: Cesium.Color;
speed?: number;
});
/**
* 颜色
*/
color: Cesium.Color;
/**
* 速度
*/
speed: number;
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 通用:图片 材质2 材质属性, 没有加载完成前的白色闪烁,但也不支持纯白色的图片
* @param [options] - 参数对象,包括以下:
* @param options.image - 背景图片URL
* @param [options.opacity = 1] - 透明度
* @param [options.color = Cesium.Color.WHITE] - 颜色
*/
declare class Image2MaterialProperty extends BaseMaterialProperty {
constructor(options?: {
image: string;
opacity?: number;
color?: string | Cesium.Color;
});
/**
* 背景图片URL
*/
image: string;
/**
* 透明度,0-1
*/
opacity: number;
/**
* 颜色
*/
color: Cesium.Color;
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 线状: 泛光线 材质
* @param [options] - 参数对象,包括以下:
* @param [options.color = Cesium.Color.ORANGE] - 颜色
* @param [options.glow = 1.0] - 泛光强度
* @param [options.speed = 5.0] - 速度,值越大越快
*/
declare class LineBloomMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
color?: Cesium.Color;
glow?: number;
speed?: number;
});
/**
* 颜色
*/
color: Cesium.Color;
/**
* 速度,值越大越快
*/
speed: number;
/**
* 泛光强度
*/
glow: number;
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 线状: 闪烁线 材质
* @param [options] - 参数对象,包括以下:
* @param [options.color = new Cesium.Color(1, 0, 0, 1.0)] - 颜色
* @param [options.speed = 2] - 速度,值越大越快
*/
declare class LineFlickerMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
color?: Cesium.Color;
speed?: number;
});
/**
* 背景图片颜色
*/
color: Cesium.Color;
/**
* 速度,值越大越快
*/
speed: number;
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 线状 流动效果 材质
* @param [options] - 参数对象,包括以下:
* @param [options.color = new Cesium.Color(1, 0, 0, 1.0)] - 颜色
* @param [options.speed = 2] - 速度,值越大越快
* @param [options.percent = 0.04] - 比例
* @param [options.alpha = 0.1] - 透明程度 0.0-1.0
* @param [options.startTime = 0] - 开始的时间系数
*/
declare class LineFlowColorMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
color?: Cesium.Color;
speed?: number;
percent?: number;
alpha?: number;
startTime?: number;
});
/**
* 颜色
*/
color: Cesium.Color;
/**
* 速度,值越大越快
*/
speed: number;
/**
* 比例
*/
percent: number;
/**
* 透明程度 0.0-1.0
*/
alpha: number;
/**
* 开始的时间系数
*/
startTime: number;
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 线状 流动效果 材质
* @param [options] - 参数对象,包括以下:
* @param options.image - 背景图片URL
* @param [options.color = new Cesium.Color(1, 0, 0, 1.0)] - 背景图片颜色
* @param [options.repeat = new Cesium.Cartesian2(1.0, 1.0)] - 横纵方向重复次数
* @param [options.axisY = false] - 是否Y轴朝上
* @param [options.speed = 10] - 速度
* @param [options.duration] - 播放总时长,单位:秒 (会覆盖speed参数)
* @param [options.hasImage2 = false] - 是否有2张图片的混合模式
* @param [options.image2] - 第2张背景图片URL地址
* @param [options.color2 = new Cesium.Color(1, 1, 1)] - 第2张背景图片颜色
*/
declare class LineFlowMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
image: string;
color?: string | Cesium.Color;
repeat?: Cesium.Cartesian2;
axisY?: boolean;
speed?: number;
duration?: number;
hasImage2?: boolean;
image2?: string;
color2?: string | Cesium.Color;
});
/**
* 背景图片URL
*/
image: string;
/**
* 背景图片颜色
*/
color: Cesium.Color;
/**
* 是否Y轴朝上
*/
axisY: boolean;
/**
* 速度
*/
speed: number;
/**
* 播放总时长,单位:秒 (会覆盖speed参数)
*/
duration: number;
/**
* 横纵方向重复次数
*/
repeat: Cesium.Cartesian2;
/**
* 第2张背景图片
*/
image2: string;
/**
* 第2张背景图片颜色
*/
color2: Cesium.Color;
/**
* 是否有2张图片的混合模式
*/
hasImage2: boolean;
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 线状: 轨迹线 材质
* @param [options] - 参数对象,包括以下:
* @param [options.color = new Cesium.Color(1, 0, 0, 1.0)] - 颜色
* @param [options.bgColor] - 背景颜色
* @param [options.speed = 5.0] - 速度,值越大越快
*/
declare class LineTrailMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
color?: Cesium.Color;
bgColor?: string | Cesium.Color;
speed?: number;
});
/**
* 颜色
*/
color: Cesium.Color;
/**
* 背景颜色
*/
bgColor: Cesium.Color;
/**
* 速度,值越大越快
*/
speed: number;
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 面状: 霓虹灯材质
* @param [options] - 参数对象,包括以下:
* @param [options.color = "#9b08fd"] - 颜色
* @param [options.speed = 2] - 速度,值越大越快
*/
declare class NeonLightMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
color?: string | Cesium.Color;
speed?: number;
});
/**
* 颜色
*/
color: Cesium.Color;
/**
* 速度
*/
speed: number;
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 线状 OD线效果 材质
* @param [options] - 参数对象,包括以下:
* @param [options.color = 随机色] - 运动对象的颜色
* @param [options.bgColor] - 线的背景颜色
* @param [options.speed = 20 + 10 * Math.random()] - 速度
* @param [options.startTime = Math.random] - 开始的时间系数
* @param [options.bidirectional = 0] - 运行形式:0 正向运动 1 反向运动 2 双向运动
*/
declare class ODLineMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
color?: string | Cesium.Color;
bgColor?: string | Cesium.Color;
speed?: number;
startTime?: number;
bidirectional?: number;
});
/**
* 运动对象的颜色
*/
color: Cesium.Color;
/**
* 线的背景颜色
*/
bgColor: Cesium.Color;
/**
* 速度
*/
speed: number;
/**
* 开始的时间系数
*/
startTime: number;
/**
* 运行形式:0 正向运动 1 反向运动 2 双向运动
*/
bidirectional: number;
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 面状: 柏油路面效果 材质
* @param [options] - 参数对象,包括以下:
* @param [options.color = Cesium.Color.ORANGE] - 颜色
* @param [options.size = 0.02] - 块大小
* @param [options.frequency = 0.2] - 粗糙度
*/
declare class PolyAsphaltMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
color?: Cesium.Color;
size?: number;
frequency?: number;
});
/**
* 颜色
*/
color: Cesium.Color;
/**
* 块大小
*/
size: number;
/**
* 粗糙度
*/
frequency: number;
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 面状:混合 材质
* @param [options] - 参数对象,包括以下:
* @param [options.evenColor = new Cesium.Color(1.0, 1.0, 1.0, 0.5)] - 浅色的颜色
* @param [options.oddColor = new Cesium.Color(0.0, 0.0, 1.0, 0.5)] - 深色的颜色
* @param [options.frequency = 10.0] - 频率
*/
declare class PolyBlobMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
evenColor?: Cesium.Color;
oddColor?: Cesium.Color;
frequency?: number;
});
/**
* 浅色的颜色
*/
evenColor: Cesium.Color;
/**
* 深色的颜色
*/
oddColor: Cesium.Color;
/**
* 频率
*/
frequency: number;
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 面状:碎石面 材质
* @param [options] - 参数对象,包括以下:
* @param [options.evenColor = new Cesium.Color(1.0, 1.0, 1.0, 0.5)] - 浅色的颜色
* @param [options.oddColor = new Cesium.Color(0.0, 0.0, 1.0, 0.5)] - 深色的颜色
* @param [options.frequency = 10.0] - 频率
*/
declare class PolyFacetMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
evenColor?: Cesium.Color;
oddColor?: Cesium.Color;
frequency?: number;
});
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
}
/**
* 面状: 渐变面 材质
* @param [options] - 参数对象,包括以下:
* @param [options.color = new Cesium.Color(1.0, 1.0, 0.0, 0.5)] - 颜色
* @param [options.alphaPower = 1.5] - 透明度系数
* @param [options.diffusePower = 1.6] - 漫射系数
* @param [options.center = new Cesium.Cartesian2(0.5, 0.5)] - 渐变位置,默认在中心
*/
declare class PolyGradientMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
color?: string | Cesium.Color;
alphaPower?: number;
diffusePower?: number;
center?: Cesium.Cartesian2;
});
/**
* 颜色
*/
color: Cesium.Color;
/**
* 漫射系数
*/
diffusePower: number;
/**
* 透明度系数
*/
alphaPower: number;
/**
* 渐变位置,默认在中心
*/
center: Cesium.Cartesian2;
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 面状:草地面 材质
* @param [options] - 参数对象,包括以下:
* @param [options.evenColor = new Cesium.Color(1.0, 1.0, 1.0, 0.5)] - 浅色的颜色
* @param [options.oddColor = new Cesium.Color(0.0, 0.0, 1.0, 0.5)] - 深色的颜色
* @param [options.frequency = 10.0] - 频率
*/
declare class PolyGrassMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
evenColor?: Cesium.Color;
oddColor?: Cesium.Color;
frequency?: number;
});
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
}
/**
* 面状:混合 材质
* @param [options] - 参数对象,包括以下:
* @param [options.evenColor = new Cesium.Color(1.0, 1.0, 1.0, 0.5)] - 浅色的颜色
* @param [options.oddColor = new Cesium.Color(0.0, 0.0, 1.0, 0.5)] - 深色的颜色
* @param [options.frequency = 3.0] - 环频率
* @param [options.noiseScale = new Cesium.Cartesian2(0.7, 0.5)] - 噪波比例
* @param [options.grainFrequency = 27.0] - 颗粒的频率
*/
declare class PolyWoodMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
evenColor?: Cesium.Color;
oddColor?: Cesium.Color;
frequency?: number;
noiseScale?: Cesium.Cartesian2;
grainFrequency?: number;
});
/**
* 浅色的颜色
*/
evenColor: Cesium.Color;
/**
* 深色的颜色
*/
oddColor: Cesium.Color;
/**
* 环频率
*/
frequency: number;
/**
* 噪波比例
*/
noiseScale: Cesium.Cartesian2;
/**
* 颗粒的频率
*/
grainFrequency: number;
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 圆形: 雷达线(圆+旋转半径线) 材质
* @param [options] - 参数对象,包括以下:
* @param [options.color = new Cesium.Color(1, 0, 0, 1.0)] - 颜色
* @param [options.speed = 5.0] - 速度,值越大越快
*/
declare class RadarLineMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
color?: Cesium.Color;
speed?: number;
});
/**
* 颜色
*/
color: Cesium.Color;
/**
* 速度
*/
speed: number;
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 圆形: 雷达线(圆+旋转半径线) 材质
* @param [options] - 参数对象,包括以下:
* @param [options.color = new Cesium.Color(1, 0, 0, 1.0)] - 颜色
* @param [options.speed = 5.0] - 速度,值越大越快
*/
declare class RadarWaveMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
color?: Cesium.Color;
speed?: number;
});
/**
* 颜色
*/
color: Cesium.Color;
/**
* 速度
*/
speed: number;
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 矩形面: 轮播图 材质
* @param [options] - 参数对象,包括以下:
* @param options.image - 图片URL
* @param [options.color = Cesium.Color.WHITE] - 颜色和透明度
* @param [options.speed = 1] - 速度,值越大越快
* @param [options.pure = false] - 是否纯色
*/
declare class RectSlideMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
image: string;
color?: Cesium.Color;
speed?: number;
pure?: boolean;
});
/**
* 背景图片URL
*/
image: string;
/**
* 背景图片颜色
*/
color: Cesium.Color;
/**
* 速度,值越大越快
*/
speed: number;
/**
* 是否纯色
*/
pure: boolean;
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 面状: 用于面状对象的 扫描线放大效果 材质属性
* @param [options] - 参数对象,包括以下:
* @param [options.color = Cesium.Color.YELLOW] - 颜色
* @param [options.speed = 10] - 速度
*/
declare class ScanLineMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
color?: string | Cesium.Color;
speed?: number;
});
/**
* 颜色
*/
color: Cesium.Color;
/**
* 速度
*/
speed: number;
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 文字贴图 entity材质
* @param [options] - 参数对象,包括以下:
* @param [options.text] - 文本内容
* @param [options.font_family = "楷体"] - 字体 ,可选项:微软雅黑,宋体,楷体,隶书,黑体,
* @param [options.font_size = 30] - 字体大小
* @param [options.font_weight = "normal"] - 是否加粗 ,可选项:bold (解释:是),normal (解释:否),
* @param [options.font_style = "normal"] - 是否斜体 ,可选项:italic (解释:是),normal (解释:否),
* @param [options.font = '30px normal normal 楷体'] - 上叙4个属性的一次性指定CSS字体的属性。
* @param [options.fill = true] - 是否填充
* @param [options.color = "#ffff00"] - 文本颜色
* @param [options.stroke = false] - 是否描边文本。
* @param [options.strokeColor = new Cesium.Color(1.0, 1.0, 1.0, 0.8)] - 描边的颜色。
* @param [options.strokeWidth = 2] - 描边的宽度。
* @param [options.background = false] - 是否背景色。
* @param [options.backgroundColor = new Cesium.Color(1.0, 1.0, 1.0, 0.1)] - 画布的背景色。
* @param [options.outlineWidth] - 边框的宽度。
* @param [options.outlineColor = color] - 矩形边框的颜色。
* @param [options.padding = 10] - 要在文本周围添加的填充的像素大小。
* @param [options.textBaseline = 'top'] - 文本的基线。
* @param [options.onCustomCanvas] - 支持对生成后的Canvas做自定义处理。
*/
declare class TextMaterialProperty extends Image2MaterialProperty {
constructor(options?: {
text?: string;
font_family?: string;
font_size?: number;
font_weight?: string;
font_style?: string;
font?: string;
fill?: boolean;
color?: string;
stroke?: boolean;
strokeColor?: Cesium.Color;
strokeWidth?: number;
background?: boolean;
backgroundColor?: Cesium.Color;
outlineWidth?: number;
outlineColor?: Cesium.Color;
padding?: number;
textBaseline?: string;
onCustomCanvas?: (...params: any[]) => any;
});
/**
* 是否透明
*/
transparent: boolean;
/**
* 文本内容
*/
text: string;
/**
* 文本样式
*/
textStyles: any;
/**
* 背景图片URL
*/
image: string;
}
/**
* 墙体: 走马灯围墙 材质
* @param [options] - 参数对象,包括以下:
* @param options.image - 背景图片URL
* @param [options.color = new Cesium.Color(1, 0, 0, 1.0)] - 背景图片颜色
* @param [options.count = 1] - 数量
* @param [options.reverse = false] - 方向,false是往下,true是往上
* @param [options.speed = 5.0] - 速度,值越大越快
* @param [options.bloom = false] - 是否泛光
* @param [options.axisY = false] - 是否Y轴朝上
*/
declare class WallScrollMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
image: string;
color?: string | Cesium.Color;
count?: number;
reverse?: number;
speed?: number;
bloom?: boolean;
axisY?: boolean;
});
/**
* 背景图片URL
*/
image: string;
/**
* 背景图片颜色
*/
color: Cesium.Color;
/**
* 速度
*/
speed: number;
/**
* 数量
*/
count: number;
/**
* 方向,false是往下,true是往上
*/
reverse: boolean;
/**
* 是否Y轴朝上
*/
axisY: boolean;
/**
* 是否泛光
*/
bloom: boolean;
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 线状 流动效果 材质
* @param [options] - 参数对象,包括以下:
* @param options.specularMap - 图片路径,镜面反射纹理材质图片
* @param [options.normalMap = Cesium.Material.DefaultImageId] - 图片路径,水正常扰动的法线图材质图片
* @param [options.alpha = 0.2] - 透明度
*/
declare class WaterLightMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
specularMap: string;
normalMap?: string;
alpha?: number;
});
/**
* 图片路径,镜面反射纹理材质图片
*/
specularMap: string;
/**
* 图片路径,水正常扰动的法线图材质图片
*/
normalMap: string;
/**
* 透明度
*/
alpha: number;
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 水面效果材质
* @param [options] - 参数对象,包括以下:
* @param [options.baseWaterColor = new Cesium.Color(0.2, 0.3, 0.6, 1.0)] - 基础颜色
* @param [options.blendColor = new Cesium.Color(0.0, 1.0, 0.699, 1.0)] - 从水中混合到非水域时使用的rgba颜色
* @param [options.specularMap] - 单一通道纹理用来指示水域的面积
* @param [options.normalMap] - 水正常扰动的法线图
* @param [options.frequency = 100] - 控制波数的数字
* @param [options.animationSpeed = 0.01] - 控制水的动画速度的数字
* @param [options.amplitude = 10] - 控制水波振幅的数字
* @param [options.specularIntensity = 0.5] - 控制镜面反射强度的数字
* @param [options.fadeFactor = 1.0] - 衰减因子
*/
declare class WaterMaterialProperty extends BaseMaterialProperty {
constructor(options?: {
baseWaterColor?: string | Cesium.Color;
blendColor?: string | Cesium.Color;
specularMap?: string;
normalMap?: string;
frequency?: number;
animationSpeed?: number;
amplitude?: number;
specularIntensity?: number;
fadeFactor?: number;
});
/**
* 基础颜色
*/
baseWaterColor: Cesium.Color;
/**
* 从水中混合到非水域时使用的rgba颜色
*/
blendColor: Cesium.Color;
/**
* 单一通道纹理用来指示水域的面积
*/
specularMap: string;
/**
* 水正常扰动的法线图
*/
normalMap: string;
/**
* 控制波数的数字
*/
frequency: number;
/**
* 控制水的动画速度的数字
*/
animationSpeed: number;
/**
* 控制水波振幅的数字
*/
amplitude: number;
/**
* 控制镜面反射强度的数字
*/
specularIntensity: number;
/**
* 衰减因子
*/
fadeFactor: number;
/**
* 获取 材质名称
* @param [time] - 检索值的时间。
* @returns 材质名称
*/
getType(time?: Cesium.JulianDate): string;
/**
* 获取所提供时间的属性值。
* @param [time] - 检索值的时间。
* @param [result] - 用于存储值的对象,如果省略,则创建并返回一个新的实例。
* @returns 修改的result参数或一个新的实例(如果没有提供result参数)。
*/
getValue(time?: Cesium.JulianDate, result?: any): any;
/**
* 将此属性与提供的属性进行比较并返回, 如果两者相等返回true,否则为false
* @param [other] - 比较的对象
* @returns 两者是同一个对象
*/
equals(other?: Cesium.Property): boolean;
}
/**
* 圆锥 波纹扩散效果 材质
* @example
* let primitive = new mars3d.graphic.CylinderPrimitive({
* position: [116.328775, 30.954602, 5000],
* style: {
* topRadius: 0.0,
* bottomRadius: 1500.0,
* length: 10000.0,
* material: new mars3d.material.CylinderWaveMaterial({
* color: 'rgba(255,0,0,0.7)',
* repeat: 30.0,
* }),
* faceForward: false,
* closed: true,
* },
* })
* graphicLayer.addGraphic(primitive)
* @param [options] - 参数对象,包括以下:
* @param [options.color = new Cesium.Color(2, 1, 0.0, 0.8)] - 颜色
* @param [options.repeat = 30] - 圈数量
* @param [options.thickness = 0.3] - 圈的宽度比例
* @param [options.speed = 10] - 速度,值越大越快
*/
declare class CylinderWaveMaterial extends Cesium.Material {
constructor(options?: {
color?: string | Cesium.Color;
repeat?: number;
thickness?: number;
speed?: number;
});
}
/**
* 文字贴图 primitive材质
* @example
* let primitive = new mars3d.graphic.WallPrimitive({
* positions: [
* [121.479343, 29.791419, 25],
* [121.479197, 29.791474, 25],
* ],
* style: {
* diffHeight: 5,
* material: new mars3d.material.TextMaterial({
* text: "火星科技",
* color: "#3388cc",
* outlineWidth: 4,
* }),
* },
* })
* graphicLayer.addGraphic(primitive)
* @param [options] - 参数对象,包括以下:
* @param [options.text] - 文本内容
* @param [options.font_family = "楷体"] - 字体 ,可选项:微软雅黑,宋体,楷体,隶书,黑体,
* @param [options.font_size = 30] - 字体大小
* @param [options.font_weight = "normal"] - 是否加粗 ,可选项:bold (解释:是),normal (解释:否),
* @param [options.font_style = "normal"] - 是否斜体 ,可选项:italic (解释:是),normal (解释:否),
* @param [options.font = '30px normal normal 楷体'] - 上叙4个属性的一次性指定CSS字体的属性。
* @param [options.fill = true] - 是否填充
* @param [options.color = new Cesium.Color(1.0, 1.0, 0.0, 1.0)] - 文本颜色
* @param [options.stroke = false] - 是否描边文本。
* @param [options.strokeColor = new Cesium.Color(1.0, 1.0, 1.0, 0.8)] - 描边的颜色。
* @param [options.strokeWidth = 2] - 描边的宽度。
* @param [options.background = false] - 是否背景色。
* @param [options.backgroundColor = new Cesium.Color(1.0, 1.0, 1.0, 0.1)] - 画布的背景色。
* @param [options.outlineWidth] - 边框的宽度。
* @param [options.outlineColor = color] - 矩形边框的颜色。
* @param [options.padding = 10] - 要在文本周围添加的填充的像素大小。
* @param [options.textBaseline = 'top'] - 文本的基线。
*/
declare class TextMaterial extends Cesium.Material {
constructor(options?: {
text?: string;
font_family?: string;
font_size?: number;
font_weight?: string;
font_style?: string;
font?: string;
fill?: boolean;
color?: string;
stroke?: boolean;
strokeColor?: Cesium.Color;
strokeWidth?: number;
background?: boolean;
backgroundColor?: Cesium.Color;
outlineWidth?: number;
outlineColor?: Cesium.Color;
padding?: number;
textBaseline?: string;
});
}
/**
* Echarts图层,
* 【需要引入 echarts 库 和 mars3d-echarts 插件库】
* @param [options] - 参数对象,包括以下:
* @param [options.Echarts本身] - 支持Echarts本身所有Options参数,具体查阅 [Echarts配置项手册]{@link https://echarts.apache.org/zh/option.html}
* @param [options.depthTest = true] - 是否进行计算深度判断,在地球背面或被遮挡时不显示(大数据时,需要关闭)
* @param [options.fixedHeight = 0] - 点的固定的海拔高度
* @param [options.clampToGround = false] - 点是否贴地
* @param [options.pointerEvents = false] - 图层是否可以进行鼠标交互,为false时可以穿透操作及缩放地图
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class EchartsLayer extends BaseLayer {
constructor(options?: {
Echarts本身?: any;
depthTest?: boolean;
fixedHeight?: number;
clampToGround?: boolean;
pointerEvents?: boolean;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* echarts对象,是echarts.init方法返回的 echartsInstance 实例
*/
readonly layer: HTMLCanvasElement;
/**
* 是否可以鼠标交互,为false时可以穿透操作及缩放地图,但无法进行鼠标交互及触发相关事件。true时无法缩放地球,但可以使用echarts相关的事件或toolitp等。
*/
pointerEvents: boolean;
/**
* 改变图层canvas容器尺寸,在容器大小发生改变时需要手动调用。
* @returns 无
*/
resize(): void;
/**
* 设置图表实例的配置项以及数据,
* 万能接口,所有参数和数据的修改都可以通过 setOption 完成,
* ECharts 会合并新的参数和数据,然后刷新图表。
* 如果开启动画的话,ECharts 找到两组数据之间的差异然后通过合适的动画去表现数据的变化。
* @param option - 图表的配置项和数据,具体见 [Echarts配置项手册]{@link https://echarts.apache.org/zh/option.html}。
* @param [notMerge = false] - 是否不跟之前设置的 option 进行合并。默认为 false。即表示合并。合并的规则,详见 组件合并模式。如果为 true,表示所有组件都会被删除,然后根据新 option 创建所有新组件。
* @param [lazyUpdate = false] - 在设置完 option 后是否不立即更新图表,默认为 false,即同步立即更新。如果为 true,则会在下一个 animation frame 中,才更新图表。
* @returns 无
*/
setEchartsOption(option: any, notMerge?: boolean, lazyUpdate?: boolean): void;
/**
* 获取图层内所有数据的 矩形边界值
* @param [options] - 控制参数
* @param [options.isFormat = false] - 是否格式化,格式化时示例: { xmin: 73.16895, xmax: 134.86816, ymin: 12.2023, ymax: 54.11485 }
* @returns isFormat:true时,返回格式化对象,isFormat:false时返回Cesium.Rectangle对象
*/
getRectangle(options?: {
isFormat?: boolean;
}): Cesium.Rectangle | any;
/**
* 绑定事件处理函数,
* @param eventName - 事件名称,全小写,例如'click','mousemove', 'legendselected' ,可以参考[echarts官网说明]{@link https://echarts.apache.org/zh/api.html#echartsInstance.on}
* @param callback - 绑定的监听器回调方法
* @param [context] - 侦听器的上下文(this关键字将指向的对象)。
* @returns 当前对象本身,可以链式调用
*/
on(eventName: string, callback: (...params: any[]) => any, context?: any): EchartsLayer;
/**
* 带条件的绑定事件处理函数
* @param eventName - 事件名称,全小写,例如'click','mousemove', 'legendselected'
* @param query - 可选的过滤条件,能够只在指定的组件或者元素上进行响应。可以参考[echarts官网说明]{@link https://echarts.apache.org/zh/api.html#echartsInstance.on}
* @param callback - 绑定的监听器回调方法
* @param [context] - 侦听器的上下文(this关键字将指向的对象)
* @returns 当前对象本身,可以链式调用
*/
onByQuery(eventName: string, query: string | any, callback: (...params: any[]) => any, context?: any): EchartsLayer;
/**
* 解除绑定指定类型事件监听器
* @param eventName - 事件名称,全小写,例如'click','mousemove', 'legendselected'
* @param [callback] - 绑定的监听器回调方法,未传值时解绑所有指定类型对应事件
* @param [context] - 侦听器的上下文(this关键字将指向的对象)。
* @returns 当前对象本身,可以链式调用
*/
off(eventName: string, callback?: (...params: any[]) => any, context?: any): EchartsLayer;
}
/**
* 热力图图层,基于heatmap.js库渲染。
* 【需要引入 heatmap.js 库 和 mars3d-heatmap 插件库】
* @param options - 参数对象,包括以下:
* @param [options.positions] - 坐标数据集合(含value热力值),有热力值时,传入LatLngPoint数组,热力值为value字段。示例:[{lat:31.123,lng:103.568,value:1.2},{lat:31.233,lng:103.938,value:2.3}]
* @param [options.rectangle] - 坐标的矩形区域范围,默认内部自动计算
* @param options.rectangle.xmin - 最小经度值
* @param options.rectangle.xmax - 最大纬度值
* @param options.rectangle.ymin - 最小纬度值
* @param options.rectangle.ymax - 最大纬度值
* @param [options.max] - 数据集的value值上限,默认内部计算
* @param [options.min] - 数据集的value值下限,默认内部计算
* @param [options.heatStyle] - heatmap热力图本身configObject参数,详情也可查阅 [heatmap文档]{@link https://www.patrick-wied.at/static/heatmapjs/docs.html}
* @param [options.heatStyle.maxOpacity = 0.8] - 最大不透明度,取值范围0.0-1.0。
* @param [options.heatStyle.minOpacity = 0.1] - 最小不透明度,取值范围0.0-1.0。
* @param [options.heatStyle.blur = 0.85] - 将应用于所有数据点的模糊因子。模糊因子越高,渐变将越平滑
* @param [options.heatStyle.radius = 25] - 每个数据点将具有的半径(如果未在数据点本身上指定)
* @param [options.heatStyle.gradient] - 色带,表示渐变的对象,示例:{ 0.4: 'blue', 0.6: 'green',0.8: 'yellow',0.9: 'red' }
* @param [options.style] - 矢量对象样式参数,还包括:
* @param [options.style.opacity = 1] - 透明度
* @param [options.style.arc = false] - 是否显示曲面热力图
* @param [options.style.arcRadiusScale = 1.5] - 曲面热力图时,radius扩大比例
* @param [options.style.arcBlurScale = 1.5] - 曲面热力图时,blur扩大比例
* @param [options.style.height = 0] - 高度,相对于椭球面的高度。
* @param [options.style.diffHeight] - 曲面的起伏差值高,默认根据数据范围的比例自动计算。
* @param [options.style.多个参数] - rectangle矩形支持的样式
* @param [options.maxCanvasSize = 5000] - Canvas最大尺寸(单位:像素),调大精度更高,但过大容易内存溢出
* @param [options.minCanvasSize = 700] - Canvas最小尺寸(单位:像素)
* @param [options.delayTime = 2] - 显示数据时的过渡动画时长(单位:秒)
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class HeatLayer extends BaseLayer {
constructor(options: {
positions?: LngLatPoint[] | Cesium.Cartesian3[] | any;
rectangle?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
max?: number;
min?: number;
heatStyle?: {
maxOpacity?: number;
minOpacity?: number;
blur?: number;
radius?: number;
gradient?: any;
};
style?: {
opacity?: boolean;
arc?: boolean;
arcRadiusScale?: boolean;
arcBlurScale?: boolean;
height?: number;
diffHeight?: number;
多个参数?: RectanglePrimitive.StyleOptions | any;
};
maxCanvasSize?: number;
minCanvasSize?: number;
delayTime?: number;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 矢量数据图层
*/
readonly layer: GraphicLayer;
/**
* heatmap热力图本身configObject参数,详情也可查阅 [heatmap文档]{@link https://www.patrick-wied.at/static/heatmapjs/docs.html}
*/
heatStyle: any;
/**
* 矩形的样式参数
*/
style: RectanglePrimitive.StyleOptions | any;
/**
* 坐标数据集合(含value热力值),示例:[{lat:31.123,lng:103.568,value:1.2},{lat:31.233,lng:103.938,value:2.3}] 。
* 平滑更新建议使用setPositions方法
*/
positions: Cesium.Cartesian3[] | LngLatPoint[];
/**
* 位置坐标(数组对象),示例 [ [123.123456,32.654321,198.7], [111.123456,22.654321,50.7] ]
*/
readonly coordinates: any[][];
/**
* 坐标数据对应的矩形边界
*/
readonly rectangle: Cesium.Rectangle;
/**
* 添加新的坐标点(含热力值)
* @param item - 坐标点(含热力值),示例: {lat:31.123,lng:103.568,value:1.2}
* @param [isGD] - 是否固定区域坐标,true时可以平滑更新
* @returns 无
*/
addPosition(item: Cesium.Cartesian3 | LngLatPoint, isGD?: boolean): void;
/**
* 更新所有坐标点(含热力值)数据
* @param arr - 坐标点(含热力值),示例:[{lat:31.123,lng:103.568,value:1.2},{lat:31.233,lng:103.938,value:2.3}]
* @param [isGD] - 是否固定区域坐标,true时可以平滑更新
* @returns 无
*/
setPositions(arr: Cesium.Cartesian3[] | LngLatPoint[], isGD?: boolean): void;
/**
* 清除矢量对象
* @returns 无
*/
clear(): void;
/**
* 获取图层内所有数据的 矩形边界值
* @param [options] - 控制参数
* @param [options.isFormat = false] - 是否格式化,格式化时示例: { xmin: 73.16895, xmax: 134.86816, ymin: 12.2023, ymax: 54.11485 }
* @returns isFormat:true时,返回格式化对象,isFormat:false时返回Cesium.Rectangle对象
*/
getRectangle(options?: {
isFormat?: boolean;
}): Cesium.Rectangle | any;
/**
* 根据坐标点获取其对应的value值和颜色值
* @param item - 坐标点
* @returns 格式为 {"x":2081,"y":767,"value":3,"color":"rgba(209,231,0,195)"}
*/
getPointData(item: Cesium.Cartesian3 | LngLatPoint): any;
}
/**
* MapV图层
* 【需要引入 mapv.js 库 和 mars3d-mapv 插件库】
* @param options - 图层参数,包括:
* @param [options.data] - new mapv.DataSet(data)的data值,如有传入时可以用于替代dataSet参数
* @param [options.depthTest = true] - 是否进行计算深度判断,在地球背面或被遮挡时不显示(大数据时,需要关闭)
* @param [options.fixedHeight = 0] - 点的固定的海拔高度
* @param [options.clampToGround = false] - 点是否贴地
* @param [options.多个参数] - 支持mapv本身所有drawOptions图层样式参数,具体查阅 [mapv库drawOptions文档]{@link https://github.com/huiyan-fe/mapv/wiki/%E7%B1%BB%E5%8F%82%E8%80%83} ,也可以 [在线编辑图层样式]{@link https://mapv.baidu.com/editor/}
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
* @param [dataSet] - mapv.DataSet数据集,可以参考[ MapV数据集对象说明]{@link https://github.com/huiyan-fe/mapv/blob/master/src/data/DataSet.md}
*/
declare class MapVLayer extends BaseLayer {
constructor(options: {
data?: any;
depthTest?: boolean;
fixedHeight?: number;
clampToGround?: boolean;
多个参数?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
} | any, dataSet?: any);
/**
* 图层对应的Canvas对象
*/
readonly canvas: HTMLCanvasElement;
/**
* 新增mapv数据
* @param dataSet - mapv.DataSet数据集,可以参考[ MapV数据集对象说明]{@link https://github.com/huiyan-fe/mapv/blob/master/src/data/DataSet.md}
* @returns 无
*/
addData(dataSet: any): void;
/**
* 更新mapv数据
* @param dataSet - mapv.DataSet数据集,可以参考[ MapV数据集对象说明]{@link https://github.com/huiyan-fe/mapv/blob/master/src/data/DataSet.md}
* @returns 无
*/
updateData(dataSet: any): void;
/**
* 获取数据
* @returns mapv.DataSet数据集,可以参考[ MapV数据集对象说明]{@link https://github.com/huiyan-fe/mapv/blob/master/src/data/DataSet.md}
*/
getData(): any;
/**
* 删除指定数据
* @param data - mapv.DataSet数据集
* @returns 无
*/
removeData(data: any): void;
/**
* 删除所有数据
* @returns 无
*/
removeAllData(): void;
/**
* 重绘图层
* @returns 无
*/
draw(): void;
/**
* 改变图层canvas容器尺寸
* @returns 无
*/
resize(): void;
/**
* 获取图层内所有数据的 矩形边界值
* @param [options] - 控制参数
* @param [options.isFormat = false] - 是否格式化,格式化时示例: { xmin: 73.16895, xmax: 134.86816, ymin: 12.2023, ymax: 54.11485 }
* @returns isFormat:true时,返回格式化对象,isFormat:false时返回Cesium.Rectangle对象
*/
getRectangle(options?: {
isFormat?: boolean;
}): Cesium.Rectangle | any;
/**
* 绑定事件处理函数,
* @param eventName - 事件名称,全小写,例如'click','mouseMove'
* @param callback - 绑定的监听器回调方法
* @param [context] - 侦听器的上下文(this关键字将指向的对象)。
* @returns 当前对象本身,可以链式调用
*/
on(eventName: string, callback: (...params: any[]) => any, context?: any): EchartsLayer;
/**
* 解除绑定指定类型事件监听器
* @param eventName - 事件名称,全小写,例如'click','mouseMove'
* @param [callback] - 绑定的监听器回调方法,未传值时解绑所有指定类型对应事件
* @returns 当前对象本身,可以链式调用
*/
off(eventName: string, callback?: (...params: any[]) => any): EchartsLayer;
/**
* 从地图上移除,同map.removeThing
* @param [destroy] - 是否调用destroy释放
* @returns 无
*/
remove(destroy?: boolean): void;
}
/**
* 视锥体的类型
*/
declare enum SensorType {
/**
* 四棱锥
*/
Rect = 0,
/**
* 圆锥
*/
Conic = 1
}
/**
* 卫星TLE和SGP4相关算法类
* @param tle1 - 卫星两行轨道数(TLE) 的tle1,每行69个字符, 示例:'1 39150U 13018A 18309.20646405 .00000034 00000-0 12253-4 0 9993'
* @param tle2 - 卫星两行轨道数(TLE) 的tle2,每行69个字符, 示例:'2 39150 97.9189 29.2064 0018076 220.9170 139.0692 14.76532215297913'
* @param [name] - 卫星名称
*/
declare class Tle {
constructor(tle1: string, tle2: string, name?: string);
/**
* COSPAR国际代号,国际空间研究委员会制定.
*/
readonly cospar: string;
/**
* NORAD 空间目录号,北美空防司令部制定。
* tle1的第3-7列
*/
readonly norad: number;
/**
* 卫星类别(U表示不保密,可供公众使用的;C 表示保密,仅限NORAD使用;S表示保密的,仅限NORAD使用),
* tle1的第8列
*/
readonly classification: string;
/**
* 返回发射年份(最后两位数字),这是COSPAR id的一部分(国际指示器),
* tle1的第10–11列
*/
readonly intDesignatorYear: number;
/**
* 返回当年的发射顺序编号,这是COSPAR id的一部分(国际指示器),
* tle1的第12–14列
*/
readonly intDesignatorLaunchnumber: number;
/**
* 发射卫星个数(A表示是第一个,如果一次发射多颗卫星,使用26个英文字母排序;如果超过了26个编号,则使用两位字母,如AA、AB、AC编号),这是COSPAR id的一部分(国际指示器),
* tle1的第15–17列
*/
readonly intDesignatorPieceOfLaunch: string;
/**
* TLE历时(年份后两位),
* tle1的第19–20列
*/
readonly epochYear: number;
/**
* TLE历时 (用十进制小数表示一年中的第几日和日中的小数部分),
* tle1的第21–32列
*/
readonly epochDay: number;
/**
* 平均运动的一阶时间导数,用来计算每一天平均运动的变化带来的轨道漂移,提供给轨道计算软件预测卫星的位置。两行式轨道数据使用这个数据校准卫星的位置。
* tle1的第34–43列
*/
readonly firstTimeDerivative: number;
/**
* 平均运动的二阶时间导数,用来计算每一天平均运动的变化带来的轨道漂移,提供给轨道计算软件预测卫星的位置。
* tle1的第45–52列
*/
readonly secondTimeDerivative: number;
/**
* BSTAR阻力系数,用于大气阻力对卫星运动的影响。
* tle1的第45–52列
*/
readonly bstarDrag: number;
/**
* 美国空军空间指挥中心内部使用的为1;美国空军空间指挥中心以外公开使用标识为0。
* tle1的第63列
*/
readonly orbitModel: number;
/**
* 星历编号,TLE数据按新发现卫星的先后顺序的编号,
* tle1的第65–68列
*/
readonly tleSetnumber: number;
/**
* 校验和,指这一行的所有非数字字符,按照“字母、空格、句点、正号= 0;负号=1”的规则换算成0和1后,将这一行中原来的全部数字加起来,以10为模计算后所得的和。校验和可以检查出90%的数据存储或传送错误。按十进制加起来的个位数字的校验和,用于精确纠正误差。
* tle1的第69列
*/
readonly checksum1: number;
/**
* 轨道的交角是指天体的轨道面和地球赤道面之间的夹度,用0~90°来表示顺行轨道(从地球北极上空看是逆时针运行);用90~180°表示逆行轨道(从地球北极上空看是顺时针运行)。
* tle2的第09–16列
*/
readonly inclination: number;
/**
* 升交点赤经,升交点赤经是指卫星由南到北穿过地球赤道平面时,与地球赤道平面的交点。
* tle2的第18–25列
*/
readonly rightAscension: number;
/**
* 轨道偏心率,轨道离心率是指卫星椭圆轨道的中心点到地球的球心点的距离(c)除以卫星轨道半长轴(a)得到的一个0(圆型)到1(抛物线)之间的小数值。
* tle2的第27–33列
*/
readonly eccentricity: number;
/**
* 近地点幅角,
* tle2的第35–42列
*/
readonly perigee: number;
/**
* 平近点角,
* tle2的第44–51列
*/
readonly meanAnomaly: number;
/**
* 每天绕地球公转圈数(平均运动),
* tle2的第53–63列
*/
readonly meanMotion: number;
/**
* 卫星的运行周期(单位:分钟)
*/
readonly period: number;
/**
* 发射以来飞行的圈数,
* tle2的第64–68列
*/
readonly revnumberAtEpoch: number;
/**
* 校验和,
* tle2的第69列
*/
readonly checksum2: number;
/**
* 获取卫星指定时间所在的 ECEF坐标
* @param datetime - 指定的时间
* @returns ECEF(地心地固坐标系) 坐标
*/
getEcfPosition(datetime: Date | Cesium.JulianDate | number): Cesium.Cartesian3 | undefined;
/**
* 获取卫星指定时间所在的 ECI惯性坐标
* @param datetime - 指定的时间
* @returns ECI(地心惯性坐标系)坐标
*/
getEciPosition(datetime: Date | Cesium.JulianDate | number): Cesium.Cartesian3 | undefined;
/**
* 获取卫星指定时间所在的 ECI惯性坐标和地理坐标
* @param datetime - 指定的时间
* @returns ECI惯性坐标和地理坐标等信息
*/
getEciPositionAndGeodetic(datetime: Date | Cesium.JulianDate | number): any | undefined;
/**
* 获取卫星指定时间 所在的位置坐标(经纬度)
* @param datetime - 指定的时间
* @returns 卫星当前经纬度位置
*/
getPoint(datetime: Date | Cesium.JulianDate | number): LngLatPoint | undefined;
/**
* 获取 地面地点 对卫星的 天文观测值
* @param point - 地面地点经纬度坐标
* @param datetime - 指定的时间
* @returns 观测值
*/
getLookAngles(point: LngLatPoint, datetime: Date | Cesium.JulianDate | number): Tle.LookAngles;
/**
* 计算卫星指定时间所在的 经纬度位置
* @param tle1 - 卫星TLE的第一行
* @param tle2 - 卫星TLE的第二行
* @param datetime - 指定的时间
* @returns 卫星当前经纬度位置
*/
static getPoint(tle1: string, tle2: string, datetime: Date | Cesium.JulianDate | number): LngLatPoint | undefined;
/**
* 获取卫星指定时间所在的 ECEF坐标
* @param tle1 - 卫星TLE的第一行
* @param tle2 - 卫星TLE的第二行
* @param datetime - 指定的时间
* @returns ECEF(地心地固坐标系) 坐标
*/
static getEcfPosition(tle1: string, tle2: string, datetime: Date | Cesium.JulianDate | number): Cesium.Cartesian3 | undefined;
/**
* 获取 格林尼治恒星时(GMST)时间
* @param datetime - 时间对象
* @returns 格林尼治恒星时(GMST)时间
*/
static gstime(datetime: Date | Cesium.JulianDate): number;
/**
* ECI惯性系坐标 转换为 经纬度坐标
* @param positionEci - ECI(地心惯性坐标系) 坐标
* @param datetime - 指定时间, number时请传入格林尼治恒星时(GMST)时间
* @returns 经纬度坐标
*/
static eciToGeodetic(positionEci: Cesium.Cartesian3, datetime: Date | Cesium.JulianDate | number): LngLatPoint;
/**
* ECI坐标 转换为 ECEF坐标
* @param positionEci - ECI(地心惯性坐标系)坐标
* @param datetime - 指定时间, number时请传入格林尼治恒星时(GMST)时间
* @returns ECEF(地心地固坐标系) 坐标
*/
static eciToEcf(positionEci: Cesium.Cartesian3, datetime: Date | Cesium.JulianDate | number): Cesium.Cartesian3;
/**
* ECEF坐标 转换为 ECI坐标
* @param positionEcf - ECEF(地心地固坐标系) 坐标
* @param datetime - 指定时间, number时请传入格林尼治恒星时(GMST)时间
* @returns ECI(地心惯性坐标系)坐标
*/
static ecfToEci(positionEcf: Cesium.Cartesian3, datetime: Date | Cesium.JulianDate | number): Cesium.Cartesian3;
/**
* 卫星开普勒六根数转换到两行轨道根数
* @param startYear - 开始年,比如2017年时传入17
* @param startTime - 开始时间,每年1月1日0点为0,后逐渐累积,整数部分为日,小数部分为时分秒
* @param six - 轨道六根数,顺序为:
* Mean:平均运动(每日绕行圈数)必须小于100,
* Eccentricity:离心率(小数,小于1),
* Inclination:轨道的交角(deg),不能是负数,
* Argument of perigee :近地点角矩(deg),不超过360,
* RAAN :升交点赤经(deg),不超过360,
* Mean :在轨圈数
* @param name - 卫星两位数编号,如01,最多五位数
* @returns 两行轨道根数
*/
static coe2tle(startYear: number, startTime: number, six: number[], name: string): string[];
}
declare namespace Tle {
/**
* 从地面上某点的天文观测角度等值。
* @property position - 卫星的当前位置
* @property range - 与卫星的距离,单位:米
* @property azimuth - 方位角,角度值
* @property elevation - 仰角,角度值
*/
type LookAngles = {
position: Cesium.Cartesian3;
range: number;
azimuth: number;
elevation: number;
};
}
declare namespace CamberRadar {
/**
* 双曲面拱形雷达 支持的样式信息
* @property [color = "#00FF00"] - 颜色
* @property [opacity = 1.0] - 透明度, 取值范围:0.0-1.0
* @property [outline = true] - 是否边线
* @property [outlineColor = new Cesium.Color(1.0, 0.0, 0.0)] - 边线颜色
* @property startRadius - 内曲面半径 (单位:米)
* @property radius - 外曲面半径 (单位:米)
* @property [startFovH = Cesium.Math.toRadians(-50)] - 左横截面角度(弧度值)
* @property [endFovH = Cesium.Math.toRadians(50)] - 右横截面角度(弧度值)
* @property [startFovV = Cesium.Math.toRadians(5)] - 垂直起始角度(弧度值)
* @property [endFovV = Cesium.Math.toRadians(85)] - 垂直结束角度(弧度值)
* @property [segmentH = 60] - 垂直方向(类似经度线)分割数
* @property [segmentV = 20] - 水平方向(类似纬度线)分割数
* @property [heading = 0] - 方向角 (度数值,0-360度)
* @property [pitch = 0] - 俯仰角(度数值,0-360度)
* @property [roll = 0] - 翻滚角(度数值,0-360度)
*/
type StyleOptions = any | {
color?: string | Cesium.Color;
opacity?: number;
outline?: boolean;
outlineColor?: string | Cesium.Color;
startRadius: number;
radius: number;
startFovH?: number;
endFovH?: number;
startFovV?: number;
endFovV?: number;
segmentH?: number;
segmentV?: number;
subSegmentH?: number;
subSegmentV?: number;
heading?: number;
pitch?: number;
roll?: number;
};
}
/**
* 双曲面拱形雷达,该对象暂不支持鼠标交互和拾取,
* 【需要引入 mars3d-space 插件库】
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件
*/
declare class CamberRadar extends BasePointPrimitive {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
style: CamberRadar.StyleOptions | any;
attr?: any;
id?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 内曲面半径 (单位:米)
*/
startRadius: number;
/**
* 外曲面半径 (单位:米)
*/
radius: number;
/**
* 左横截面角度(弧度值)
*/
startFovV: number;
/**
* 右横截面角度(弧度值)
*/
endFovV: number;
/**
* 垂直起始角度(弧度值)
*/
startFovH: number;
/**
* 垂直结束角度(弧度值)
*/
endFovH: number;
/**
* 颜色
*/
color: Cesium.Color;
/**
* 设置透明度
* @param value - 透明度
* @returns 无
*/
setOpacity(value: number): void;
}
declare namespace ConicSensor {
/**
* 当前类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* graphic.on(mars3d.EventType.postUpdate, function (event) {
* console.log('对象更新了', event)
* })
* @property preUpdate - 更新前
* @property postUpdate - 更新后
*/
type EventType = {
preUpdate: string;
postUpdate: string;
};
/**
* 圆锥体(单目标雷达) 支持的样式信息
* @property [angle = 85] - 夹角,半场角度,取值范围 0.1-89.9
* @property [length = 100] - 半径长度(米)
* @property [heading = 0] - 方向角 (角度值 0-360)
* @property [pitch = 0] - 俯仰角(角度值 0-360)
* @property [roll = 0] - 翻滚角(角度值 0-360)
* @property [color = Cesium.Color.YELLOW] - 颜色
* @property [opacity = 1.0] - 透明度, 取值范围:0.0-1.0
* @property [outline = false] - 是否显示边线
* @property [outlineColor = color] - 边线颜色
* @property [topShow = true] - 是否显示顶
* @property [topOutlineShow = true] - 是否显示顶边线
* @property [shadowShow = false] - 是否显示地面投影
* @property [rayEllipsoid = false] - 是否求交地球计算动态length
* @property [hideRayEllipsoid = false] - 在地球相交时 是否隐藏
* @property [flat = false] - 当true时,在片段着色器中使用平面着色,不考虑光照。
* @property [faceForward = false] - 当true时,片段着色器根据需要翻转表面的法线,以确保法线面向查看器以避免黑点。
*/
type StyleOptions = any | {
angle?: number;
length?: number;
heading?: number;
pitch?: number;
roll?: number;
color?: string | Cesium.Color;
opacity?: number;
outline?: boolean;
outlineColor?: string | Cesium.Color;
topShow?: boolean;
topOutlineShow?: boolean;
shadowShow?: boolean;
rayEllipsoid?: boolean;
hideRayEllipsoid?: boolean;
flat?: boolean;
faceForward?: boolean;
};
}
/**
* 圆锥体(单目标雷达),
* 【需要引入 mars3d-space 插件库】
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.lookAt] - 椎体方向追踪的目标(椎体方向跟随变化,位置不变)
* @param [options.fixedFrameTransform = Cesium.Transforms.eastNorthUpToFixedFrame] - 参考系
* @param [options.revers = false] - 是否反转朝向
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
*/
declare class ConicSensor extends BasePointPrimitive {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
style: ConicSensor.StyleOptions | any;
attr?: any;
lookAt?: Cesium.Cartesian3 | Cesium.PositionProperty;
fixedFrameTransform?: Cesium.Transforms.LocalFrameToFixedFrame;
revers?: boolean;
id?: string | number;
name?: string;
show?: boolean;
});
/**
* 椎体方向追踪的目标(椎体方向跟随变化,位置不变)
*/
lookAt: Cesium.Cartesian3 | Cesium.PositionProperty;
/**
* 颜色
*/
color: Cesium.Color;
/**
* 边线颜色
*/
outlineColor: Cesium.Color;
/**
* 是否显示边线
*/
outline: boolean;
/**
* 是否显示顶
*/
topShow: boolean;
/**
* 是否显示顶边线
*/
topOutlineShow: boolean;
/**
* 夹角,半场角度,取值范围 0.1-89.9
*/
angle: number;
/**
* 半径长度(米)
*/
length: number;
/**
* 四周方向角,0-360度角度值
*/
heading: number;
/**
* 四周方向角,弧度值
*/
readonly headingRadians: number;
/**
* 俯仰角,上下摇摆的角度,0-360度角度值
*/
pitch: number;
/**
* 滚转角,左右摆动的角度,0-360度角度值
*/
roll: number;
/**
* 是否显示地面投影
*/
shadowShow: boolean;
/**
* 获取当前转换计算模型矩阵。如果方向或位置未定义,则返回undefined。
*/
readonly matrix: Cesium.Matrix4;
/**
* 获取视锥体射出length半径长度后的点坐标
*/
readonly rayPosition: Cesium.Cartesian3;
/**
* 是否反向
*/
readonly reverse: boolean;
/**
* 是否与地球相交,当rayEllipsoid:true时才有效。
*/
readonly intersectEllipsoid: boolean;
/**
* 设置透明度
* @param value - 透明度
* @returns 无
*/
setOpacity(value: number): void;
/**
* 获取射线向地面与地球的的大概距离
* @returns 距离值,单位:米
*/
getRayEarthLength(): number;
/**
* 获取射线向地面与地球的4个交点坐标
* @returns 坐标数组
*/
getRayEarthPositions(): Cesium.Cartesian3[];
/**
* 矢量数据对应的 Cesium内部对象 (不同子类中实现)
*/
readonly czmObject: Cesium.Entity | Cesium.Primitive | Cesium.GroundPrimitive | Cesium.ClassificationPrimitive | any;
}
declare namespace RectSensor {
/**
* 当前类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* graphic.on(mars3d.EventType.postUpdate, function (event) {
* console.log('对象更新了', event)
* })
* @property preUpdate - 更新前
* @property postUpdate - 更新后
*/
type EventType = {
preUpdate: string;
postUpdate: string;
};
/**
* 四棱锥体 支持的样式信息
* @property [angle1 = 5] - 夹角1,半场角度,取值范围 0.1-89.9
* @property [angle2 = 5] - 夹角2,半场角度,取值范围 0.1-89.9
* @property [angle = 5] - 夹角1和夹角2相同时,可以传入angle一个属性
* @property [length = 100] - 半径长度(米)
* @property [heading = 0] - 方向角 (角度值 0-360)
* @property [pitch = 0] - 俯仰角(角度值 0-360)
* @property [roll = 0] - 翻滚角(角度值 0-360)
* @property [color = Cesium.Color.YELLOW] - 颜色
* @property [opacity = 1.0] - 透明度, 取值范围:0.0-1.0
* @property [outline = false] - 是否显示边线
* @property [outlineColor = color] - 边线颜色
* @property [topShow = true] - 是否显示顶
* @property [topOutlineShow = outline] - 是否显示顶边线
* @property [topSteps = 8] - 顶边线数量
* @property [rayEllipsoid = false] - 是否求交地球计算动态length
* @property [hideRayEllipsoid = false] - 在地球相交时 是否隐藏
* @property [flat = false] - 当true时,在片段着色器中使用平面着色,不考虑光照。
* @property [faceForward = false] - 当true时,片段着色器根据需要翻转表面的法线,以确保法线面向查看器以避免黑点。
*/
type StyleOptions = any | {
angle1?: number;
angle2?: number;
angle?: number;
length?: number;
heading?: number;
pitch?: number;
roll?: number;
color?: string | Cesium.Color;
opacity?: number;
outline?: boolean;
outlineColor?: string | Cesium.Color;
topShow?: boolean;
topOutlineShow?: boolean;
topSteps?: number;
rayEllipsoid?: boolean;
hideRayEllipsoid?: boolean;
flat?: boolean;
faceForward?: boolean;
};
}
/**
* 四棱锥体,
* 【需要引入 mars3d-space 插件库】
* @param options - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.lookAt] - 椎体方向追踪的目标(椎体方向跟随变化,位置不变)
* @param [options.fixedFrameTransform = Cesium.Transforms.eastNorthUpToFixedFrame] - 参考系
* @param [options.revers = false] - 是否反转朝向
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
*/
declare class RectSensor extends BasePointPrimitive {
constructor(options: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
style: RectSensor.StyleOptions | any;
attr?: any;
lookAt?: Cesium.Cartesian3 | Cesium.PositionProperty;
fixedFrameTransform?: Cesium.Transforms.LocalFrameToFixedFrame;
revers?: boolean;
id?: string | number;
name?: string;
show?: boolean;
});
/**
* 椎体方向追踪的目标(椎体方向跟随变化,位置不变)
*/
lookAt: Cesium.Cartesian3 | Cesium.PositionProperty;
/**
* 颜色
*/
color: Cesium.Color;
/**
* 边线颜色
*/
outlineColor: Cesium.Color;
/**
* 是否显示边线
*/
outline: boolean;
/**
* 是否显示顶
*/
topShow: boolean;
/**
* 是否显示顶边线
*/
topOutlineShow: boolean;
/**
* 夹角(angle1和angle2相同),半场角度,取值范围 0.1-89.9
*/
angle: number;
/**
* 夹角1,半场角度,取值范围 0.1-89.9
*/
angle1: number;
/**
* 夹角2,半场角度,取值范围 0.1-89.9
*/
angle2: number;
/**
* 半径长度(米)
*/
length: number;
/**
* 四周方向角,0-360度角度值
*/
heading: number;
/**
* 四周方向角,弧度值
*/
readonly headingRadians: number;
/**
* 俯仰角,上下摇摆的角度,0-360度角度值
*/
pitch: number;
/**
* 滚转角,左右摆动的角度,0-360度角度值
*/
roll: number;
/**
* 获取当前转换计算模型矩阵。如果方向或位置未定义,则返回undefined。
*/
readonly matrix: Cesium.Matrix4;
/**
* 获取视锥体射出length半径长度后的点坐标
*/
readonly rayPosition: Cesium.Cartesian3;
/**
* 是否反向
*/
readonly reverse: boolean;
/**
* 是否与地球相交,当rayEllipsoid:true时才有效。
*/
readonly intersectEllipsoid: boolean;
/**
* 设置透明度
* @param value - 透明度
* @returns 无
*/
setOpacity(value: number): void;
/**
* 获取射线向地面与地球的的大概距离
* @returns 距离值,单位:米
*/
getRayEarthLength(): number;
/**
* 获取射线向地面与地球的4个交点坐标
* @returns 坐标数组
*/
getRayEarthPositions(): Cesium.Cartesian3[];
/**
* 矢量数据对应的 Cesium内部对象 (不同子类中实现)
*/
readonly czmObject: Cesium.Entity | Cesium.Primitive | Cesium.GroundPrimitive | Cesium.ClassificationPrimitive | any;
}
declare namespace Satellite {
/**
* 当前类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* graphic.on(mars3d.EventType.change, function (event) {
* console.log('卫星位置发送了变化', event)
* })
* @property change - 卫星位置变化了
*/
type EventType = {
change: string;
};
}
/**
* 卫星综合体 对象类【统一管理卫星模型、轨道、视锥体】,
* 【需要引入 mars3d-space 插件库】
* @param options - 参数对象,包括以下:
* @param options.tle1 - 卫星两行轨道数(TLE) 的tle1, 示例:'1 39150U 13018A 18309.20646405 .00000034 00000-0 12253-4 0 9993'
* @param options.tle2 - 卫星两行轨道数(TLE) 的tle2, 示例:'2 39150 97.9189 29.2064 0018076 220.9170 139.0692 14.76532215297913'
* @param [options.period] - 卫星运行周期(单位:分钟), 未传值时自动在tle2中解析
* @param options.position - 当没有tle时,自定义传入动态坐标位置(含时序的点集合)
* @param [options.orientation] - 当没有tle时,自定义传入实体方向
* @param [options.model] - 设置是否显示 gltf卫星模型 和对应的样式,属性还包含:
* // * @param {Boolean} [options.model.autoHeading=true] heading是否自动为轨道的方向
* @param [options.cone] - 设置是否显示 卫星视锥体 和对应的样式
* @param [options.label] - 设置是否显示 文本 和对应的样式
* @param [options.billboard] - 设置是否显示 图标点 和对应的样式
* @param [options.point] - 设置是否显示 像素点 和对应的样式
* @param [options.path] - 设置是否显示 卫星轨迹路线 和对应的样式,属性还包含:
* // * @param {Boolean} [options.path.closure=false] 是否闭合轨道圆
* @param [options.shadingLine] - 设置是否显示 星下轨迹 和对应的样式
* @param [options.fixedFrameTransform] - 参考系
* @param [options.frameRate = 50] - 多少帧刷新1次,控制效率,如果卡顿就把该数值调大一些。
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
*/
declare class Satellite extends BaseGraphic {
constructor(options: {
tle1: string;
tle2: string;
period?: number;
position: Cesium.SampledPositionProperty;
orientation?: Cesium.Property;
model?: ModelEntity.StyleOptions | any;
cone?: SatelliteSensor.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
billboard?: BillboardEntity.StyleOptions | any;
point?: PointEntity.StyleOptions | any;
path?: PolylineEntity.StyleOptions | any;
shadingLine?: BillboardEntity.StyleOptions | any;
fixedFrameTransform?: Cesium.Transforms.LocalFrameToFixedFrame;
frameRate?: number;
id?: string | number;
name?: string;
show?: boolean;
});
/**
* 加载Entity数据的内部Cesium容器
*/
readonly dataSource: Cesium.CustomDataSource;
/**
* 卫星TLE算法类对象
*/
readonly tle: Tle;
/**
* 圆锥的角度或者四棱锥的第一个角度,半场角度,取值范围 0.1-89.9
*/
angle1: number;
/**
* 四棱锥的第二个角度,半场角度,取值范围 0.1-89.9
*/
angle2: number;
/**
* 四周方向角,0-360度角度值
*/
heading: number;
/**
* 俯仰角,上下摇摆的角度,0-360度角度值
*/
pitch: number;
/**
* 滚转角,左右摆动的角度,0-360度角度值
*/
roll: number;
/**
* 是否显示视锥体
*/
coneShow: boolean;
/**
* 当前时间的卫星位置坐标 (笛卡尔坐标)
*/
position: Cesium.Cartesian3;
/**
* 获取当前时间转换计算模型矩阵。如果方向或位置未定义,则返回undefined。
*/
readonly modelMatrix: Cesium.Matrix4;
/**
* 获取卫星方向 中心射线与地球相交点
*/
readonly groundPosition: Cesium.Cartesian3;
/**
* 获取当前已计算的轨道的开始时间和结束时间,格式为{start:'2021-01-01 00:00:00',end:'2021-01-01 12:01:02'}
*/
readonly timeRange: any;
/**
* 卫星凝视的目标(卫星方向一直朝向这个目标所在位置)
*/
lookAt: Cesium.Cartesian3 | Cesium.PositionProperty;
/**
* 是否显示3个方向轴,用于对比测试
*/
debugAxis: boolean;
/**
* 显示3个方向轴时的对应轴长度,用于对比测试
*/
debugAxisLength: number;
/**
* 重新赋值参数,同构造方法参数一致。
* @param options - 参数,与类的构造方法参数相同
* @returns 无
*/
setOptions(options: any): void;
/**
* 单击轨迹连线上的点后,求该点对应的时间
* @param position - 轨迹连线上的某点
* @param [arr] - 轨迹的原始数组,默认为内部记录的轨迹
* @returns 对应的时间
*/
getPointTime(position: Cesium.Cartesian3, arr?: any): Date;
/**
* 更新角度
* @param [newangle] - 新角度值
* @param [newangle.heading = 0] - 方向角 (度数值,0-360度),如 model.autoHeading 为true,传入值无效
* @param [newangle.pitch = 0] - 俯仰角(度数值,0-360度)
* @param [newangle.roll = 0] - 翻滚角(度数值,0-360度)
* @returns 无
*/
updateOrientation(newangle?: {
heading?: number;
pitch?: number;
roll?: number;
}): void;
/**
* 定位到卫星当前所在位置
* @param [options = {}] - 具有以下属性的对象:
* @param [options.scale = 1.5] - 视角离卫星距离的缩放比例,计算公式:视角距离 = scale*卫星当前高度
* @param [options.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0至360
* @param [options.pitch] - 俯仰角度值,绕纬度线旋转角度, 0至360
* @param [options.roll] - 翻滚角度值,绕经度线旋转角度, 0至360
* @param [options.duration] - 飞行持续时间(秒)。如果省略,内部会根据飞行距离计算出理想的飞行时间。
* @param [options.complete] - 飞行完成后要执行的函数。
* @param [options.cancel] - 飞行取消时要执行的函数。
* @param [options.endTransform] - 表示飞行完成后摄像机将位于的参考帧的变换矩阵。
* @param [options.maximumHeight] - 飞行高峰时的最大高度。
* @param [options.pitchAdjustHeight] - 如果相机的飞行角度高于该值,请在飞行过程中调整俯仰角度以向下看,并将地球保持在视口中。
* @param [options.flyOverLongitude] - 地球上2点之间总是有两种方式。此选项会迫使相机选择战斗方向以在该经度上飞行。
* @param [options.flyOverLongitudeWeight] - 仅在通过flyOverLongitude指定的lon上空飞行,只要该方式的时间不超过flyOverLongitudeWeight的短途时间。
* @param [options.easingFunction] - 控制在飞行过程中如何插值时间。
* @returns 如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise
*/
flyTo(options?: {
scale?: number;
heading?: number;
pitch?: number;
roll?: number;
duration?: number;
complete?: Cesium.Camera.FlightCompleteCallback;
cancel?: Cesium.Camera.FlightCancelledCallback;
endTransform?: Cesium.Matrix4;
maximumHeight?: number;
pitchAdjustHeight?: number;
flyOverLongitude?: number;
flyOverLongitudeWeight?: number;
easingFunction?: Cesium.EasingFunction.Callback;
}): Promise;
/**
* 矢量数据对应的 Cesium内部对象 (不同子类中实现)
*/
readonly czmObject: Cesium.Entity | Cesium.Primitive | Cesium.GroundPrimitive | Cesium.ClassificationPrimitive | any;
/**
* 当前类的构造参数
*/
readonly options: any;
}
declare namespace SatelliteSensor {
/**
* 卫星视锥综合体(圆锥或四凌锥) 支持的样式信息
* @property [sensorType = SatelliteSensor.Type.Rect] - 视锥类型
* @property [angle1 = 5] - 圆锥的角度或者四棱锥的第一个角度,半场角度,取值范围 0.1-89.9
* @property [angle2 = 5] - 四棱锥的第二个角度,半场角度,取值范围 0.1-89.9
* @property [angle = 5] - 夹角1和夹角2相同时,可以传入angle一个属性
* @property [length] - 指定的半径长度(米),默认与地球进行相交运算
* @property [heading = 0] - 方向角 (角度值 0-360)
* @property [pitch = 0] - 俯仰角(角度值 0-360)
* @property [roll = 0] - 翻滚角(角度值 0-360)
* @property [color = Cesium.Color.YELLOW] - 颜色
* @property [opacity = 1.0] - 透明度, 取值范围:0.0-1.0
* @property [outline = false] - 是否显示边线
* @property [outlineColor = color] - 边线颜色
* @property [rayEllipsoid = false] - 是否求交地球计算
*/
type StyleOptions = any | {
sensorType?: SatelliteSensor.Type;
angle1?: number;
angle2?: number;
angle?: number;
length?: number;
heading?: number;
pitch?: number;
roll?: number;
color?: string | Cesium.Color;
opacity?: number;
outline?: boolean;
outlineColor?: string | Cesium.Color;
rayEllipsoid?: boolean;
};
/**
* 视锥体类型
*/
enum Type {
Conic,
Rect
}
}
/**
* 卫星视锥综合体(圆锥或四凌锥),该对象暂不支持鼠标交互和拾取,
* 【需要引入 mars3d-space 插件库】
* @param [options] - 参数对象,包括以下:
* @param options.position - 坐标位置
* @param options.style - 样式信息
* @param [options.attr] - 附件的属性信息,可以任意附加属性,导出geojson或json时会自动处理导出。
* @param [options.lookAt] - 椎体方向追踪的目标(椎体方向跟随变化,位置不变)
* @param [options.trackedEntity] - 椎体跟随的卫星(椎体位置跟随变化,方向不变)
* @param [options.autoHeading] - 是否自动追踪trackedEntity目标的heading方向
* @param [options.fixedFrameTransform] - 参考系
* @param [options.revers = false] - 是否反转朝向
* @param [options.id = createGuid()] - 矢量数据id标识
* @param [options.name = ''] - 矢量数据名称
* @param [options.show = true] - 矢量数据是否显示
*/
declare class SatelliteSensor extends BasePointPrimitive {
constructor(options?: {
position: LngLatPoint | Cesium.Cartesian3 | number[];
style: SatelliteSensor.StyleOptions | any;
attr?: any;
lookAt?: Cesium.Cartesian3 | Cesium.PositionProperty;
trackedEntity?: Cesium.Entity;
autoHeading?: boolean;
fixedFrameTransform?: Cesium.Transforms.LocalFrameToFixedFrame;
revers?: boolean;
id?: string | number;
name?: string;
show?: boolean;
});
/**
* 椎体类型
*/
sensorType: SatelliteSensor.Type;
/**
* 颜色
*/
color: Cesium.Color;
/**
* 边线颜色
*/
outlineColor: Cesium.Color;
/**
* 夹角(angle1和angle2相同),半场角度,取值范围 0.1-89.9
*/
angle: number;
/**
* 圆锥的角度或者四棱锥的第一个角度,半场角度,取值范围 0.1-89.9
*/
angle1: number;
/**
* 四棱锥的第二个角度,半场角度,取值范围 0.1-89.9
*/
angle2: number;
/**
* 四周方向角,0-360度角度值
*/
heading: number;
/**
* 俯仰角,上下摇摆的角度,0-360度角度值
*/
pitch: number;
/**
* 滚转角,左右摆动的角度,0-360度角度值
*/
roll: number;
/**
* 是否显示边线
*/
outline: boolean;
/**
* 椎体跟随的卫星(椎体位置跟随变化,方向不变)
*/
trackedEntity: Cesium.Entity | ModelEntity;
/**
* 椎体方向追踪的目标(椎体方向跟随变化,位置不变)
*/
lookAt: Cesium.Entity;
/**
* 获取当前转换计算模型矩阵。如果方向或位置未定义,则返回undefined。
*/
readonly matrix: Cesium.Matrix4;
/**
* 获取视锥体方向中心射线与地球相交点
*/
readonly groundPosition: Cesium.Cartesian3;
/**
* 是否求交地球计算
*/
rayEllipsoid: boolean;
/**
* 与地球相交的类型:0不想交,1完全相交,2部分相交。
* 仅当rayEllipsoid:true时才有效。
*/
readonly intersectEllipsoid: number;
/**
* 设置透明度
* @param value - 透明度
* @returns 无
*/
setOpacity(value: number): void;
/**
* 导出成像区坐标
* @returns 成像区坐标,经、纬度坐标数组
*/
getAreaCoords(): any[][];
/**
* 位置坐标 (笛卡尔坐标), 赋值时可以传入LatLngPoint对象
*/
position: Cesium.Cartesian3 | LngLatPoint;
}
/**
* 超图S3M三维模型图层,
* 【需要引入 mars3d-supermap 插件库】
* @param [options] - 参数对象,包括以下:
* @param options.url - supermap的S3M服务地址,示例:"url": "http://www.supermapol.com/realspace/services/3D-Olympic/rest/realspace"
* @param [options.layername] - 指定图层名称,未指定时,打开iserver场景服务下所有图层
* @param [options.sceneName] - 工作空间中有多个场景,需要指定场景名称;设置为undefined,默认打开第一个
* @param [options.s3mOptions] - [S3M支持的参数]{@link http://support.supermap.com.cn:8090/webgl/docs/Documentation/S3MTilesLayer.html?classFilter=S3MTilesLayer} ,示例: {"selectEnabled":false},
* @param [options.position] - 模型新的中心点位置(移动模型)
* @param options.position.alt - 获取或设置底部高程。(单位:米)
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class S3MLayer extends BaseLayer {
constructor(options?: {
url: string;
layername?: string;
sceneName?: string;
s3mOptions?: any;
position?: {
alt: number;
};
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 模型对应的Cesium.S3MTilesLayer图层组
*/
readonly layer: any;
/**
* 设置S3M图层本身支持的参数
*/
s3mOptions: any;
/**
* 遍历每一个子图层并将其作为参数传递给回调函数
* @param method - 回调方法
* @param [context] - 侦听器的上下文(this关键字将指向的对象)。
* @returns 当前对象本身,可以链式调用
*/
eachLayer(method: (...params: any[]) => any, context?: any): GroupLayer;
/**
* 设置透明度
* @param value - 透明度
* @returns 无
*/
setOpacity(value: number): void;
/**
* 飞行定位至图层数据所在的视角
* @param [options = {}] - 参数对象:
* @param [options.radius] - 点状数据时,相机距离目标点的距离(单位:米)
* @param [options.scale = 1.2] - 线面数据时,缩放比例,可以控制视角比矩形略大一些,这样效果更友好。
* @param [options.duration] - 飞行时间(单位:秒)。如果省略,SDK内部会根据飞行距离计算出理想的飞行时间。
* @param [options.complete] - 飞行完成后要执行的函数。
* @param [options.cancel] - 飞行取消时要执行的函数。
* @param [options.endTransform] - 变换矩阵表示飞行结束时相机所处的参照系。
* @param [options.maximumHeight] - 飞行高峰时的最大高度。
* @param [options.pitchAdjustHeight] - 如果相机飞得比这个值高,在飞行过程中调整俯仰以向下看,并保持地球在视口。
* @param [options.flyOverLongitude] - 地球上的两点之间总有两条路。这个选项迫使相机选择战斗方向飞过那个经度。
* @param [options.flyOverLongitudeWeight] - 仅在通过flyOverLongitude指定的lon上空飞行,只要该方式的时间不超过flyOverLongitudeWeight的短途时间。
* @param [options.convert = true] - 是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。
* @param [options.easingFunction] - 控制在飞行过程中如何插值时间。
* @returns 如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise
*/
flyTo(options?: {
radius?: number;
scale?: number;
duration?: number;
complete?: Cesium.Camera.FlightCompleteCallback;
cancel?: Cesium.Camera.FlightCancelledCallback;
endTransform?: Cesium.Matrix4;
maximumHeight?: number;
pitchAdjustHeight?: number;
flyOverLongitude?: number;
flyOverLongitudeWeight?: number;
convert?: boolean;
easingFunction?: Cesium.EasingFunction.Callback;
}): Promise;
}
/**
* 超图影像瓦片服务图层,
* 【需要引入 mars3d-supermap 插件库】
* @param [options] - 参数对象,包括以下:
* @param options.url - supermap的影像服务地址
* @param [options.subdomains] - URL模板中用于 {s} 占位符的子域。 如果此参数是单个字符串,则字符串中的每个字符都是一个子域。如果是 一个数组,数组中的每个元素都是一个子域。
* @param [options.tileFormat] - 影像图片格式,默认为png。
* @param [options.transparent = true] - 设置请求的地图服务的参数是否为transparent。
* @param [options.transparentBackColor] - 设置影像透明色。
* @param [options.transparentBackColorTolerance] - 去黑边,设置影像透明色容限,取值范围为0.0~1.0。0.0表示完全透明,1.0表示完全不透明。
* @param [options.cacheKey] - 影像的三维缓存密钥。
* @param [options.minimumLevel = 0] - 瓦片所支持的最低层级,如果数据没有第0层,该参数必须配置,当地图小于该级别时,平台不去请求服务数据。
* @param [options.maximumLevel] - 瓦片所支持的最大层级,大于该层级时会显示上一层拉伸后的瓦片,当地图大于该级别时,平台不去请求服务数据。
* @param [options.minimumTerrainLevel] - 展示影像图层的最小地形细节级别,小于该级别时,平台不显示影像数据。
* @param [options.maximumTerrainLevel] - 展示影像图层的最大地形细节级别,大于该级别时,平台不显示影像数据。
* @param [options.rectangle] - 瓦片数据的矩形区域范围
* @param options.rectangle.xmin - 最小经度值, -180 至 180
* @param options.rectangle.xmax - 最大纬度值, -180 至 180
* @param options.rectangle.ymin - 最小纬度值, -90 至 90
* @param options.rectangle.ymax - 最大纬度值, -90 至 90
* @param [options.bbox] - bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。
* @param [options.zIndex] - 控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效)。
* @param [options.crs = CRS.EPSG:3857] - 瓦片数据的坐标系信息,默认为墨卡托投影
* @param [options.chinaCRS] - 标识瓦片的国内坐标系(用于自动纠偏或加偏),自动将瓦片转为map对应的chinaCRS类型坐标系。
* @param [options.proxy] - 加载资源时要使用的代理服务url。
* @param [options.templateValues] - 一个对象,用于替换Url中的模板值的键/值对
* @param [options.queryParameters] - 一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'},
* @param [options.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' },
* @param [options.enablePickFeatures = true] - 如果为true,则 {@link UrlTemplateImageryProvider#pickFeatures} 请求 pickFeaturesUrl 并尝试解释响应中包含的功能。
* 如果为 false{@link UrlTemplateImageryProvider#pickFeatures} 会立即返回未定义(表示没有可拾取的内容) 功能)而无需与服务器通信。如果您知道数据,则将此属性设置为false 源不支持选择功能,或者您不希望该提供程序的功能可供选择。注意 可以通过修改 {@link UriTemplateImageryProvider#enablePickFeatures}来动态覆盖 属性。
* @param [options.getFeatureInfoFormats] - 在某处获取功能信息的格式 调用 {@link UrlTemplateImageryProvider#pickFeatures} 的特定位置。如果这 参数未指定,功能选择已禁用。
* @param [options.opacity = 1.0] - 透明度,取值范围:0.0-1.0。
* @param [options.alpha = 1.0] - 同opacity。
* @param [options.nightAlpha = 1.0] - 当 enableLighting 为 true 时 ,在地球的夜晚区域的透明度,取值范围:0.0-1.0。
* @param [options.dayAlpha = 1.0] - 当 enableLighting 为 true 时,在地球的白天区域的透明度,取值范围:0.0-1.0。
* @param [options.brightness = 1.0] - 亮度
* @param [options.contrast = 1.0] - 对比度。 1.0使用未修改的图像颜色,小于1.0会降低对比度,而大于1.0则会提高对比度。
* @param [options.hue = 0.0] - 色调。 0.0 时未修改的图像颜色。
* @param [options.saturation = 1.0] - 饱和度。 1.0使用未修改的图像颜色,小于1.0会降低饱和度,而大于1.0则会增加饱和度。
* @param [options.gamma = 1.0] - 伽马校正值。 1.0使用未修改的图像颜色。
* @param [options.maximumAnisotropy = maximum supported] - 使用的最大各向异性水平 用于纹理过滤。如果未指定此参数,则支持最大各向异性 将使用WebGL堆栈。较大的值可使影像在水平方向上看起来更好 视图。
* @param [options.cutoutRectangle] - 制图矩形,用于裁剪此ImageryLayer的一部分。
* @param [options.colorToAlpha] - 用作Alpha的颜色。
* @param [options.colorToAlphaThreshold = 0.004] - 颜色到Alpha的阈值。
* @param [options.hasAlphaChannel = true] - 如果此图像提供者提供的图像为真 包括一个Alpha通道;否则为假。如果此属性为false,则为Alpha通道,如果 目前,将被忽略。如果此属性为true,则任何没有Alpha通道的图像都将 它们的alpha随处可见。当此属性为false时,内存使用情况 和纹理上传时间可能会减少。
* @param [options.tileWidth = 256] - 图像图块的像素宽度。
* @param [options.tileHeight = 256] - 图像图块的像素高度。
* @param [options.customTags] - 允许替换网址模板中的自定义关键字。该对象必须具有字符串作为键,并且必须具有值。
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class SmImgLayer extends BaseTileLayer {
constructor(options?: {
url: string;
subdomains?: string | string[];
tileFormat?: string;
transparent?: boolean;
transparentBackColor?: string | Cesium.Color;
transparentBackColorTolerance?: number;
cacheKey?: string;
minimumLevel?: number;
maximumLevel?: number;
minimumTerrainLevel?: number;
maximumTerrainLevel?: number;
rectangle?: {
xmin: number;
xmax: number;
ymin: number;
ymax: number;
};
bbox?: number[];
zIndex?: number;
crs?: CRS;
chinaCRS?: ChinaCRS;
proxy?: string;
templateValues?: any;
queryParameters?: any;
headers?: any;
enablePickFeatures?: boolean;
getFeatureInfoFormats?: Cesium.GetFeatureInfoFormat[];
opacity?: number;
alpha?: number | ((...params: any[]) => any);
nightAlpha?: number | ((...params: any[]) => any);
dayAlpha?: number | ((...params: any[]) => any);
brightness?: number | ((...params: any[]) => any);
contrast?: number | ((...params: any[]) => any);
hue?: number | ((...params: any[]) => any);
saturation?: number | ((...params: any[]) => any);
gamma?: number | ((...params: any[]) => any);
maximumAnisotropy?: number;
cutoutRectangle?: Cesium.Rectangle;
colorToAlpha?: Cesium.Color;
colorToAlphaThreshold?: number;
hasAlphaChannel?: boolean;
tileWidth?: number;
tileHeight?: number;
customTags?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 创建用于图层的 ImageryProvider对象
* @param options - Provider参数,同图层构造参数。
* @returns ImageryProvider类
*/
static createImageryProvider(options: any): Cesium.ImageryProvider;
/**
* 创建瓦片图层对应的ImageryProvider对象
* @param [options = {}] - 参数对象,具体每类瓦片图层都不一样。
* @returns 创建完成的 ImageryProvider 对象
*/
_createImageryProvider(options?: any): Cesium.UrlTemplateImageryProvider | any;
/**
* 对象添加到地图上的创建钩子方法,
* 每次add时都会调用
* @returns 无
*/
_addedHook(): void;
}
/**
* 超图MVT矢量瓦片图层,
* 【需要引入 mars3d-supermap 插件库】
* @param [options] - 参数对象,包括以下:
* @param options.url - 适用于通过SuperMap桌面软件生成mvt数据,经iServer发布为rest风格的地图服务,只需提供服务地址。
* @param options.layer - 图层名称,适用于第三方发布的WMTS服务。
* @param [options.canvasWidth] - 用来绘制矢量的纹理边长。默认是512,越大越精细,越小性能越高。
* @param [options.format = 'mvt'] - 适用于第三方发布的WMTS服务。
* @param [options.mapboxStyle] - 使用的mapBox风格。
* @param [options.多个参数] - 参考[supermap官方API]{@link http://support.supermap.com.cn:8090/webgl/docs/Documentation/Scene.html#addVectorTilesLayer}
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class SmMvtLayer extends BaseLayer {
constructor(options?: {
url: string;
layer: string;
canvasWidth?: number;
format?: string;
mapboxStyle?: any;
多个参数?: any;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 对应的supermap图层 Cesium.VectorTilesLayer
*/
readonly layer: any;
/**
* 设置透明度
* @param value - 透明度
* @returns 无
*/
setOpacity(value: number): void;
/**
* 飞行定位至图层数据所在的视角
* @param [options = {}] - 参数对象:
* @param [options.radius] - 点状数据时,相机距离目标点的距离(单位:米)
* @param [options.scale = 1.2] - 线面数据时,缩放比例,可以控制视角比矩形略大一些,这样效果更友好。
* @param [options.duration] - 飞行时间(单位:秒)。如果省略,SDK内部会根据飞行距离计算出理想的飞行时间。
* @param [options.complete] - 飞行完成后要执行的函数。
* @param [options.cancel] - 飞行取消时要执行的函数。
* @param [options.endTransform] - 变换矩阵表示飞行结束时相机所处的参照系。
* @param [options.maximumHeight] - 飞行高峰时的最大高度。
* @param [options.pitchAdjustHeight] - 如果相机飞得比这个值高,在飞行过程中调整俯仰以向下看,并保持地球在视口。
* @param [options.flyOverLongitude] - 地球上的两点之间总有两条路。这个选项迫使相机选择战斗方向飞过那个经度。
* @param [options.flyOverLongitudeWeight] - 仅在通过flyOverLongitude指定的lon上空飞行,只要该方式的时间不超过flyOverLongitudeWeight的短途时间。
* @param [options.convert = true] - 是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。
* @param [options.easingFunction] - 控制在飞行过程中如何插值时间。
* @returns 如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise
*/
flyTo(options?: {
radius?: number;
scale?: number;
duration?: number;
complete?: Cesium.Camera.FlightCompleteCallback;
cancel?: Cesium.Camera.FlightCancelledCallback;
endTransform?: Cesium.Matrix4;
maximumHeight?: number;
pitchAdjustHeight?: number;
flyOverLongitude?: number;
flyOverLongitudeWeight?: number;
convert?: boolean;
easingFunction?: Cesium.EasingFunction.Callback;
}): Promise;
}
/**
* 天地图 三维地名服务图层
* 【需要引入 mars3d-tdt 插件库】
* @param [options] - 参数对象,包括以下:
* @param [options.url = 'https://t{s}.tianditu.gov.cn/mapservice/GetTiles'] - 天地图服务地址
* @param [options.subdomains = '01234567'] - 服务负载子域
* @param [options.key = mars3d.Token.tianditu] - 天地图服务token令牌
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class TdtDmLayer extends BaseLayer {
constructor(options?: {
url?: string;
subdomains?: string;
key?: string;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 对象添加到地图上的创建钩子方法,
* 每次add时都会调用
* @returns 无
*/
_addedHook(): void;
/**
* 对象从地图上移除的创建钩子方法,
* 每次remove时都会调用
* @returns 无
*/
_removedHook(): void;
}
/**
* 天地图 地形服务
* 【需要引入 mars3d-tdt 插件库】
* @param [options] - 参数对象,包括以下:
* @param [options.url = 'https://t{s}.tianditu.gov.cn/DataServer'] - 天地图服务地址
* @param [options.subdomains = '01234567'] - 服务负载子域
* @param [options.key = mars3d.Token.tianditu] - 天地图服务token令牌
*/
declare class TdtTerrainProvider extends Cesium.TerrainProvider {
constructor(options?: {
url?: string;
subdomains?: string;
key?: string;
});
}
declare namespace BaseWidget {
/**
* widget 配置参数
* @property name - 必须,中文名称,用于标识和弹窗标题。
* @property uri - 必须,JS文件路径,路径是相对于widgets目录的路径。如:"widgets/bookmark/widget.js"
* @property [id] - 定义该插件的唯一标识,方便后续判断。
* @property [autoDisable = true] - 激活其他新插件时,是否自动释放本插件
* @property [disableOther = true] - 激活本插件时,是否释放其它已激活的插件
* @property [group] - 配置group后,同group下的widget互斥,打开任意一个会自动释放其他的
* @property [windowOptions] - 存在弹窗的插件的弹窗相关参数配置,更多参数请参考 [layer弹窗API]{@linkhttps://layui.gitee.io/v2/docs/modules/layer.html} 包括:
* @property [windowOptions.width] - 窗口宽度,可以是 像素数字(像素值) 或者 字符串(屏幕宽度百分比),示例:200 或 "20%"
* @property [windowOptions.height] - 窗口高度,可以是 像素数字(像素值) 或者 字符串(屏幕高度百分比),示例:600 或 "50%"
* @property [windowOptions.position = 'auto'] - 窗口所在位置坐标,配置字符串可选值:auto垂直水平居中,t顶部,b底部,r右边缘,l左边缘,lt左上角,lb左下角,rt右上角,rb右下角;也可以配置对象:
* @property [windowOptions.position.top] - 位置css的top值,可以是 像素数字(像素值) 或者 字符串(屏幕高度百分比),示例:10 或 "5%"
* @property [windowOptions.position.bottom] - 位置css的top值,可以是 像素数字(像素值) 或者 字符串(屏幕高度百分比),示例:10 或 "5%"
* @property [windowOptions.position.left] - 位置css的top值,可以是 像素数字(像素值) 或者 字符串(屏幕宽度百分比),示例:10 或 "5%"
* @property [windowOptions.position.right] - 位置css的top值,可以是 像素数字(像素值) 或者 字符串(屏幕宽度百分比),示例:10 或 "5%"
* @property [windowOptions.minHeight] - 限定的窗口最小高度(像素值),默认不限制
* @property [windowOptions.maxHeight] - 限定的窗口最大高度(像素值),默认不限制
* @property [windowOptions.minWidth] - 限定的窗口最小宽度(像素值),默认不限制
* @property [windowOptions.maxWidth] - 限定的窗口最大宽度(像素值),默认不限制
* @property [windowOptions.maxmin = true] - 是否可以在弹层右下角拖动来拉伸尺寸
* @property [windowOptions.shade = 0] - 遮罩,默认为0不显示,可配置数字0.3透明度的黑色背景('#000'),其他颜色,可以shade: [0.8, '#393D49']
* @property [windowOptions.shadeClose = false] - 当shade是存在的,点击弹层外区域后是否关闭弹窗。
* @property [windowOptions.closeBtn = 1] - 当为0时,不显示关闭按钮,配置1和2来展示两种风格的关闭按钮
* @property [windowOptions.noTitle = false] - 是否不显示标题,为true是不显示标题
* @property [windowOptions.show = true] - 激活后是否显示弹窗,false时激活后自动隐藏弹窗。
* @property [openAtStart = false] - 打开系统后是否自动启动本插件
* @property [style] - 添加到widget的view中的class样式名
* @property [css] - 添加到widget的css值
* @property [多个参数] - 传入数据等,定义的任意参数在widget内部方法中都可以通过this.config获取到
*/
type widgetOptions = {
name: string;
uri: string;
id?: string;
autoDisable?: boolean;
disableOther?: boolean;
group?: string;
windowOptions?: {
width?: number | string;
height?: number | string;
position?: {
top?: number | string;
bottom?: number | string;
left?: number | string;
right?: number | string;
};
minHeight?: number;
maxHeight?: number;
minWidth?: number;
maxWidth?: number;
maxmin?: boolean;
shade?: number | any[];
shadeClose?: boolean;
closeBtn?: number;
noTitle?: number;
show?: boolean;
};
openAtStart?: boolean;
style?: string;
css?: any;
多个参数?: any;
};
}
/**
* widget基础类,
* 需要继承后使用,不用手动实例化,框架内部自动实例化及相关处理。
* 【需要引入 mars3d-widget 插件库】
* @example
* //使用示例
* class MyWidget extends mars3d.widget.BaseWidget {
* //外部资源配置
* get resources() {
* return [
* 'js/test.js', //当前同目录下
* './lib/dom2img/dom-to-image.js', //主页面相同目录下
* ]
* }
* //弹窗配置
* get view() {
* return {
* type: 'window',
* url: 'view.html',
* windowOptions: { width: 250 },
* }
* }
* //初始化[仅执行1次]
* create() {}
* //每个窗口创建完成后调用
* winCreateOK(opt, result) {
* this.viewWindow = result
* }
* //打开激活
* activate() {}
* //关闭释放
* disable() {
* this.viewWindow = null
* }
* }
*
* //注册到widget管理器中。
* mars3d.widget.bindClass(MyWidget)
* @param map - 地图对象
* @param options - 配置参数
*/
declare class BaseWidget extends BaseClass {
constructor(map: Map, options: BaseWidget.widgetOptions);
/**
* 获取当前地图
*/
readonly map: Map;
/**
* 获取当前配置参数
*/
readonly options: BaseWidget.widgetOptions;
/**
* 获取当前配置参数,别名,同options
*/
readonly config: BaseWidget.widgetOptions;
/**
* 获取当前widget的目录路径
*/
readonly path: string;
/**
* 是否激活状态
*/
readonly isActivate: boolean;
/**
* 是否已创建
*/
readonly isCreate: boolean;
/**
* 该模块依赖的外部js、css资源文件,会在实例化之前加入的页面中。
* 默认引用是当前widget所在同path目录的资源,
* 相当于html主页面的资源 或 外部资源 请 以 “/” 或 “.” 或 “http” 开始的url
*/
readonly resources: string[];
/**
* 定义关联的view弹窗或页面配置信息,目前支持3种类型,
* (1)type:'window',iframe模式弹窗 ,参考_example示例, 独立的html子页面,比较自由,简单粗暴、无任何限制;可以每个页面用不同的UI和第三方插件不用考虑冲突问题;任何水平的开发人员均容易快速开发。
* (2)type:'divwindow',div元素模式弹窗 参考_example_divwin示例,可直接互相访问,这种模式弊端是易引起模块间id命名冲突,在css和html中命名时需注意。
* (3)type:'append',任意html元素 参考_example_append示例,任意div节点,比较自由。
* 为空时表示当前模块无关联的view页面,
* 其中url地址规则,参考resources说明
*/
readonly view: any | any;
/**
* 激活widget,同 mars3d.widget.activate方法
* @returns 无
*/
activateBase(): void;
/**
* 构造方法完成后的钩子方法,子类继承后按需使用
* @returns 无
*/
init(): void;
/**
* 模块初始化,仅首次初始化执行1次
* @param [endfun] - 当create内存在异步时,可以异步后调用下endfun
* @returns 无
*/
create(endfun?: (...params: any[]) => any): void;
/**
* 遍历所有view配置
* @param callback - 回调方法
* @param [index] - 当有多个view时,可以指定单个操作的view的index
* @returns callback执行的返回结果
*/
eachView(callback: (...params: any[]) => any, index?: number): any;
/**
* 更新窗口大小或位置,改变了主页面尺寸后需要调用(内部已自动调用)。
* @returns 无
*/
indexResize(): void;
/**
* 每个view窗口或页面创建完成后调用的钩子方法
* @param opt - 对应的view配置
* @param result - 得到iframe页的窗口对象 或 view的html内容
* @returns 无
*/
winCreateOK(opt: any, result: any | string): void;
/**
* 窗口最大化后触发后 的钩子方法
* @returns 无
*/
winFull(): void;
/**
* 窗口最小化后触发 的钩子方法
* @returns 无
*/
winMin(): void;
/**
* 最小化窗口
* @returns 无
*/
minView(): void;
/**
* 还原窗口
* @returns 无
*/
restoreView(): void;
/**
* 最大化窗口
* @returns 无
*/
fullView(): void;
/**
* 窗口还原后触发 的钩子方法
* @returns 无
*/
winRestore(): void;
/**
* 激活模块之前 的钩子方法
* @returns 无
*/
beforeActivate(): void;
/**
* 激活模块【类内部实现方法】
* @returns 无
*/
activate(): void;
/**
* 释放插件,同 mars3d.widget.disable方法
* @returns 无
*/
disableBase(): void;
/**
* 释放模块前
* @returns 无
*/
beforeDisable(): void;
/**
* 释放模块【类内部实现方法】
* @returns 无
*/
disable(): void;
/**
* 还原配置为初始状态
* @returns 无
*/
resetConfig(): void;
/**
* 设置view弹窗的显示和隐藏,基于修改css实现
* @param show - 是否显示
* @param [index] - 当有多个view时,可以指定单个操作的view的index
* @returns 无
*/
setViewShow(show: boolean, index?: number): void;
/**
* 设置view弹窗的css
* @param style - css值
* @param [index] - 当有多个view时,可以指定单个操作的view的index
* @returns 无
*/
setViewCss(style: any, index?: number): void;
/**
* 设置view弹窗的标题
* @param title - css值
* @param [index] - 当有多个view时,可以指定单个操作的view的index
* @returns 无
*/
setTitle(title: string, index?: number): void;
/**
* 读取html页面的内容
* @param url - html页面的url
* @param callback - 读取完成后的回调方法
* @returns 无
*/
getHtml(url: string, callback: (...params: any[]) => any): void;
}
/**
* widget事件类型枚举, mars3d.widget.EventType
* 【需要引入 mars3d-widget 插件库】
*/
declare enum WidgetEventType {
/**
* 在实例初始化之后、创建之前执行
*/
beforeCreate = "beforeCreate",
/**
* 实例创建后执行
*/
created = "created",
/**
* 在activat挂载开始之前调用
*/
beforeActivate = "beforeActivate",
/**
* activate方法调用后
*/
activated = "activated",
/**
* view弹窗构造完成后后调用
*/
openView = "openView",
/**
* 实例销毁之前调用
*/
beforeDisable = "beforeDisable",
/**
* 实例销毁完成调用
*/
disabled = "disabled",
/**
* 加载完成 未做任何其他处理前
*/
loadBefore = "loadBefore",
/**
* 加载完成,执行所有内部处理后
*/
load = "load"
}
/**
* widget模块化框架,公共处理类
* 【需要引入 mars3d-widget 插件库】
*/
declare namespace widget {
/**
* 初始化widget管理器,在构造完成map后调用一次即可。
* @example
* let widgetCfg ={
* "version": "2017",
* "defaultOptions": {
* "style": "dark",
* "windowOptions": {
* "skin": "layer-mars-dialog animation-scale-up",
* "position": {
* "top": 50,
* "right": 10
* },
* "maxmin": false,
* "resize": true
* },
* "autoReset": false,
* "autoDisable": true,
* "disableOther": true
* },
* "openAtStart": [
* {
* "name": "放大缩小按钮",
* "uri": "widgets/toolButton/zoom.js"
* }
* ],
* "widgets": [
* {
* "name": "模板-div弹窗",
* "uri": "widgets/_example_divwin/widget.js"
* },
* {
* "name": "模板-append模板",
* "uri": "widgets/_example_append/widget.js"
* }
* ]
* }
* mars3d.widget.init(map, widgetCfg, './')
* @param map - 地图对象
* @param [widgetcfg = {}] - 全局配置(一般存放在widget.json),包括:
* @param [widgetcfg.defaultOptions] - 所有widget的默认参数值,可以系统内所有widget相同配置统一在此处传入,额外的个性化的再配置到各widget中。
* @param [widgetcfg.openAtStart] - 默认自启动并不可释放的插件,其中autoDisable和openAtStart固定,设置无效。
* @param [widgetcfg.widgets] - 所有插件配置,传入后后续激活时,只用传入uri即可。
* @param [widgetcfg.version] - 加载资源时,附加的参数,主要为了清理浏览器缓存,可选值:"time"(实时时间戳)或固定的字符串值,每次发布新版本换下固定值。
* @param [widgetcfg.debugger] - 是否显示插件测试栏,true时会在地图下侧显示所有插件测试按钮,方便测试。
* @param [_basePath = ''] - widgets目录所在的主路径(统一前缀), 如果widgets目录不在主页面一起或存在路由时,可以传入自定义主目录,值为 widgets目录相对于当前html页面的相对路径。
* @returns 无
*/
function init(map: Map, widgetcfg?: {
defaultOptions?: BaseWidget.widgetOptions;
openAtStart?: BaseWidget.widgetOptions[];
widgets?: BaseWidget.widgetOptions[];
version?: string;
debugger?: boolean;
}, _basePath?: string): void;
/**
* 获取默认init时中传入配置的 windowOptions 参数
* @returns windowOptions参数默认值
*/
function getDefWindowOptions(): any;
/**
* 激活指定 widget模块
* @example
* //常用方式,直接使用uri
* mars3d.widget.activate("widgets/bookmark/widget.js");
*
* //使用对象,可以传入更多参数,具体参数参看配置项手册,。
* mars3d.widget.activate({
* name:"视角书签"
* uri: "widgets/bookmark/widget.js",
* autoDisable: true,
* testdata:'测试数据1987', //传数据进widget内部,widget内部使用this.config.testdata获取到传的数据
* success:function(thisWidget){
* //创建完成的回调方法
* }
* });
* @param item - 指widget模块的uri 或 指模块的配置参数,当有配置参数时,参数优先级是:
* 【activate方法传入的配置 > init方法传入的配置(widget.json) > widget.js内部配置的】
* @param [item.map] - 当单页面简单场景没有init时,也可以传入map来使用单个widget
* @param [noDisableOther = false] - 不释放其他已激活的widget
* @returns 指widget模块对象
*/
function activate(item: {
map?: Map;
}, noDisableOther?: boolean): BaseWidget.widgetOptions;
/**
* 获取指定的widget配置信息
* @param uri - widget的uri 或 id
* @returns widget配置信息
*/
function getWidget(uri: string): BaseWidget.widgetOptions;
/**
* 获取指定的widget 对应的实例化对象
* @param uri - widget的uri 或 id
* @returns widget对应的实例化对象
*/
function getClass(uri: string): BaseWidget;
/**
* 获取widget的当前激活状态
* @param uri - widget的uri 或 id
* @returns 是否激活
*/
function isActivate(uri: string): boolean;
/**
* 释放指定的widget
* @param uri - widget的uri 或 id
* @returns 是否成功调用了释放
*/
function disable(uri: string | string[]): boolean;
/**
* 关闭释放所有widget
* @param [nodisable] - 传string时 指定不释放的widget的uri或id ,传true值强制释放所有widget(默认autoDisable为false的widet不会释放)
* @param [group] - 指定强制释放的group名(默认autoDisable为false的widet不会释放),传入group值后会强制释放所有同group组的widget
* @returns 无
*/
function disableAll(nodisable?: string | boolean, group?: string): void;
/**
* 关闭释放同组widget
* @param group - 指定强制释放的group名
* @param [nodisable] - 指定不释放的widget的uri或id
* @returns 无
*/
function disableGroup(group: string, nodisable?: string): void;
/**
* 遍历所有widget
* @param method - 回调方法
* @returns 无
*/
function eachWidget(method: (...params: any[]) => any): void;
/**
* 绑定类到当前对应js的widget中。
* @param _class - 定义的BaseWidget子类
* @returns 实例化后的对象
*/
function bindClass(_class: BaseWidget): any;
/**
* 移除Widget测试栏(当有开启debugger时)
* @returns 无
*/
function removeDebugeBar(): void;
/**
* 获取配置的version配置参数,用于附加清除浏览器缓存
* @returns 配置的version参数
*/
function getCacheVersion(): string;
/**
* 获取init方法传入的主目录配置参数
* @returns 主目录配置参数
*/
function getBasePath(): string;
/**
* 销毁对象
* @returns 无
*/
function destroy(): void;
/**
* 绑定指定类型事件监听器
* @param types - 事件类型
* @param [fn] - 绑定的监听器回调方法
* @param [context] - 侦听器的上下文(this关键字将指向的对象)。
* @returns 无
*/
function on(types: WidgetEventType | WidgetEventType[], fn?: (...params: any[]) => any, context?: any): void;
/**
* 解除绑定指定类型事件监听器
* @param types - 事件类型
* @param [fn] - 绑定的监听器回调方法
* @param [context] - 侦听器的上下文(this关键字将指向的对象)。
* @returns 无
*/
function off(types: WidgetEventType | WidgetEventType[], fn?: (...params: any[]) => any, context?: any): void;
/**
* 触发指定类型的事件。
* @param type - 事件类型
* @param data - 传输的数据或对象,可在事件回调方法中event对象中获取进行使用
* @param [propagate] - 将事件传播给父类 (用addEventParent设置)
* @returns 无
*/
function fire(type: WidgetEventType, data: any, propagate?: BaseClass | any): void;
/**
* 绑定一次性执行的指定类型事件监听器
* 与on类似,监听器只会被触发一次,然后被删除。
* @param types - 事件类型
* @param [fn] - 绑定的监听器回调方法
* @param [context] - 侦听器的上下文(this关键字将指向的对象)。
* @returns 无
*/
function once(types: WidgetEventType | WidgetEventType[], fn?: (...params: any[]) => any, context?: any): void;
/**
* 是否有绑定指定的事件
* @param type - 事件类型
* @param [propagate] - 是否判断指定的父类 (用addEventParent设置的)
* @returns 是否存在
*/
function listens(type: WidgetEventType, propagate?: BaseClass): boolean;
}
declare namespace CanvasWindLayer {
/**
* Canvas风场图层, data数据结构
* @property rows - 行总数
* @property cols - 列总数
* @property xmin - 最小经度(度数,-180-180)
* @property xmax - 最大经度(度数,-180-180)
* @property ymin - 最小纬度(度数,-90-90)
* @property ymax - 最大纬度(度数,-90-90)
* @property udata - U值一维数组, 数组长度应该是 rows*cols 。也支持按rows行cols列构建好的二维数组。
* @property vdata - V值一维数组, 数组长度应该是 rows*cols 。也支持按rows行cols列构建好的二维数组。
*/
type DataOptions = {
rows: number;
cols: number;
xmin: number;
xmax: number;
ymin: number;
ymax: number;
udata: number[] | any[][];
vdata: number[] | any[][];
};
}
/**
* Canvas风场图层,
* 基于Canvas绘制,【需要引入 mars3d-wind 插件库】
* @param [options] - 参数对象,包括以下:
* @param [options.data] - 风场数据
* @param [options.speedRate = 50] - 风前进速率,意思是将当前风场横向纵向分成100份,再乘以风速就能得到移动位置,无论地图缩放到哪一级别都是一样的速度,可以用该数值控制线流动的快慢,值越大,越慢,
* @param [options.particlesnumber = 4096] - 初始粒子总数
* @param [options.maxAge = 120] - 每个粒子的最大生存周期
* @param [options.frameRate = 10] - 每秒刷新次数,因为requestAnimationFrame固定每秒60次的渲染,所以如果不想这么快,就把该数值调小一些
* @param [options.color = '#ffffff'] - 线颜色
* @param [options.lineWidth = 1] - 线宽度
* @param [options.fixedHeight = 0] - 点的固定的海拔高度
* @param [options.reverseY = false] - 是否翻转纬度数组顺序,正常数据是从北往南的(纬度从大到小),如果反向时请传reverseY为true
* @param [options.pointerEvents = false] - 图层是否可以进行鼠标交互,为false时可以穿透操作及缩放地图
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class CanvasWindLayer extends BaseLayer {
constructor(options?: {
data?: CanvasWindLayer.DataOptions;
speedRate?: number;
particlesnumber?: number;
maxAge?: number;
frameRate?: number;
color?: string;
lineWidth?: number;
fixedHeight?: number;
reverseY?: boolean;
pointerEvents?: boolean;
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 图层对应的Canvas对象
*/
readonly canvas: HTMLCanvasElement;
/**
* 线颜色
*/
color: string;
/**
* 线宽度
*/
lineWidth: number;
/**
* 点的固定的海拔高度
*/
fixedHeight: number;
/**
* 是否翻转纬度数组顺序,正常数据是从北往南的(纬度从大到小),如果反向时请传reverseY为true
*/
reverseY: boolean;
/**
* 图层对应的Canvas对象
*/
readonly layer: HTMLCanvasElement;
/**
* Canvas对象宽度(单位:像素)
*/
readonly canvasWidth: number;
/**
* Canvas对象高度(单位:像素)
*/
readonly canvasHeight: number;
/**
* 图层是否可以鼠标交互,为false时可以穿透操作及缩放地图
*/
pointerEvents: boolean;
/**
* 风前进速率,意思是将当前风场横向纵向分成100份,再乘以风速就能得到移动位置,无论地图缩放到哪一级别都是一样的速度,可以用该数值控制线流动的快慢,值越大,越慢,
*/
speedRate: number;
/**
* 初始粒子总数
*/
particlesnumber: number;
/**
* 每个粒子的最大生存周期
*/
maxAge: number;
/**
* 风场数据,数据结构见类的构造方法说明
*/
data: CanvasWindLayer.DataOptions;
/**
* 重绘,根据现有参数重新生成风场
* @returns 无
*/
redraw(): void;
/**
* 设置 风场数据
* @param data - 风场数据
* @returns 无
*/
setData(data: any): void;
/**
* 清除数据
* @returns 无
*/
clear(): void;
}
/**
* 风场相关 静态方法,【需要引入 mars3d-wind 插件库】
*/
declare namespace WindUtil {
/**
* 风速风向 转 U值
* @param speed - 风速
* @param direction - 风向
* @returns U值
*/
function getU(speed: number, direction: number): number;
/**
* 风速风向 转 V值
* @param speed - 风速
* @param direction - 风向
* @returns V值
*/
function getV(speed: number, direction: number): number;
/**
* UV值 转 风速, 风速是uv分量的平方和
* @param u - U值
* @param v - V值
* @returns 风速
*/
function getSpeed(u: number, v: number): number;
/**
* UV 转 风向
* @param u - U值
* @param v - V值
* @returns 风向
*/
function getDirection(u: number, v: number): number;
}
declare namespace WindLayer {
/**
* 风场图层, data数据结构
* @property rows - 行总数
* @property cols - 列总数
* @property xmin - 最小经度(度数,-180-180)
* @property xmax - 最大经度(度数,-180-180)
* @property ymin - 最小纬度(度数,-90-90)
* @property ymax - 最大纬度(度数,-90-90)
* @property udata - U值一维数组, 数组长度应该是 rows*cols。
* @property [umin] - 最小U值
* @property [umax] - 最大U值
* @property vdata - V值一维数组, 数组长度应该是 rows*cols。
* @property [vmin] - 最小v值
* @property [vmax] - 最大v值
*/
type DataOptions = {
rows: number;
cols: number;
xmin: number;
xmax: number;
ymin: number;
ymax: number;
udata: number[];
umin?: number;
umax?: number;
vdata: number[];
vmin?: number;
vmax?: number;
};
}
/**
* 风场图层,基于粒子实现,
* 【需要引入 mars3d-wind 插件库】
* @param [options] - 参数对象,包括以下:
* @param [options.data] - 风场数据
* @param [options.particlesnumber = 4096] - 初始粒子总数
* @param [options.fadeOpacity = 0.996] - 消失不透明度
* @param [options.dropRate = 0.003] - 下降率
* @param [options.dropRateBump = 0.01] - 下降速度
* @param [options.speedFactor = 0.5] - 速度系数
* @param [options.lineWidth = 2.0] - 线宽度
* @param [options.fixedHeight = 0] - 粒子点的固定的海拔高度
* @param [options.colors = ["rgb(206,255,255)"]] - 颜色色带数组
* @param [options.id = createGuid()] - 图层id标识
* @param [options.pid = -1] - 图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 图层名称
* @param [options.show = true] - 图层是否显示
* @param [options.eventParent] - 指定的事件冒泡对象,默认为map对象,false时不冒泡
* @param [options.center] - 图层自定义定位视角 {@link Map#setCameraView}
* @param options.center.lng - 经度值, 180 - 180
* @param options.center.lat - 纬度值, -90 - 90
* @param [options.center.alt] - 高度值
* @param [options.center.heading] - 方向角度值,绕垂直于地心的轴旋转角度, 0-360
* @param [options.center.pitch] - 俯仰角度值,绕纬度线旋转角度, 0-360
* @param [options.center.roll] - 翻滚角度值,绕经度线旋转角度, 0-360
* @param [options.flyTo] - 加载完成数据后是否自动飞行定位到数据所在的区域。
*/
declare class WindLayer extends BaseLayer {
constructor(options?: {
data?: WindLayer.DataOptions;
particlesnumber?: number;
fadeOpacity?: number;
dropRate?: number;
dropRateBump?: number;
speedFactor?: number;
lineWidth?: number;
fixedHeight?: number;
colors?: string[];
id?: string | number;
pid?: string | number;
name?: string;
show?: boolean;
eventParent?: BaseClass | boolean;
center?: {
lng: number;
lat: number;
alt?: number;
heading?: number;
pitch?: number;
roll?: number;
};
flyTo?: boolean;
});
/**
* 存放风场粒子对象的容器
*/
readonly layer: Cesium.PrimitiveCollection;
/**
* 风场数据,数据结构见类的构造方法说明
*/
data: WindLayer.DataOptions;
/**
* 颜色色带数组
*/
colors: string[];
/**
* 设置 风场数据
* @param data - 风场数据
* @returns 无
*/
setData(data: WindLayer.DataOptions): void;
}
/**
* 百度 POI查询 工具类 ,
* 参考文档: {@link https://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-placeapi}
* @param [options] - 参数对象,包括以下:
* @param [options.key = mars3d.Token.baiduArr] - 百度KEY,实际项目中请使用自己申请的百度KEY,因为我们的key不保证长期有效。
* @param [options.city = '全国'] - 限定查询的区域,支持城市及对应百度编码(Citycode)(指定的区域的返回结果加权,可能返回其他城市高权重结果。若要对返回结果区域严格限制,请使用city_limit参数)
* @param [options.headers = {}] - 将被添加到HTTP请求头。
* @param [options.proxy] - 加载资源时使用的代理。
*/
declare class BaiduPOI {
constructor(options?: {
key?: string[];
city?: string;
headers?: any;
proxy?: Cesium.Proxy;
});
/**
* 百度key数组,内部轮询使用
*/
keys: string[];
/**
* 轮询取单个key进行使用
*/
readonly key: string;
/**
* 根据经纬度坐标获取地址,逆地理编码
* @param queryOptions - 查询参数
* @param [queryOptions.location = null] - 经纬度坐标
* @param [queryOptions.success] - 查询完成的回调方法
* @param [queryOptions.error] - 查询失败的回调方法
* @returns 查询完成的Promise,等价于success参数
*/
getAddress(queryOptions: {
location?: LngLatPoint | Cesium.Cartesian3 | string | any[] | any;
success?: (...params: any[]) => any;
error?: (...params: any[]) => any;
}): Promise;
/**
* 搜索提示查询
* @param queryOptions - 查询参数
* @param queryOptions.text - 输入建议关键字(支持拼音)
* @param [queryOptions.location] - 传入location参数后,返回结果将以距离进行排序
* @param [queryOptions.city] - 可以重新限定查询的区域,默认为类构造时传入的city
* @param [queryOptions.citylimit = false] - 取值为"true",仅返回city中指定城市检索结果
* @param [queryOptions.success] - 查询完成的回调方法
* @param [queryOptions.error] - 查询失败的回调方法
* @returns 查询完成的Promise,等价于success参数
*/
autoTip(queryOptions: {
text: string;
location?: LngLatPoint | Cesium.Cartesian3 | string | any[] | any;
city?: string;
citylimit?: boolean;
success?: (...params: any[]) => any;
error?: (...params: any[]) => any;
}): Promise;
/**
* 关键字搜索
* @param queryOptions - 查询参数
* @param queryOptions.text - 检索关键字。支持多个关键字并集检索,不同关键字间以空格符号分隔,最多支持10个关键字检索。
* @param [queryOptions.types = ''] - 检索分类偏好,与text组合进行检索,多个分类以","分隔(POI分类),如果需要严格按分类检索,请通过text参数设置
* @param [queryOptions.location = null] - 圆形区域检索中心点,不支持多个点
* @param queryOptions.location.lat - 纬度
* @param queryOptions.location.lng - 经度
* @param [queryOptions.radius] - 圆形区域检索半径,单位为米。(增加区域内数据召回权重,如需严格限制召回数据在区域内,请搭配使用radiuslimit参数),当半径过大,超过中心点所在城市边界时,会变为城市范围检索,检索范围为中心点所在城市
* @param [queryOptions.radiuslimit = false] - 是否严格限定召回结果在设置检索半径范围内。true(是),false(否)。设置为true时会影响返回结果中total准确性及每页召回poi数量, 设置为false时可能会召回检索半径外的poi。
* @param [queryOptions.city = null] - 可以重新限定查询的区域,默认为类构造时传入的city
* @param [queryOptions.citylimit = false] - 取值为"true",仅返回city中指定城市检索结果
* @param [queryOptions.page = 0] - 分页页码,默认为0, 0代表第一页,1代表第二页,以此类推。常与 count 搭配使用,仅当返回结果为poi时可以翻页。
* @param [queryOptions.count = 20] - 单次召回POI数量,最大返回20条。多关键字检索时,返回的记录数为关键字个数*count。多关键词检索时,单页返回总数=关键词数量*count
* @param [queryOptions.success] - 查询完成的回调方法
* @param [queryOptions.error] - 查询失败的回调方法
* @returns 查询完成的Promise,等价于success参数
*/
queryText(queryOptions: {
text: string;
types?: string;
location?: {
lat: number;
lng: number;
};
radius?: number;
radiuslimit?: boolean;
city?: string;
citylimit?: boolean;
page?: number;
count?: number;
success?: (...params: any[]) => any;
error?: (...params: any[]) => any;
}): Promise;
/**
* 周边搜索(圆形搜索)
* @param queryOptions - 查询参数
* @param queryOptions.text - 检索关键字。支持多个关键字并集检索,不同关键字间以空格符号分隔,最多支持10个关键字检索。
* @param [queryOptions.types = ''] - 检索分类偏好,与text组合进行检索,多个分类以","分隔(POI分类),如果需要严格按分类检索,请通过text参数设置
* @param [queryOptions.location] - 圆形区域检索中心点,取值范围:0-50000。规则:大于50000按默认值,单位:米
* @param [queryOptions.radius = 3000] - 圆形区域检索半径,单位为米。(增加区域内数据召回权重,如需严格限制召回数据在区域内,请搭配使用radiuslimit参数),当半径过大,超过中心点所在城市边界时,会变为城市范围检索,检索范围为中心点所在城市
* @param [queryOptions.limit = false] - 是否严格限定召回结果在设置检索半径范围内。true(是),false(否)。设置为true时会影响返回结果中total准确性及每页召回poi数量, 设置为false时可能会召回检索半径外的poi。
* @param [queryOptions.count = 20] - 单次召回POI数量,最大返回25条。多关键字检索时,返回的记录数为关键字个数*count。多关键词检索时,单页返回总数=关键词数量*count
* @param [queryOptions.page = 0] - 分页页码,默认为0, 0代表第一页,1代表第二页,以此类推。常与 count 搭配使用,仅当返回结果为poi时可以翻页。
* @param [queryOptions.success] - 查询完成的回调方法
* @param [queryOptions.error] - 查询失败的回调方法
* @returns 查询完成的Promise,等价于success参数
*/
queryCircle(queryOptions: {
text: string;
types?: string;
location?: LngLatPoint | Cesium.Cartesian3 | string | any[] | any;
radius?: number;
limit?: boolean;
count?: number;
page?: number;
success?: (...params: any[]) => any;
error?: (...params: any[]) => any;
}): Promise;
}
/**
* 高德 POI查询 工具类,
* 参考文档:{@link https://lbs.amap.com/api/webservice/guide/api/search}
* @param [options] - 参数对象,包括以下:
* @param [options.key = mars3d.Token.gaodeArr] - 百度KEY,在实际项目中请使用自己申请的高德KEY,因为我们的key不保证长期有效。
* @param [options.headers = {}] - 将被添加到HTTP请求头。
* @param [options.proxy] - 加载资源时使用的代理。
*/
declare class GaodePOI {
constructor(options?: {
key?: string[];
headers?: any;
proxy?: Cesium.Proxy;
});
/**
* 高德key数组,内部轮询使用
*/
keys: string[];
/**
* 轮询取单个key进行使用
*/
readonly key: string;
/**
* 根据经纬度坐标获取地址,逆地理编码
* @param queryOptions - 查询参数
* @param [queryOptions.location] - 经纬度坐标
* @param [queryOptions.success] - 查询完成的回调方法
* @param [queryOptions.error] - 查询失败的回调方法
* @returns 查询完成的Promise,等价于success参数
*/
getAddress(queryOptions: {
location?: LngLatPoint | Cesium.Cartesian3 | string | any[] | any;
success?: (...params: any[]) => any;
error?: (...params: any[]) => any;
}): Promise;
/**
* 高德搜索提示
* @param queryOptions - 查询参数
* @param queryOptions.text - 输入建议关键字(支持拼音)
* @param [queryOptions.location] - 建议使用location参数,可在此location附近优先返回搜索关键词信息,在请求参数city不为空时生效
* @param [queryOptions.city] - 可以重新限定查询的区域,默认为类构造时传入的city
* @param [queryOptions.citylimit = false] - 取值为"true",仅返回city中指定城市检索结果
* @param [queryOptions.success] - 查询完成的回调方法
* @param [queryOptions.error] - 查询失败的回调方法
* @returns 查询完成的Promise,等价于success参数
*/
autoTip(queryOptions: {
text: string;
location?: LngLatPoint | Cesium.Cartesian3 | string | any[] | any;
city?: string;
citylimit?: boolean;
success?: (...params: any[]) => any;
error?: (...params: any[]) => any;
}): Promise;
/**
* 按限定区域搜索
* @param queryOptions - 查询参数
* @param queryOptions.text - 检索关键字。支持多个关键字并集检索,不同关键字间以空格符号分隔,最多支持10个关键字检索。
* @param [queryOptions.types = ''] - 检索分类偏好,与text组合进行检索,多个分类以","分隔(POI分类),如果需要严格按分类检索,请通过text参数设置
* @param [queryOptions.graphic] - 限定的搜索区域
* @param [queryOptions.limit = false] - 取值为"true",严格返回限定区域内检索结果
* @param [queryOptions.page = 0] - 分页页码,默认为0, 0代表第一页,1代表第二页,以此类推。常与 count 搭配使用,仅当返回结果为poi时可以翻页。
* @param [queryOptions.count = 20] - 单次召回POI数量,默认为10条记录,最大返回20条。多关键字检索时,返回的记录数为关键字个数*count。多关键词检索时,单页返回总数=关键词数量*count
* @param [queryOptions.error] - 查询失败的回调方法
* @param [queryOptions.success] - 查询完成的回调方法
* @returns 查询完成的Promise,等价于success参数
*/
query(queryOptions: {
text: string;
types?: string;
graphic?: BaseGraphic | any;
limit?: boolean;
page?: number;
count?: number;
error?: (...params: any[]) => any;
success?: (...params: any[]) => any;
}): Promise;
/**
* 根据ID获取POI点详情
* @param queryOptions - 查询参数
* @param queryOptions.id - AOI唯一标识, 最多可以传入1个id,传入目标区域的poiid即可
* @param [queryOptions.success] - 查询完成的回调方法
* @param [queryOptions.error] - 查询失败的回调方法
* @returns 查询完成的Promise,等价于success参数
*/
detail(queryOptions: {
id: string;
success?: (...params: any[]) => any;
error?: (...params: any[]) => any;
}): Promise;
/**
* 关键字搜索
* @param queryOptions - 查询参数
* @param queryOptions.text - 检索关键字。支持多个关键字并集检索,不同关键字间以空格符号分隔,最多支持10个关键字检索。
* @param [queryOptions.types = ''] - 检索分类偏好,与text组合进行检索,多个分类以","分隔(POI分类),如果需要严格按分类检索,请通过text参数设置
* @param [queryOptions.city] - 可以重新限定查询的区域,默认为类构造时传入的city
* @param [queryOptions.citylimit = false] - 取值为"true",仅返回city中指定城市检索结果
* @param [queryOptions.count = 20] - 单次召回POI数量,最大返回25条。多关键字检索时,返回的记录数为关键字个数*count。多关键词检索时,单页返回总数=关键词数量*count
* @param [queryOptions.page = 0] - 分页页码,默认为0, 0代表第一页,1代表第二页,以此类推。常与 count 搭配使用,仅当返回结果为poi时可以翻页。
* @param [queryOptions.success] - 查询完成的回调方法
* @param [queryOptions.error] - 查询失败的回调方法
* @returns 查询完成的Promise,等价于success参数
*/
queryText(queryOptions: {
text: string;
types?: string;
city?: string;
citylimit?: boolean;
count?: number;
page?: number;
success?: (...params: any[]) => any;
error?: (...params: any[]) => any;
}): Promise;
/**
* 周边搜索(圆形搜索)
* @param queryOptions - 查询参数
* @param queryOptions.text - 检索关键字。支持多个关键字并集检索,不同关键字间以空格符号分隔,最多支持10个关键字检索。
* @param [queryOptions.types = ''] - 检索分类偏好,与text组合进行检索,多个分类以","分隔(POI分类),如果需要严格按分类检索,请通过text参数设置
* @param [queryOptions.location] - 圆形区域检索中心点,取值范围:0-50000。规则:大于50000按默认值,单位:米
* @param [queryOptions.radius = 3000] - 圆形区域检索半径,单位为米。(增加区域内数据召回权重,如需严格限制召回数据在区域内,请搭配使用radiuslimit参数),当半径过大,超过中心点所在城市边界时,会变为城市范围检索,检索范围为中心点所在城市
* @param [queryOptions.limit = false] - 是否严格限定召回结果在设置检索半径范围内。true(是),false(否)。设置为true时会影响返回结果中total准确性及每页召回poi数量, 设置为false时可能会召回检索半径外的poi。
* @param [queryOptions.count = 20] - 单次召回POI数量,最大返回25条。多关键字检索时,返回的记录数为关键字个数*count。多关键词检索时,单页返回总数=关键词数量*count
* @param [queryOptions.page = 0] - 分页页码,默认为0, 0代表第一页,1代表第二页,以此类推。常与 count 搭配使用,仅当返回结果为poi时可以翻页。
* @param [queryOptions.success] - 查询完成的回调方法
* @param [queryOptions.error] - 查询失败的回调方法
* @returns 查询完成的Promise,等价于success参数
*/
queryCircle(queryOptions: {
text: string;
types?: string;
location?: LngLatPoint | Cesium.Cartesian3 | string | any[] | any;
radius?: number;
limit?: boolean;
count?: number;
page?: number;
success?: (...params: any[]) => any;
error?: (...params: any[]) => any;
}): Promise;
/**
* 多边形搜索
* @param queryOptions - 查询参数
* @param queryOptions.text - 检索关键字。支持多个关键字并集检索,不同关键字间以空格符号分隔,最多支持10个关键字检索。
* @param [queryOptions.types = ''] - 检索分类偏好,与text组合进行检索,多个分类以","分隔(POI分类),如果需要严格按分类检索,请通过text参数设置
* @param queryOptions.polygon - 经纬度数组,经纬度小数点后不得超过6位。多边形为矩形时,可传入左上右下两顶点坐标对;其他情况下首尾坐标对需相同。
* @param [queryOptions.limit = false] - 是否严格限定召回结果在设置检索的多边形或矩形范围内。true(是),false(否)。设置为true时会影响返回结果中total准确性及每页召回poi数量, 设置为false时可能会召回检索半径外的poi。
* @param [queryOptions.count = 20] - 单次召回POI数量,最大返回25条。多关键字检索时,返回的记录数为关键字个数*count。多关键词检索时,单页返回总数=关键词数量*count
* @param [queryOptions.page = 0] - 分页页码,默认为0, 0代表第一页,1代表第二页,以此类推。常与 count 搭配使用,仅当返回结果为poi时可以翻页。
* @param [queryOptions.success] - 查询完成的回调方法
* @param [queryOptions.error] - 查询失败的回调方法
* @returns 查询完成的Promise,等价于success参数
*/
queryPolygon(queryOptions: {
text: string;
types?: string;
polygon: any[][];
limit?: boolean;
count?: number;
page?: number;
success?: (...params: any[]) => any;
error?: (...params: any[]) => any;
}): Promise;
}
/**
* 高德 路径规划 工具类,
* 参考文档:{@link https://lbs.amap.com/api/webservice/guide/api/direction}
* @param [options] - 参数对象,包括以下:
* @param [options.key = mars3d.Token.gaodeArr] - 百度KEY,在实际项目中请使用自己申请的高德KEY,因为我们的key不保证长期有效。
* @param [options.headers = {}] - 将被添加到HTTP请求头。
* @param [options.proxy] - 加载资源时使用的代理。
*/
declare class GaodeRoute {
constructor(options?: {
key?: string[];
headers?: any;
proxy?: Cesium.Proxy;
});
/**
* 高德key数组,内部轮询使用
*/
keys: string[];
/**
* 轮询取单个key进行使用
*/
readonly key: string;
/**
* 按指定类别自动查询
* @param queryOptions - 查询参数
* @param queryOptions.type - 类型
* @param queryOptions.points - 按起点、终点 顺序的坐标数组,如[[117.500244, 40.417801],[117.500244, 40.417801]]
* @param [queryOptions.success] - 查询完成的回调方法
* @param [queryOptions.error] - 查询失败的回调方法
* @returns 查询完成的Promise,等价于success参数
*/
query(queryOptions: {
type: GaodeRoute.RouteType | number;
points: any[][];
success?: (...params: any[]) => any;
error?: (...params: any[]) => any;
}): Promise;
/**
* 按指定类别自动查询(多个路线数组,递归处理)
* @param queryOptions - 查询参数
* @param queryOptions.type - 类型
* @param queryOptions.points - 多条,按起点终点 顺序的坐标数组,如[
* [ [117.500244, 40.417801],[117.500244, 40.417801] ],
* [ [117.500244, 40.417801],[117.500244, 40.417801] ]
* ]
* @param [queryOptions.success] - 查询完成的回调方法
* @param [queryOptions.error] - 查询失败的回调方法
* @returns 查询完成的Promise,等价于success参数
*/
queryArr(queryOptions: {
type: GaodeRoute.RouteType;
points: any[][];
success?: (...params: any[]) => any;
error?: (...params: any[]) => any;
}): Promise;
/**
* 计算结果中的最短距离的导航路径
* @param data - queryArr返回的结果数组
* @returns 返回路线数据和index顺序
*/
getShortestPath(data: any): any;
/**
* 步行路径规划 (单个查询)
* @param queryOptions - 查询参数
* @param queryOptions.points - 按起点、终点 顺序的坐标数组,如[[117.500244, 40.417801],[117.500244, 40.417801]]
* @param [queryOptions.success] - 查询完成的回调方法
* @param [queryOptions.error] - 查询失败的回调方法
* @returns 查询完成的Promise,等价于success参数
*/
queryWalking(queryOptions: {
points: any[][];
success?: (...params: any[]) => any;
error?: (...params: any[]) => any;
}): Promise;
/**
* 骑行路径查询 (单个查询)
* @param queryOptions - 查询参数
* @param queryOptions.points - 按起点、终点 顺序的坐标数组,如[[117.500244, 40.417801],[117.500244, 40.417801]]
* @param [queryOptions.success] - 查询完成的回调方法
* @param [queryOptions.error] - 查询失败的回调方法
* @returns 查询完成的Promise,等价于success参数
*/
queryBicycling(queryOptions: {
points: any[][];
success?: (...params: any[]) => any;
error?: (...params: any[]) => any;
}): Promise;
/**
* 驾车路径规划查询
* @param queryOptions - 查询参数
* @param queryOptions.points - 按起点、途经点、终点 顺序的坐标数组,如[[117.500244, 40.417801],[117.500244, 40.417801]]
* @param queryOptions.avoidpolygons - 区域避让数组(支持多个),支持32个避让区域,每个区域最多可有16个顶点。避让区域不能超过81平方公里,否则避让区域会失效。
* @param [queryOptions.extensions = 'base'] - 返回结果控制,可选值:core/all base:返回基本信息;all:返回全部信息
* @param [queryOptions.strategy = 0] - 驾车选择策略,参考高德官网说明,默认为0:速度优先,不考虑当时路况,此路线不一定距离最短
* @param [queryOptions.success] - 查询完成的回调方法
* @param [queryOptions.error] - 查询失败的回调方法
* @returns 查询完成的Promise,等价于success参数
*/
queryDriving(queryOptions: {
points: any[][];
avoidpolygons: any[][];
extensions?: string;
strategy?: string;
success?: (...params: any[]) => any;
error?: (...params: any[]) => any;
}): Promise;
}
declare namespace GaodeRoute {
/**
* 路径规划方式
*/
enum RouteType {
Walking,
Bicycling,
Driving
}
}
declare namespace QueryArcServer {
/**
* 当前类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* layer.on(mars3d.EventType.load, function (event) {
* console.log('矢量数据对象加载完成', event)
* })
* @property click - 左键单击 鼠标事件
* @property load - 完成加载,执行所有内部处理后
*/
type EventType = {
click: string;
load: string;
};
}
/**
* ArcGIS WFS矢量服务查询类
* @param options - 参数对象,包括以下:
* @param options.url - ArcGIS服务地址, 示例:'http://server.mars3d.cn/arcgis/rest/services/mars/hefei/MapServer/37'
* @param [options.pageSize = 10] - 每页条数 *
* @param [options.headers = {}] - 将被添加到HTTP请求头。
* @param [options.proxy] - 加载资源时使用的代理。
*
* //以下是GeoJsonLayer图层参数
* @param [options.id = createGuid()] - 赋予给layer图层,图层id标识
* @param [options.pid = -1] - 赋予给layer图层,图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 赋予给layer图层,图层名称
* @param [options.symbol] - 赋予给layer图层,图层矢量数据的style样式,参考{@link GeoJsonLayer}
* @param [options.graphicOptions] - 赋予给layer图层,图层默认的graphic的构造参数,参考{@link GeoJsonLayer}
* @param [options.popup] - 赋予给layer图层,图层绑定的popup弹窗值,参考{@link GeoJsonLayer}
* @param [options.tooltip] - 赋予给layer图层,图层绑定的tooltip弹窗值,参考{@link GeoJsonLayer}
*/
declare class QueryArcServer extends BaseClass {
constructor(options: {
url: string;
pageSize?: number;
headers?: any;
proxy?: Cesium.Proxy;
id?: string | number;
pid?: string | number;
name?: string;
symbol?: any | ((...params: any[]) => any);
graphicOptions?: any;
popup?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any);
tooltip?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any) | any;
});
/**
* ArcGIS服务地址
*/
url: string;
/**
* 分页的 每页条数
*/
pageSize: number;
/**
* 总记录数
*/
readonly allCount: number;
/**
* 总页数
*/
readonly allPage: number;
/**
* 页码,当前第几页
*/
readonly pageIndex: number;
/**
* 用于显示查询结果的GeoJsonLayer图层,图层参数在当前类构造方法中传入
*/
readonly layer: GeoJsonLayer;
/**
* 首页,查看第1页数据
* @returns 无
*/
showFirstPage(): void;
/**
* 上一页
* @returns 无
*/
showPretPage(): void;
/**
* 下一页
* @returns 无
*/
showNextPage(): void;
/**
* 跳转到指定页
* @param pageIndex - 指定页
* @returns 无
*/
showPage(pageIndex: number): void;
/**
* 按指定类别自动查询
* @param queryOptions - 查询参数
* @param [queryOptions.text] - 检索关键字。
* @param [queryOptions.column] - 检索关键字的字段名称。
* @param [queryOptions.like = true] - 检索关键字时,是否模糊匹配,false时精确查询。
* @param [queryOptions.where] - 自定义的检索条件,与text二选一
* @param [queryOptions.graphic] - 限定的搜索区域
* @param [queryOptions.page = true] - 是否分页查询,false时不分页,一次性查询返回
* @param [queryOptions.success] - 查询完成的回调方法
* @param [queryOptions.error] - 查询失败的回调方法
* @returns 查询完成的Promise,等价于success参数
*/
query(queryOptions: {
text?: string;
column?: string;
like?: boolean;
where?: string;
graphic?: BaseGraphic | any;
page?: boolean;
success?: (...params: any[]) => any;
error?: (...params: any[]) => any;
}): Promise;
/**
* 清除
* @returns 无
*/
clear(): void;
/**
* 当前类的构造参数
*/
readonly options: any;
}
/**
* GeoServer WFS服务查询类
* @param options - 参数对象,包括以下:
* @param options.url - GeoServer服务地址, 示例:'http://server.mars3d.cn/geoserver/mars/wfs'
* @param options.layer - 图层名称(命名空间:图层名称),多个图层名称用逗号隔开
* @param [options.crs = "EPSG:4326"] - 服务数据的坐标系,如'EPSG:4326' (可以从 {@link http://epsg.io }查询)
* @param [options.headers = {}] - 将被添加到HTTP请求头。
* @param [options.proxy] - 加载资源时使用的代理。
*
* //以下是GeoJsonLayer图层参数
* @param [options.id = createGuid()] - 赋予给layer图层,图层id标识
* @param [options.pid = -1] - 赋予给layer图层,图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 赋予给layer图层,图层名称
* @param [options.symbol] - 赋予给layer图层,图层矢量数据的style样式,参考{@link GeoJsonLayer}
* @param [options.graphicOptions] - 赋予给layer图层,图层默认的graphic的构造参数,参考{@link GeoJsonLayer}
* @param [options.popup] - 赋予给layer图层,图层绑定的popup弹窗值,参考{@link GeoJsonLayer}
* @param [options.tooltip] - 赋予给layer图层,图层绑定的tooltip弹窗值,参考{@link GeoJsonLayer}
*/
declare class QueryGeoServer extends BaseClass {
constructor(options: {
url: string;
layer: string;
crs?: string;
headers?: any;
proxy?: Cesium.Proxy;
id?: string | number;
pid?: string | number;
name?: string;
symbol?: any | ((...params: any[]) => any);
graphicOptions?: any;
popup?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any);
tooltip?: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any) | any;
});
/**
* 用于显示查询结果的GeoJsonLayer图层,图层参数在当前类构造方法中传入
*/
readonly layer: GeoJsonLayer;
/**
* 查询服务,基于filter条件
* @param queryOptions - 查询参数
* @param [queryOptions.text] - 检索关键字
* @param [queryOptions.column] - 检索关键字时,对应的字段名称
* @param [queryOptions.like = true] - 检索关键字时,是否模糊匹配,false时精确查询
* @param [queryOptions.graphic] - 限定的搜索区域
* @param [queryOptions.geometryName = 'the_geom'] - 限定的搜索区域时,对应的geometry字段名称
* @param [queryOptions.maxFeatures = 1000] - 返回结果最大数量
* @param [queryOptions.sortBy] - 排序的属性名称,默认升序,降序时+D
* @param [queryOptions.更多参数] - WFS服务支持的其他参数,均支持
* @param [queryOptions.success] - 查询完成的回调方法
* @param [queryOptions.error] - 查询失败的回调方法
* @returns 当前对象本身,可以链式调用
*/
query(queryOptions: {
text?: string;
column?: string;
like?: boolean;
graphic?: BaseGraphic | any;
geometryName?: string;
maxFeatures?: number;
sortBy?: string;
更多参数?: any;
success?: (...params: any[]) => any;
error?: (...params: any[]) => any;
}): QueryGeoServer;
/**
* 查询服务,基于cql_filter条件
* @param queryOptions - 查询参数
* @param queryOptions.cql_filter - 筛选服务数据的[SQL语句]{@link https://docs.geoserver.org/2.12.2/user/services/wfs/vendor.html#wfs-vendor-parameters}
* @param [queryOptions.graphic] - 限定的搜索区域,自动转换后加入到cql_filter中,也可以外部自行处理
* @param [queryOptions.geometryName = 'the_geom'] - 限定的搜索区域时,对应的geometry字段名称
* @param [queryOptions.maxFeatures = 1000] - 返回结果最大数量
* @param [queryOptions.sortBy] - 排序的属性名称,默认升序,降序时+D
* @param [queryOptions.更多参数] - WFS服务支持的其他参数,均支持
* @param [queryOptions.success] - 查询完成的回调方法
* @param [queryOptions.error] - 查询失败的回调方法
* @returns 当前对象本身,可以链式调用
*/
queryBySql(queryOptions: {
cql_filter: string;
graphic?: BaseGraphic | any;
geometryName?: string;
maxFeatures?: number;
sortBy?: string;
更多参数?: any;
success?: (...params: any[]) => any;
error?: (...params: any[]) => any;
}): QueryGeoServer;
/**
* 清除
* @returns 无
*/
clear(): void;
}
declare namespace Measure {
/**
* @example
* //绑定监听事件
* thing.on(mars3d.EventType.change, function (event) {
* console.log('发送了变化', event)
* })
* @property change - 测量值变化了
* @property start - 异步测量中,开始测量
* @property end - 异步测量中,完成了测量后
* @property add - 添加对象
* @property remove - 移除对象
* @property show - 显示了对象
* @property hide - 隐藏了对象
* @property click - 左键单击 鼠标事件
* @property rightClick - 右键单击 鼠标事件
* @property mouseOver - 鼠标移入 鼠标事件
* @property mouseOut - 鼠标移出 鼠标事件
* @property popupOpen - popup弹窗打开后
* @property popupClose - popup弹窗关闭
* @property tooltipOpen - tooltip弹窗打开后
* @property tooltipClose - tooltip弹窗关闭
* @property contextMenuOpen - 右键菜单 打开后
* @property contextMenuClose - 右键菜单 关闭
* @property contextMenuClick - 右键菜单 单击某一项后
* @property drawStart - 开始绘制 标绘事件
* @property drawMouseMove - 正在移动鼠标中,绘制过程中鼠标移动了点 标绘事件
* @property drawAddPoint - 绘制过程中增加了点 标绘事件
* @property drawRemovePoint - 绘制过程中删除了最后一个点 标绘事件
* @property drawCreated - 创建完成 标绘事件
* @property editStart - 开始编辑 标绘事件
* @property editMouseDown - 移动鼠标按下左键(LEFT_DOWN)标绘事件
* @property editMouseMove - 正在移动鼠标中,正在编辑拖拽修改点中(MOUSE_MOVE) 标绘事件
* @property editMovePoint - 编辑修改了点(LEFT_UP)标绘事件
* @property editRemovePoint - 编辑删除了点 标绘事件
* @property editStyle - 图上编辑修改了相关style属性 标绘事件
* @property editStop - 停止编辑 标绘事件
*/
type EventType = {
change: string;
start: string;
end: string;
add: string;
remove: string;
show: string;
hide: string;
click: string;
rightClick: string;
mouseOver: string;
mouseOut: string;
popupOpen: string;
popupClose: string;
tooltipOpen: string;
tooltipClose: string;
contextMenuOpen: string;
contextMenuClose: string;
contextMenuClick: string;
drawStart: string;
drawMouseMove: string;
drawAddPoint: string;
drawRemovePoint: string;
drawCreated: string;
editStart: string;
editMouseDown: string;
editMouseMove: string;
editMovePoint: string;
editRemovePoint: string;
editStyle: string;
editStop: string;
};
}
/**
* 图上量算
* @param [options] - 参数对象,包括以下:
* @param [options.hasEdit = false] - 是否可编辑
* @param [options.isAutoEditing = true] - 完成测量时是否自动启动编辑(需要hasEdit:true时)
* @param [options.isContinued = false] - 是否连续测量
* @param [options.label] - 测量结果文本的样式
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
* @param [options.pid = -1] - 量算对应的图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 量算对应的图层名称
*/
declare class Measure extends BaseThing {
constructor(options?: {
hasEdit?: boolean;
isAutoEditing?: boolean;
isContinued?: boolean;
label?: LabelEntity.StyleOptions | any;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
pid?: string | number;
name?: string;
});
/**
* 对应的矢量图层
*/
readonly graphicLayer: GraphicLayer;
/**
* 图层内的Graphic集合对象
*/
readonly graphics: BaseGraphic[];
/**
* 是否有进行量算
*/
readonly hasMeasure: boolean;
/**
* 测量 空间长度
* @param [options] - 控制参数
* @param [options.style] - 路线的样式
* @param [options.unit = 'auto'] - 计量单位,{@link MeasureUtil#formatDistance}可选值:auto、m、km、mile、zhang 。auto时根据距离值自动选用k或km
* @param [options.maxPointNum = 9999] - 绘制时,最多允许点的个数
* @param [options.addHeight] - 在绘制时,在绘制点的基础上增加的高度值
* @param [options.showAddText = true] - 是否显示每一段的增加部分距离,如(+10.1km)
* @param [options.decimal = 2] - 显示的文本中保留的小数位
* @returns 绘制创建完成的Promise,返回 长度测量控制类 对象
*/
distance(options?: {
style?: PolylineEntity.StyleOptions | any;
unit?: string;
maxPointNum?: number;
addHeight?: number;
showAddText?: boolean;
decimal?: number;
}): Promise;
/**
* 测量 贴地长度
* @param [options] - 控制参数
* @param [options.style] - 路线的样式
* @param [options.unit = 'auto'] - 计量单位,{@link MeasureUtil#formatDistance}可选值:auto、m、km、mile、zhang 。auto时根据距离值自动选用k或km
* @param [options.maxPointNum = 9999] - 绘制时,最多允许点的个数
* @param [options.addHeight] - 在绘制时,在绘制点的基础上增加的高度值
* @param [options.showAddText = true] - 是否显示每一段的增加部分距离,如(+10.1km)
* @param [options.splitNum = 100] - 插值数,将线段分割的个数
* @param [options.has3dtiles = auto] - 是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)
* @param [options.decimal = 2] - 显示的文本中保留的小数位
* @returns 绘制创建完成的Promise,返回 贴地长度测量控制类 对象
*/
distanceSurface(options?: {
style?: PolylineEntity.StyleOptions | any;
unit?: string;
maxPointNum?: number;
addHeight?: number;
showAddText?: boolean;
splitNum?: number;
has3dtiles?: boolean;
decimal?: number;
}): Promise;
/**
* 剖面分析,测量线插值点的高程数据
* @param [options] - 控制参数
* @param [options.style] - 路线的样式
* @param [options.unit = 'auto'] - 计量单位,{@link MeasureUtil#formatDistance}可选值:auto、m、km、mile、zhang 。auto时根据距离值自动选用k或km
* @param [options.maxPointNum = 9999] - 绘制时,最多允许点的个数
* @param [options.addHeight] - 在绘制时,在绘制点的基础上增加的高度值
* @param [options.splitNum = 200] - 插值数,将线段分割的个数
* @param [options.has3dtiles = auto] - 是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)
* @param [options.decimal = 2] - 显示的文本中保留的小数位
* @returns 绘制创建完成的Promise,返回 剖面分析控制类矢量对象
*/
section(options?: {
style?: PolylineEntity.StyleOptions | any;
unit?: string;
maxPointNum?: number;
addHeight?: number;
splitNum?: number;
has3dtiles?: boolean;
decimal?: number;
}): Promise;
/**
* 面积测量(水平面)
* @param [options] - 控制参数
* @param [options.style] - 面的样式
* @param [options.unit = 'auto'] - 计量单位,{@link MeasureUtil#formatArea}可选值:auto、m、km、mu、ha 。auto时根据面积值自动选用k或km
* @param [options.decimal = 2] - 显示的文本中保留的小数位
* @returns 绘制创建完成的Promise,返回 面积测量控制类 对象
*/
area(options?: {
style?: PolygonEntity.StyleOptions | any;
unit?: string;
decimal?: number;
}): Promise;
/**
* 贴地面积测量
* @param [options] - 控制参数
* @param [options.style] - 面的样式
* @param [options.unit = 'auto'] - 计量单位,{@link MeasureUtil#formatArea}可选值:auto、m、km、mu、ha 。auto时根据面积值自动选用k或km
* @param [options.splitNum = 10] - 插值数,将面分割的网格数
* @param [options.has3dtiles = auto] - 是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)
* @param [options.decimal = 2] - 显示的文本中保留的小数位
* @returns 绘制创建完成的Promise,返回 面积测量控制类 对象
*/
areaSurface(options?: {
style?: PolygonEntity.StyleOptions | any;
unit?: string;
splitNum?: number;
has3dtiles?: boolean;
decimal?: number;
}): Promise;
/**
* 体积测量(方量分析)
* @param [options] - 控制参数
* @param [options.style] - 基准面的样式
* @param [options.unit = 'auto'] - 计量单位,{@link MeasureUtil#formatArea}可选值:auto、m、km、mu、ha 。auto时根据面积值自动选用k或km
* @param [options.splitNum = 10] - 插值数,将面分割的网格数
* @param [options.has3dtiles] - 是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)
* @param [options.minHeight] - 可以指定最低高度(单位:米)
* @param [options.maxHeight] - 可以指定最高高度(单位:米)
* @param [options.height] - 可以指定基准面高度(单位:米),默认是绘制后的最低高度值
* @param [options.heightLabel = true] - 是否显示各边界点高度值文本
* @param [options.offsetLabel = false] - 是否显示各边界点高度差文本
* @param [options.showArea = true] - 是否显示横切面积
* @param [options.polygonWall] - 围合的墙样式
* @param [options.labelHeight] - 各边界点高度结果文本的样式
* @param [options.decimal = 2] - 显示的文本中保留的小数位
* @returns 绘制创建完成的Promise,返回 体积测量控制类 对象
*/
volume(options?: {
style?: PolygonEntity.StyleOptions | any;
unit?: string;
splitNum?: number;
has3dtiles?: boolean;
minHeight?: number;
maxHeight?: number;
height?: number;
heightLabel?: boolean;
offsetLabel?: boolean;
showArea?: boolean;
polygonWall?: PolygonEntity.StyleOptions | any;
labelHeight?: LabelEntity.StyleOptions | any;
decimal?: number;
}): Promise;
/**
* 高度测量
* @param [options] - 控制参数
* @param [options.style] - 路线的样式
* @param [options.unit = 'auto'] - 计量单位,{@link MeasureUtil#formatDistance}可选值:auto、m、km、mile、zhang 。auto时根据距离值自动选用k或km
* @param [options.decimal = 2] - 显示的文本中保留的小数位
* @returns 绘制创建完成的Promise,返回 高度测量 对象
*/
height(options?: {
style?: PolylineEntity.StyleOptions | any;
unit?: string;
decimal?: number;
}): Promise;
/**
* 三角高度测量,
* 包括水平距离、空间距离、高度差。
* @param [options] - 控制参数
* @param [options.style] - 路线的样式
* @param [options.unit = 'auto'] - 计量单位,{@link MeasureUtil#formatDistance}可选值:auto、m、km、mile、zhang 。auto时根据距离值自动选用k或km
* @param [options.decimal = 2] - 显示的文本中保留的小数位
* @returns 绘制创建完成的Promise,返回 三角高度测量控制类 对象
*/
heightTriangle(options?: {
style?: PolylineEntity.StyleOptions | any;
unit?: string;
decimal?: number;
}): Promise;
/**
* 角度测量
* @param [options] - 控制参数
* @param [options.style] - 路线的样式,默认为箭头线
* @param [options.angleDecimal = 1] - 显示的 角度值 文本中保留的小数位
* @param [options.decimal = 2] - 显示的 距离值 文本中保留的小数位
* @returns 绘制创建完成的Promise,返回 角度测量控制类 对象
*/
angle(options?: {
style?: PolylineEntity.StyleOptions | any;
angleDecimal?: number;
decimal?: number;
}): Promise;
/**
* 坐标测量
* @param [options] - 控制参数
* @param [options.style] - 点的样式
* @returns 绘制创建完成的Promise,返回 坐标测量控制类 对象
*/
point(options?: {
style?: PointEntity.StyleOptions | any;
}): Promise;
/**
* 停止绘制,如有未完成的绘制会自动删除
* @returns 是否清除了未完成的对象
*/
stopDraw(): boolean;
/**
* 清除正在绘制
* @returns 是否清除了对象
*/
clearDrawing(): boolean;
/**
* 完成绘制和编辑,如有未完成的绘制会自动完成。
* 在移动端需要调用此方法来类似PC端双击结束。
* @returns 是否正常结束了矢量对象绘制
*/
endDraw(): boolean;
/**
* 清除测量
* @returns 无
*/
clear(): void;
/**
* 更新量测结果的单位
* @param unit - 计量单位,{@link MeasureUtil#formatDistance}{@link MeasureUtil#formatArea} 可选值:auto、m、km、mile、zhang 等。auto时根据距离值自动选用k或km
* @returns 无
*/
updateUnit(unit: string): void;
/**
* 销毁当前对象
* @param [noDel = false] - false:会自动delete释放所有属性,true:不delete绑定的变量
* @returns 无
*/
destroy(noDel?: boolean): void;
}
declare namespace Shadows {
/**
* 当前类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* thing.on(mars3d.EventType.change, function (event) {
* console.log('时间发送了变化', event)
* })
* @property change - 变化了
*/
type EventType = {
change: string;
};
}
/**
* 日照分析
* @param [options] - 参数对象,包括以下:
* @param [options.multiplier = 1600] - 时钟倍率,控制速度
* @param [options.time] - 当前时间
* @param [options.terrain = true] - 是否启用地形的阴影效果,在平原地区或无地形时可以关闭
* @param [options.lighting = true] - 是否显示晨昏线,可以看到地球的昼夜区域
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class Shadows extends BaseThing {
constructor(options?: {
multiplier?: number;
time?: Date;
terrain?: boolean;
lighting?: boolean;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 当前时间
*/
time: Date;
/**
* 是否在播放
*/
readonly isStart: boolean;
/**
* 倍速,控制速率
*/
multiplier: number;
/**
* 开始播放日照分析效果
* @param startDate - 开始时间
* @param endDate - 结束时间
* @param [currentTime = startDate] - 当前所在时间
* @returns 无
*/
start(startDate: Date, endDate: Date, currentTime?: Date): void;
/**
* 暂停
* @returns 无
*/
pause(): void;
/**
* 继续
* @returns 无
*/
proceed(): void;
/**
* 停止
* @returns 无
*/
stop(): void;
/**
* 清除分析
* @returns 无
*/
clear(): void;
}
declare namespace Sightline {
/**
* 当前类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* thing.on(mars3d.EventType.end, function (event) {
* console.log('分析完成', event)
* })
* @property start - 开始分析
* @property end - 完成分析
*/
type EventType = {
start: string;
end: string;
};
}
/**
* 通视分析
* @param [options] - 参数对象,包括以下:
* @param [options.visibleColor = new Cesium.Color(0, 1, 0, 1)] - 可视区域颜色
* @param [options.hiddenColor = new Cesium.Color(1, 0, 0, 1)] - 不可视区域颜色
* @param [options.depthFailColor] - 当线位于地形或被遮挡时的区域颜色
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class Sightline extends BaseThing {
constructor(options?: {
visibleColor?: Cesium.Color;
hiddenColor?: Cesium.Color;
depthFailColor?: Cesium.Color;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 可视区域颜色
*/
visibleColor: Cesium.Color;
/**
* 不可视区域颜色
*/
hiddenColor: Cesium.Color;
/**
* 当线位于地形或被遮挡时的区域颜色
*/
depthFailColor: Cesium.Color;
/**
* 添加通视分析
* @param origin - 起点(视点位置)
* @param target - 终点(目标点位置)
* @param [options = {}] - 控制参数,包括:
* @param [options.offsetHeight = 0] - 在起点增加的高度值,比如加上人的身高
* @returns 分析结果
*/
add(origin: Cesium.Cartesian3, target: Cesium.Cartesian3, options?: {
offsetHeight?: number;
}): any;
/**
* 添加通视分析,插值异步分析
* @param origin - 起点
* @param target - 终点(目标点)
* @param [options = {}] - 控制参数,包括:
* @param [options.offsetHeight = 0] - 在起点增加的高度值,比如加上人的身高
* @param [options.splitNum = 50] - 插值数,等比分割的个数
* @param [options.minDistance] - 插值时的最小间隔(单位:米),优先级高于splitNum
* @returns 分析结果完成的Promise
*/
addAsync(origin: Cesium.Cartesian3, target: Cesium.Cartesian3, options?: {
offsetHeight?: number;
splitNum?: number;
minDistance?: number;
}): Promise;
/**
* 清除分析
* @returns 无
*/
clear(): void;
}
/**
* 天际线 描边
* @param [options] - 参数对象,包括以下:
* @param [options.color = new Cesium.Color(1.0, 0.0, 0.0)] - 边际线颜色
* @param [options.width = 2] - 天际线宽度
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class Skyline extends BaseThing {
constructor(options?: {
color?: Cesium.Color;
width?: number;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 边际线颜色
*/
color: Cesium.Color;
/**
* 天际线宽度
*/
width: number;
/**
* 销毁当前对象
* @param [noDel = false] - false:会自动delete释放所有属性,true:不delete绑定的变量
* @returns 无
*/
destroy(noDel?: boolean): void;
}
/**
* 地下模式类
* @param [options] - 参数对象,包括以下:
* @param [options.alpha = 0.5] - 透明度 0.0-1.0
* @param [options.color = Cesium.Color.BLAC] - 当相机在地下或球体是半透明时,渲染球体背面的颜色
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class Underground extends BaseThing {
constructor(options?: {
alpha?: number;
color?: Cesium.Color;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 控制球体透明度的Cesium内部对象
*/
readonly translucency: Cesium.GlobeTranslucency;
/**
* 透明度
*/
alpha: number;
/**
* 当相机在地下或球体是半透明时,渲染球体背面的颜色,将根据相机的距离与地球颜色混合。
* 禁用地下着色时,可以设置为undefined。
*/
color: Cesium.Color;
/**
* 获取或设置将color与Globe颜色混合的远近距离。
* alpha将插值在{@link Cesium.NearFarScalar#nearValue}和{@linkCesium.NearFarScalar#farValue}之间,
* 同时摄像机距离在指定的{@link Cesium.NearFarScalar#near}和{@link Cesium.NearFarScalar#far}的上下边界内。
* 在这些范围之外,alpha仍然被限制在最近的范围内。如果未定义,地下颜色将不会与地球颜色混合。
* 当相机在椭球上方时,距离计算从椭球上最近的点而不是相机的位置。
*/
colorAlphaByDistance: Cesium.NearFarScalar;
}
declare namespace CameraHistory {
/**
* 当前类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* thing.on(mars3d.EventType.change, function (event) {
* console.log('记录发送了变化', event)
* })
* @property change - 变化了
*/
type EventType = {
change: string;
};
}
/**
* 相机视角记录及处理类,含 上一视图 下一视图 等
* @param [options] - 参数对象,包括以下:
* @param [options.maxCacheCount = 99] - 保留的历史记录最多个数
* @param [options.limit] - 限定视角范围参数,包括以下:
* @param options.limit.position - 中心点坐标
* @param options.limit.radius - 半径(单位:米)
* @param [options.limit.debugExtent] - 是否显示限定范围的边界
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class CameraHistory extends BaseThing {
constructor(options?: {
maxCacheCount?: number;
limit?: {
position: Cesium.Cartesian3;
radius: number;
debugExtent?: boolean;
};
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 是否显示限定范围的边界
*/
debugExtent: boolean;
/**
* 切换到 下一视角
* @returns 是否成功切换
*/
goNext(): boolean;
/**
* 切换到 上一视角
* @returns 是否成功切换
*/
goLast(): boolean;
/**
* 回到当前视角(记录的最后一个视角)
* @returns 是否成功切换
*/
goNow(): boolean;
/**
* 回到记录的第一个视角
* @returns 是否成功切换
*/
goFirst(): boolean;
}
/**
* 第一人称贴地漫游,
* 键盘漫游时,先单击地图激活后 按 W前进、 S后退、A左移、D右移
* @param [options] - 参数对象,包括以下:
* @param [options.speed = 1.5] - 速度
* @param [options.rotateSpeed = -5] - 旋转速度
* @param [options.height = 10] - 高度
* @param [options.maxPitch = 88] - 最大pitch角度(度数值)
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class FirstPersonRoam extends BaseThing {
constructor(options?: {
speed?: number;
rotateSpeed?: number;
height?: number;
maxPitch?: number;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 速度
*/
speed: number;
/**
* 旋转速度
*/
rotateSpeed: number;
/**
* 高度(单位:米)
*/
height: number;
/**
* 最大pitch角度(度数值)
*/
maxPitch: number;
/**
* 开始自动前进漫游
* @returns 无
*/
startAutoForward(): void;
/**
* 停止自动前进漫游
* @returns 无
*/
stopAutoForward(): void;
}
declare namespace RotateOut {
/**
* 当前类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* thing.on(mars3d.EventType.stop, function (event) {
* console.log('停止了旋转', event)
* })
* @property start - 开始旋转
* @property change - 变化了角度
* @property stop - 停止了旋转
*/
type EventType = {
start: string;
change: string;
stop: string;
};
}
/**
* 相机位置不动,对外四周旋转
* @param [options] - 参数对象,包括以下:
* @param [options.direction = false] - 旋转方向, true逆时针,false顺时针
* @param [options.time = 60] - 飞行一周所需时间(单位 秒),控制速度
* @param [options.autoStopAngle] - 自动停止的角度值(0-360度),未设置时不自动停止
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class RotateOut extends BaseThing {
constructor(options?: {
direction?: boolean;
time?: number;
autoStopAngle?: number;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 是否在旋转中
*/
readonly isStart: boolean;
/**
* 开始旋转
* @returns 无
*/
start(): void;
/**
* 停止旋转
* @returns 无
*/
stop(): void;
}
declare namespace RotatePoint {
/**
* 当前类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* thing.on(mars3d.EventType.stop, function (event) {
* console.log('停止了旋转', event)
* })
* @property start - 开始旋转
* @property change - 变化了角度
* @property stop - 停止了旋转
*/
type EventType = {
start: string;
change: string;
stop: string;
};
}
/**
* 相机绕 固定中心点 旋转
* @param [options] - 参数对象,包括以下:
* @param [options.direction = false] - 旋转方向, true逆时针,false顺时针
* @param [options.time = 60] - 飞行一周所需时间(单位 秒),控制速度
* @param [options.autoStopAngle] - 自动停止的角度值(0-360度),未设置时不自动停止
* @param [options.distance] - 可以指定旋转时相机到中心点的距离,默认不改变相对距离。
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class RotatePoint extends BaseThing {
constructor(options?: {
direction?: boolean;
time?: number;
autoStopAngle?: number;
distance?: number;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 是否在旋转中
*/
readonly isStart: boolean;
/**
* 开始旋转
* @param [point] - 旋转的中心点
* @returns 无
*/
start(point?: LngLatPoint | Cesium.Cartesian3 | number[]): void;
/**
* 停止旋转
* @returns 无
*/
stop(): void;
}
/**
* 街景视角模式控制,
* 1、右键拖拽,以相机视角为中心进行旋转;
* 2、中键拖拽,可以升高或降低相机高度;
* 3、左键双击,飞行定位到该点;
* 4、右键双击,围绕该点旋转。
* @param [options] - 参数对象,包括以下:
* @param [options.rotateSpeed = 30] - 右键拖拽时,旋转速度,正负控制方向。
* @param [options.heightStep = 0.2] - 中键拖拽时,高度移动比例,控制升高或降低相机高度的速度
* @param [options.moveStep = 0.1] - 双击定位到点时,距离目标点的距离的移动比例 0.0-1.0
* @param [options.moveDuration] - 双击定位到点时,飞行时间(单位:秒)。如果省略,SDK内部会根据飞行距离计算出理想的飞行时间。
* @param [options.rotatePoint] - 右键双击,围绕该点旋转时的参考,具体同{@link RotatePoint}类的构造参数。
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class StreetView extends BaseThing {
constructor(options?: {
rotateSpeed?: number;
heightStep?: number;
moveStep?: number;
moveDuration?: number;
rotatePoint?: any;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 右键拖拽时,旋转速度,正负控制方向。
*/
rotateSpeed: number;
/**
* 中键拖拽时,高度移动比例,控制升高或降低相机高度的速度
*/
heightStep: number;
/**
* 双击定位到点时,距离目标点的距离的移动比例 0.0-1.0
*/
moveStep: number;
}
declare namespace MatrixMove {
/**
* 当前类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* thing.on(mars3d.EventType.change, function (event) {
* console.log('发送了变化', event)
* })
* @property start - 开始拖动编辑
* @property change - 编辑了坐标
* @property stop - 停止了编辑
*/
type EventType = {
start: string;
change: string;
stop: string;
};
}
/**
* 坐标点按XYZ轴平移图上编辑处理类
* @param [options] - 参数对象,包括以下:
* @param [options.position] - 坐标位置
* @param [options.onChange] - 编辑移动了坐标后的回调方法
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
* @param [options.pid = -1] - 量算对应的图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 量算对应的图层名称
*/
declare class MatrixMove extends BaseThing {
constructor(options?: {
position?: LngLatPoint | Cesium.Cartesian3 | number[];
onChange?: (...params: any[]) => any;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
pid?: string | number;
name?: string;
});
/**
* 位置坐标 (笛卡尔坐标), 赋值时可以传入LatLngPoint对象
*/
position: Cesium.Cartesian3;
/**
* 是否正在拖动编辑
*/
readonly isMoveing: boolean;
}
/**
* 按XYZ轴旋转方向图上编辑处理类
* @param [options] - 参数对象,包括以下:
* @param [options.position] - 坐标位置
* @param [options.heading = 0] - 方向角 (度数值,0-360度)
* @param [options.pitch = 0] - 俯仰角(度数值,0-360度)
* @param [options.roll = 0] - 翻滚角(度数值,0-360度)
* @param [options.onChange] - 旋转了方向后的回调方法
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
* @param [options.pid = -1] - 量算对应的图层父级的id,一般图层管理中使用
* @param [options.name = ''] - 量算对应的图层名称
*/
declare class MatrixRotate extends MatrixMove {
constructor(options?: {
position?: LngLatPoint | Cesium.Cartesian3 | number[];
heading?: number;
pitch?: number;
roll?: number;
onChange?: (...params: any[]) => any;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
pid?: string | number;
name?: string;
});
/**
* 四周方向角,0-360度角度值
*/
heading: number;
/**
* 俯仰角,上下摇摆的角度,0-360度角度值
*/
pitch: number;
/**
* 滚转角,左右摆动的角度,0-360度角度值
*/
roll: number;
}
/**
* 等高线
* @param [options] - 参数对象,包括以下:
* @param [options.positions] - 坐标位置数组,只显示单个区域【单个区域场景时使用】
* @param [options.contourShow = true] - 是否显示等高线
* @param [options.spacing = 100.0] - 等高线 间隔(单位:米)
* @param [options.width = 1.5] - 等高线 线宽(单位:像素)
* @param [options.color = Cesium.Color.RED] - 等高线 颜色
* @param [options.shadingType = 'none'] - 地表渲染效果,可选值: 无none, 高程 elevation, 坡度slope, 坡向aspect
* @param [options.shadingAlpha = 0.6] - 地表渲染透明度,0.0-1.0
* @param [options.colorScheme] - 地表渲染配色方案,默认值为:
* {
* elevation: {
* step: [0.0, 0.045, 0.1, 0.15, 0.37, 0.54, 1.0],
* color: ['#000000', '#2747E0', '#D33B7D', '#D33038', '#FF9742', '#FF9742', '#ffd700'],
* },
* slope: {
* step: [0.0, 0.29, 0.5, Math.sqrt(2) / 2, 0.87, 0.91, 1.0],
* color: ['#000000', '#2747E0', '#D33B7D', '#D33038', '#FF9742', '#FF9742', '#ffd700'],
* },
* aspect: {
* step: [0.0, 0.2, 0.4, 0.6, 0.8, 0.9, 1.0],
* color: ['#000000', '#2747E0', '#D33B7D', '#D33038', '#FF9742', '#FF9742', '#ffd700'],
* },
* }
* @param [options.showElseArea = true] - 是否显示区域外的地图
* @param [options.minHeight = -414.0] - 地表渲染配色方案中的 最低海拔高度
* @param [options.maxHeight = 8777] - 地表渲染配色方案中的 最高海拔高度
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class ContourLine extends TerrainEditBase {
constructor(options?: {
positions?: any[][] | string[] | LngLatPoint[] | Cesium.Cartesian3[];
contourShow?: boolean;
spacing?: number;
width?: number;
color?: Cesium.Color | string;
shadingType?: string;
shadingAlpha?: number;
colorScheme?: any;
showElseArea?: boolean;
minHeight?: number;
maxHeight?: number;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 是否显示等高线
*/
contourShow: boolean;
/**
* 地表渲染效果,可选值: 无none, 高程 elevation, 坡度slope, 坡向aspect
*/
shadingType: string;
/**
* 地表渲染透明度,0.0-1.0
*/
shadingAlpha: number;
/**
* 等高线 线宽(单位:像素)
*/
width: number;
/**
* 等高线 间隔(单位:米)
*/
spacing: number;
/**
* 等高线 颜色
*/
color: Cesium.Color | string;
/**
* 清除数据
* @returns 无
*/
clear(): void;
}
declare namespace FloodByGraphic {
/**
* 当前类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* thing.on(mars3d.EventType.end, function (event) {
* console.log('分析完成', event)
* })
* @property start - 开始分析
* @property change - 变化了
* @property end - 完成分析
*/
type EventType = {
start: string;
change: string;
end: string;
};
}
/**
* 淹没分析,
* 基于polygon矢量面抬高模拟,只支持单个区域
* @param [options] - 参数对象,包括以下:
* @param [options.positions] - 区域位置,坐标位置数组
* @param [options.perPositionHeight = false] - 指定是否使用每个位置的高度,true时不改变传入坐标的高度值,适合有坡度的水域,并且true时涉及的高度值均是至偏移值,0代表原始高度。
* @param [options.style] - 淹没区域的样式
* @param [options.speed] - 淹没速度
* @param [options.minHeight] - 淹没起始的海拔高度(单位:米)
* @param [options.maxHeight] - 淹没结束的海拔高度(单位:米)
* @param [options.has3dtiles = auto] - 是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准),未设置时根据坐标自动判断(判断可能不准确)
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class FloodByGraphic extends BaseThing {
constructor(options?: {
positions?: any[][] | string[] | LngLatPoint[] | Cesium.Cartesian3[];
perPositionHeight?: boolean;
style?: PolygonEntity.StyleOptions | any;
speed?: number;
minHeight?: number;
maxHeight?: number;
has3dtiles?: boolean;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 淹没区域 坐标位置数组
*/
positions: any[][] | string[] | LngLatPoint[] | Cesium.Cartesian3[];
/**
* 淹没平面高度(单位:米)
*/
height: number;
/**
* 淹没速度
*/
speed: number;
/**
* 重新赋值参数,同构造方法参数一致。
* @param options - 参数,与类的构造方法参数相同
* @returns 当前对象本身,可以链式调用
*/
setOptions(options: any): FloodByGraphic;
/**
* 开始播放淹没动画效果
* @returns 无
*/
start(): void;
/**
* 停止播放淹没动画效果
* @returns 无
*/
stop(): void;
/**
* 重新开始播放淹没动画效果
* @returns 无
*/
restart(): void;
/**
* 清除分析
* @returns 无
*/
clear(): void;
/**
* 当前类的构造参数
*/
readonly options: any;
/**
* 销毁当前对象
* @param [noDel = false] - false:会自动delete释放所有属性,true:不delete绑定的变量
* @returns 无
*/
destroy(noDel?: boolean): void;
}
declare namespace FloodByMaterial {
/**
* 当前类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* thing.on(mars3d.EventType.end, function (event) {
* console.log('分析完成', event)
* })
* @property start - 开始分析
* @property change - 变化了
* @property end - 完成分析
*/
type EventType = {
start: string;
change: string;
end: string;
};
}
/**
* 淹没分析 ,
* 基于地球材质,可以多个区域
* @param [options] - 参数对象,包括以下:
* @param [options.positions] - 坐标位置数组,只显示单个区域【单个区域场景时使用】
* @param [options.speed] - 淹没速度
* @param [options.color = new Cesium.Color(0.15, 0.7, 0.95, 0.5)] - 淹没颜色
* @param [options.minHeight] - 淹没起始的海拔高度(单位:米)
* @param [options.maxHeight] - 淹没结束的海拔高度(单位:米)
* @param [options.showElseArea = true] - 是否显示区域外的地图
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class FloodByMaterial extends TerrainEditBase {
constructor(options?: {
positions?: any[][] | string[] | LngLatPoint[] | Cesium.Cartesian3[];
speed?: number;
color?: Cesium.Color | string;
minHeight?: number;
maxHeight?: number;
showElseArea?: boolean;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 淹没高度(单位:米)
*/
height: number;
/**
* 淹没速度
*/
speed: number;
/**
* 淹没颜色
*/
color: Cesium.Color;
/**
* 重新赋值参数,同构造方法参数一致。
* @param options - 参数,与类的构造方法参数相同
* @returns 当前对象本身,可以链式调用
*/
setOptions(options: any): FloodByMaterial;
/**
* 开始播放淹没动画效果
* @returns 无
*/
start(): void;
/**
* 暂停播放淹没动画效果
* @returns 无
*/
stop(): void;
/**
* 重新开始播放淹没动画效果
* @returns 无
*/
restart(): void;
/**
* 清除分析
* @returns 无
*/
clear(): void;
}
declare namespace Slope {
/**
* 当前类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* thing.on(mars3d.EventType.change, function (event) {
* console.log('发送了变化', event)
* })
* @property endItem - 多个数据异步分析时,完成其中一个时的回调事件
* @property end - 多个数据异步分析时,完成所有的回调事件
*/
type EventType = {
endItem: string;
end: string;
};
}
/**
* 坡度坡向分析
* @param [options] - 参数对象,包括以下:
* @param [options.positions] - 分析区域 坐标位置数组
* @param [options.arrow] - 箭头线的样式,包括以下:
* @param [options.arrow.show = true] - 是否显示箭头线
* @param [options.arrow.color = Cesium.Color.YELLOW] - 颜色
* @param [options.arrow.width = 15] - 箭头宽度值
* @param [options.arrow.scale = 0.3] - 箭头长度的比例(网格大小),根据绘制区域的大小和插值数来计算实际长度值。
* @param [options.arrow.length] - 箭头长度固定值,将覆盖scale参数
* @param [options.tooltip] - 可以指定绑定tooltip
* @param [options.tooltipOptions] - tooltip弹窗时的配置参数,也支持如pointerEvents等{@link Tooltip}构造参数
* @param [options.popup] - 可以指定绑定popup
* @param [options.popupOptions] - popup弹窗时的配置参数,也支持如pointerEvents等{@link Popup}构造参数
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class Slope extends BaseThing {
constructor(options?: {
positions?: any[][] | string[] | LngLatPoint[] | Cesium.Cartesian3[];
arrow?: {
show?: boolean;
color?: Cesium.Color;
width?: number;
scale?: number;
length?: number;
};
tooltip?: (...params: any[]) => any;
tooltipOptions?: Tooltip.StyleOptions | any;
popup?: (...params: any[]) => any;
popupOptions?: Popup.StyleOptions | any;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 添加计算的 位置
* @param positions - 坐标数组 或 单个坐标
* @param [options = {}] - 控制参数,包括:
* @param [options.splitNum = 8] - 插值数,横纵等比分割的网格个数
* @param [options.radius = 2] - 取样分析,点周边半径(单位:米)
* @param [options.count = 4] - 取样分析,点周边象限内点的数量,共计算 count*4 个点
* @param [options.has3dtiles = auto] - 是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)
* @returns 无,计算结果在 end事件中返回
*/
add(positions: any[][] | LngLatPoint[] | Cesium.Cartesian3[] | LngLatPoint | Cesium.Cartesian3, options?: {
splitNum?: number;
radius?: number;
count?: number;
has3dtiles?: boolean;
}): void;
/**
* 计算两点之间的坡度
* @param c1 - 点1
* @param c2 - 点2
* @returns 坡度值
*/
getSlope(c1: Cesium.Cartesian3, c2: Cesium.Cartesian3): number;
/**
* 清除分析
* @returns 无
*/
clear(): void;
/**
* 异步计算点的坡度坡向
* @param options - 参数对象,具有以下属性:
* @param options.map - Map地图对象
* @param options.positions - 坐标数组
* @param options.radius - 缓冲半径(影响坡度坡向的精度)
* @param options.count - 缓冲的数量(影响坡度坡向的精度)会求周边(count*4)个点
* @param options.has3dtiles - 是否在3dtiles模型上分析(模型分析较慢,按需开启)
* @param options.endItem - 异步计算中,每计算完成1个点的坡度坡向后 的回调方法
* @returns 异步计算完成的Promise
*/
static getSlope(options: {
map: Map;
positions: Cesium.Cartesian3[];
radius: number;
count: number;
has3dtiles: boolean;
endItem: getSlope_endItem;
}): Promise;
}
/**
* 异步计算完成所有点的坡度坡向后 的回调方法
* @param event - 参数对象,具有以下属性:
* @param event.data - 数组对象,数组中每一个值,具有以下属性:
* @param event.data.position - 坐标位置
* @param event.data.slope - 度数法值【 α(坡度)=arc tan (高程差/水平距离)】
* @param event.data.slopeStr1 - 度数法值字符串
* @param event.data.slopeStr2 - 百分比法值字符串【 坡度 = (高程差/水平距离)x100%】
* @param event.data.direction - 坡向值(0-360度)
*/
declare type getSlope_callback = (event: {
data: {
position: Cesium.Cartesian3;
slope: number;
slopeStr1: string;
slopeStr2: string;
direction: number;
}[];
}) => void;
/**
* 异步计算中,每计算完成1个点的坡度坡向后 的回调方法
* @param event - 参数对象,具有以下属性:
* @param event.index - 数组点中的index顺序
* @param event.data - 数据对象,具有以下属性:
* @param event.data.position - 坐标位置
* @param event.data.slope - 度数法值【 α(坡度)=arc tan (高程差/水平距离)】
* @param event.data.slopeStr1 - 度数法值字符串
* @param event.data.slopeStr2 - 百分比法值字符串【 坡度 = (高程差/水平距离)x100%】
* @param event.data.direction - 坡向值(0-360度)
*/
declare type getSlope_endItem = (event: {
index: number;
data: {
position: Cesium.Cartesian3;
slope: number;
slopeStr1: string;
slopeStr2: string;
direction: number;
};
}) => void;
/**
* 地形开挖,
* 基于地球材质,可以多个区域开挖。
* @param [options] - 参数对象,包括以下:
* @param [options.positions] - 坐标位置数组,只显示单个区域【单个区域场景时使用】
* @param [options.clipOutSide = false] - 是否外切开挖
* @param [options.image] - 开挖区域的井墙面贴图URL。未传入该值时,不显示开挖区域的井。
* @param [options.imageBottom] - 当显示开挖区域的井时,井底面贴图URL
* @param [options.diffHeight] - 当显示开挖区域的井时,设置所有区域的挖掘深度(单位:米)
* @param [options.splitNum = 30] - 当显示开挖区域的井时,井墙面每两点之间插值个数
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class TerrainClip extends TerrainEditBase {
constructor(options?: {
positions?: any[][] | string[] | LngLatPoint[] | Cesium.Cartesian3[];
clipOutSide?: boolean;
image?: string;
imageBottom?: string;
diffHeight?: number;
splitNum?: number;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 是否外切开挖
*/
clipOutSide: boolean;
/**
* 设置所有区域的挖掘深度(单位:米)
*/
diffHeight: number;
/**
* 清除开挖
* @returns 无
*/
clear(): void;
}
/**
* 地形开挖、淹没等分析 基础类
* @param [options] - 参数对象,包括以下:
* @param [options.positions] - 坐标位置数组,只显示单个区域【单个区域场景时使用】
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class TerrainEditBase extends BaseThing {
constructor(options?: {
positions?: any[][] | string[] | LngLatPoint[] | Cesium.Cartesian3[];
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 区域 列表
*/
readonly list: any;
/**
* 是否显示区域外的地图
*/
showElseArea: boolean;
/**
* 坐标位置数组,只显示单个区域【单个区域场景时使用】
*/
positions: any[][] | string[] | LngLatPoint[] | Cesium.Cartesian3[];
/**
* 已添加的区域个数
*/
readonly length: number;
/**
* 清除所有区域
* @returns 无
*/
clear(): void;
/**
* 根据id获取区域对象
* @param id - id值
* @returns 区域对象
*/
getAreaById(id: number): any;
/**
* 隐藏单个区域
* @param id - 区域id值
* @returns 无
*/
hideArea(id: number): void;
/**
* 显示单个区域
* @param id - 区域id值
* @returns 无
*/
showArea(id: number): void;
/**
* 移除单个区域
* @param item - 区域的id值,或 addArea返回的区域对象
* @returns 无
*/
removeArea(item: number | any): void;
/**
* 添加单个区域
* @param positions - 坐标位置数组
* @param [options = {}] - 控制的参数
* @param [options.diffHeight] - 开挖深度(地形开挖时,可以控制单个区域的开挖深度)
* @returns 添加区域的记录对象
*/
addArea(positions: string[] | any[][] | LngLatPoint[] | Cesium.Cartesian3[], options?: {
diffHeight?: any;
}): any;
}
/**
* 地形开挖 ,
* 基于clippingPlanes接口,只支持单个开挖。
* @param [options] - 参数对象,包括以下:
* @param [options.positions] - 开挖区域的 坐标位置数组
* @param [options.clipOutSide = false] - 是否外切开挖
* @param [options.image] - 开挖区域的井墙面贴图URL。未传入该值时,不显示开挖区域的井。
* @param [options.imageBottom] - 当显示开挖区域的井时,井底面贴图URL
* @param [options.diffHeight] - 当显示开挖区域的井时,设置区域的挖掘深度(单位:米)
* @param [splitNum = 30] - 当显示开挖区域的井时,井墙面每两点之间插值个数
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class TerrainPlanClip extends BaseThing {
constructor(options?: {
positions?: any[][] | string[] | LngLatPoint[] | Cesium.Cartesian3[];
clipOutSide?: boolean;
image?: string;
imageBottom?: string;
diffHeight?: number;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
}, splitNum?: number);
/**
* 开挖区域的 坐标位置数组
*/
positions: any[][] | string[] | LngLatPoint[] | Cesium.Cartesian3[];
/**
* 设置所有区域的挖掘深度(单位:米)
*/
diffHeight: number;
/**
* 是否外切开挖
*/
clipOutSide: boolean;
/**
* 清除开挖
* @returns 无
*/
clear(): void;
}
/**
* 限高分析
* @param [options] - 参数对象,包括以下:
* @param [options.positions] - 限高区域坐标数组
* @param [options.height] - 限高高度(单位米),相对于bottomHeight模型地面的海拔高度的相对高度。
* @param [options.bottomHeight] - 模型地面的海拔高度(单位米)
* @param [options.color = "#3388ff"] - 颜色
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class LimitHeight extends BaseThing {
constructor(options?: {
positions?: any[][] | string[] | LngLatPoint[] | Cesium.Cartesian3[];
height?: number;
bottomHeight?: number;
color?: string | Cesium.Color;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 矢量数据图层
*/
readonly layer: GraphicLayer;
/**
* 分析区域坐标数组
*/
positions: any[][] | string[] | LngLatPoint[] | Cesium.Cartesian3[];
/**
* 限高高度(单位米),相对于bottomHeight模型地面的海拔高度的相对高度。
*/
height: number;
/**
* 模型地面的海拔高度(单位:米)
*/
bottomHeight: number;
/**
* 清除限高分析
* @returns 无
*/
clear(): void;
}
/**
* Gltf模型剖切,
* 基于clippingPlanes接口,只支持单个开挖。
* @param [options] - 参数对象,包括以下:
* @param options.graphic - 需要裁剪的对象(gltf模型)
* @param [options.positions] - 裁剪区域坐标数组(按面或线裁剪)
* @param [options.height] - 当有裁剪区域挖时,底面的高度(单位米),未设置时不显示底面。
* @param [options.type] - 裁剪类型(按方向类型正方向单面裁剪)
* @param [options.distance = 0] - 裁剪的距离
* @param [options.clipOutSide = false] - 是否外裁剪
* @param [options.edgeWidth = 0] - 裁剪区域边线宽度,0时不显示
* @param [options.edgeColor = Cesium.Color.WHITE] - 裁剪区域边线颜色
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class ModelPlanClip extends TilesetPlanClip {
constructor(options?: {
graphic: ModelEntity;
positions?: any[][] | string[] | LngLatPoint[] | Cesium.Cartesian3[];
height?: number;
type?: ClipType;
distance?: number;
clipOutSide?: boolean;
edgeWidth?: number;
edgeColor?: Cesium.Color;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 需要裁剪的对象(gltf模型)
*/
graphic: ModelEntity;
/**
* 获取当前转换计算模型逆矩阵,
* 用于 局部坐标系 与 世界坐标系 的转换。
*/
readonly inverseMatrix: Cesium.Matrix4;
}
declare namespace ModelPlanClip {
/**
* 裁剪模型 类型 枚举 同{@link ClipType}
*/
enum Type {
}
}
/**
* 3dtiles模型box盒子裁剪,
* 基于clippingPlanes接口,只支持单个开挖。
* @param [options] - 参数对象,包括以下:
* @param options.layer - 需要裁剪的对象(3dtiles图层)
* @param options.position - 裁剪盒子中心坐标位置
* @param options.dimensions - 裁剪盒子区域的长度、宽度和高度
* @param [options.showBox = false] - 是否显示box盒子
* @param [options.boxStyle] - box盒子显示时的样式
* @param [options.clipOutSide = false] - 是否外裁剪
* @param [options.edgeWidth = 0] - 裁剪区域边线宽度,0时不显示
* @param [options.edgeColor = Cesium.Color.WHITE] - 裁剪区域边线颜色
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class TilesetBoxClip extends BaseThing {
constructor(options?: {
layer: TilesetLayer;
position: LngLatPoint | Cesium.Cartesian3;
dimensions: Cesium.Cartesian3;
showBox?: boolean;
boxStyle?: BoxEntity.StyleOptions | any;
clipOutSide?: boolean;
edgeWidth?: number;
edgeColor?: Cesium.Color;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 需要裁剪的对象(3dtiles图层)
*/
layer: TilesetLayer;
/**
* 裁剪面集合
*/
readonly planes: Cesium.ClippingPlaneCollection;
/**
* 获取当前转换计算模型逆矩阵,
* 用于 局部坐标系 与 世界坐标系 的转换。
*/
readonly inverseMatrix: Cesium.Matrix4;
/**
* 模型当前中心点坐标
*/
readonly center: Cesium.Cartesian3;
/**
* 裁剪box中心点坐标
*/
position: number[] | LngLatPoint | Cesium.Cartesian3;
/**
* 裁剪box的长宽高
*/
dimensions: Cesium.Cartesian3;
/**
* 是否显示box盒子
*/
showBox: boolean;
/**
* 重新绘制
* @returns 无
*/
redraw(): void;
/**
* 清除裁剪面
* @returns 无
*/
clear(): void;
}
/**
* 3dtiles模型裁剪
* @param [options] - 参数对象,包括以下:
* @param options.layer - 需要裁剪的对象(3dtiles图层)
* @param [options.area] - 多区域数组对象, 示例: [{ positions: [[108.959062, 34.220134, 397], [108.959802, 34.220147, 397], [108.959106, 34.21953, 398]] }]
* @param [options.clipOutSide = false] - 是否外裁剪
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class TilesetClip extends TilesetEditBase {
constructor(options?: {
layer: TilesetLayer;
area?: any;
clipOutSide?: boolean;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 是否外裁剪
*/
clipOutSide: boolean;
}
/**
* 3dtiles模型分析(裁剪、压平、淹没) 基础类
* @param [options] - 参数对象,包括以下:
* @param options.layer - 需要模型分析的对象(3dtiles图层)
* @param [options.area] - 多区域数组对象, 示例: [{ positions: [[108.959062, 34.220134, 397], [108.959802, 34.220147, 397], [108.959106, 34.21953, 398]] }]
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class TilesetEditBase extends BaseThing {
constructor(options?: {
layer: TilesetLayer;
area?: any;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 区域 列表
*/
readonly list: any;
/**
* 需要分析的模型(3dtiles图层)
*/
layer: TilesetLayer;
/**
* 需要分析的模型 对应的 Cesium3DTileset 对象
*/
readonly tileset: Cesium.Cesium3DTileset;
/**
* 压平高度 (单位:米),基于压平区域最低点高度的偏移量
*/
readonly layerHeight: number;
/**
* 已添加的区域个数
*/
readonly length: number;
/**
* 清除分析
* @returns 无
*/
clear(): void;
/**
* 根据id获取区域对象
* @param id - id值
* @returns 区域对象
*/
getAreaById(id: number): any;
/**
* 隐藏单个区域
* @param id - 区域id值
* @returns 无
*/
hideArea(id: number): void;
/**
* 显示单个区域
* @param id - 区域id值
* @returns 无
*/
showArea(id: number): void;
/**
* 移除单个区域
* @param item - 区域的id,或 addArea返回的区域对象
* @returns 无
*/
removeArea(item: number | any): void;
/**
* 添加区域
* @param positions - 坐标位置数组
* @returns 添加区域的记录对象
*/
addArea(positions: string[] | any[][] | LngLatPoint[] | Cesium.Cartesian3[]): any;
}
/**
* 3dtiles模型压平
* @param [options] - 参数对象,包括以下:
* @param options.layer - 需要压平的对象(3dtiles图层)
* @param [options.area] - 多区域数组对象, 示例: [{ positions: [[108.959062, 34.220134, 397], [108.959802, 34.220147, 397], [108.959106, 34.21953, 398]] }]
* @param [options.flatHeight] - 模型基准高度(单位:米),基于压平区域最低点高度的纠偏,也支持定义在模型图层中
* @param [options.old] - 使用老版本压平,即内部自动使用{@link TilesetFlatOld}类
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class TilesetFlat extends TilesetEditBase {
constructor(options?: {
layer: TilesetLayer;
area?: any;
flatHeight?: number;
old?: boolean;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 区域 列表
*/
readonly list: any;
/**
* 需要分析的模型(3dtiles图层)
*/
layer: TilesetLayer;
/**
* 需要分析的模型 对应的 Cesium3DTileset 对象
*/
readonly tileset: Cesium.Cesium3DTileset;
/**
* 压平高度 (单位:米),基于压平区域最低点高度的偏移量
*/
readonly layerHeight: number;
/**
* 已添加的区域个数
*/
readonly length: number;
/**
* 添加单个区域
* @param positions - 坐标位置数组
* @param [options = {}] - 控制的参数
* @param [options.height] - 开挖深度(地形开挖时,可以控制单个区域的开挖深度)
* @returns 添加区域的记录对象
*/
addArea(positions: string[] | any[][] | LngLatPoint[] | Cesium.Cartesian3[], options?: {
height?: any;
}): Promise;
/**
* 根据id获取区域对象
* @param id - id值
* @returns 区域对象
*/
getAreaById(id: number): any;
/**
* 更新压平高度 (单位:米)
* @param height - 高度值(单位:米)
* @param [id] - 区域对象id
*/
updateHeight(height: number, id?: number): void;
/**
* 隐藏单个区域
* @param id - 区域id值
* @returns 无
*/
hideArea(id: number): void;
/**
* 显示单个区域
* @param id - 区域id值
* @returns 无
*/
showArea(id: number): void;
/**
* 移除单个区域
* @param item - 区域的id,或 addArea返回的区域对象
* @returns 无
*/
removeArea(item: number | any): void;
/**
* 清除分析
* @returns 无
*/
clear(): void;
}
/**
* 3dtiles模型压平
* @param [options] - 参数对象,包括以下:
* @param options.layer - 需要压平的对象(3dtiles图层)
* @param [options.area] - 多区域数组对象, 示例: [{ positions: [[108.959062, 34.220134, 397], [108.959802, 34.220147, 397], [108.959106, 34.21953, 398]] }]
* @param [options.height] - 压平高度 (单位:米),基于压平区域最低点高度的偏移量
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class TilesetFlatOld extends TilesetEditBase {
constructor(options?: {
layer: TilesetLayer;
area?: any;
height?: number;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 压平高度 (单位:米),基于压平区域最低点高度的偏移量
*/
height: number;
/**
* 更新压平高度 (单位:米)
* @param height - 高度值(单位:米)
*/
updateHeight(height: number): void;
}
declare namespace TilesetFlood {
/**
* 当前类支持的{@link EventType}事件类型
* @example
* //绑定监听事件
* thing.on(mars3d.EventType.end, function (event) {
* console.log('分析完成', event)
* })
* @property start - 开始分析
* @property change - 变化了
* @property end - 完成分析
*/
type EventType = {
start: string;
change: string;
end: string;
};
}
/**
* 3dtiles模型淹没分析
* @param [options] - 参数对象,包括以下:
* @param options.layer - 需要裁剪的对象(3dtiles图层)
* @param [options.area] - 多区域数组对象, 示例: [{ positions: [[108.959062, 34.220134, 397], [108.959802, 34.220147, 397], [108.959106, 34.21953, 398]] }]
* @param [options.speed] - 淹没速度,米/秒(默认刷新频率为55Hz)
* @param [options.minHeight] - 淹没起始的海拔高度(单位:米)
* @param [options.maxHeight] - 淹没结束的海拔高度(单位:米)
* @param [options.color = new Cesium.Color(0.15, 0.7, 0.95, 0.5)] - 淹没颜色
* @param [options.floodAll] - 是否对整个模型进行分析
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class TilesetFlood extends TilesetEditBase {
constructor(options?: {
layer: TilesetLayer;
area?: any;
speed?: number;
minHeight?: number;
maxHeight?: number;
color?: Cesium.Color | string;
floodAll?: boolean;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 淹没速度,米/秒(默认刷新频率为55Hz)
*/
speed: number;
/**
* 是否对整个模型进行分析
*/
floodAll: boolean;
/**
* 淹没高度(单位:米)
*/
height: number;
/**
* 淹没颜色
*/
color: Cesium.Color;
/**
* 重新赋值参数,同构造方法参数一致。
* @param options - 参数,与类的构造方法参数相同
* @returns 当前对象本身,可以链式调用
*/
setOptions(options: any): TilesetFlood;
/**
* 开始播放淹没动画效果
* @returns 无
*/
start(): void;
/**
* 暂停播放淹没动画效果
* @returns 无
*/
stop(): void;
/**
* 重新开始播放淹没动画效果
* @returns 无
*/
restart(): void;
/**
* 清除分析
* @returns 无
*/
clear(): void;
}
/**
* 3dtiles模型裁剪,
* 基于clippingPlanes接口,只支持单个开挖。
* @param [options] - 参数对象,包括以下:
* @param options.layer - 需要裁剪的对象(3dtiles图层)
* @param [options.positions] - 裁剪区域坐标数组(按面或线裁剪)
* @param [options.height] - 当有裁剪区域挖时,底面的高度(单位米),未设置时不显示底面。
* @param [options.type] - 裁剪类型(按方向类型正方向单面裁剪)
* @param [options.distance = 0] - 裁剪的距离
* @param [options.clipOutSide = false] - 是否外裁剪
* @param [options.edgeWidth = 0] - 裁剪区域边线宽度,0时不显示
* @param [options.edgeColor = Cesium.Color.WHITE] - 裁剪区域边线颜色
* @param [options.showPlane = false] - 是否显示裁剪平面
* @param [options.editPlane = false] - 是否可以拖拽裁剪平面进行编辑,需要showPlane:true时有效
* @param [options.planeStyle] - 裁剪平面显示时的样式
* @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态
* @param [options.eventParent] - 指定的事件冒泡对象,默认为所加入的map对象,false时不冒泡事件
*/
declare class TilesetPlanClip extends BaseThing {
constructor(options?: {
layer: TilesetLayer;
positions?: any[][] | string[] | LngLatPoint[] | Cesium.Cartesian3[];
height?: number;
type?: ClipType;
distance?: number;
clipOutSide?: boolean;
edgeWidth?: number;
edgeColor?: Cesium.Color;
showPlane?: boolean;
editPlane?: boolean;
planeStyle?: PlaneEntity.StyleOptions | any;
id?: string | number;
enabled?: boolean;
eventParent?: BaseClass | boolean;
});
/**
* 需要裁剪的对象(3dtiles图层)
*/
layer: TilesetLayer;
/**
* 裁剪面集合
*/
readonly planes: Cesium.ClippingPlaneCollection;
/**
* 获取当前转换计算模型逆矩阵,
* 用于 局部坐标系 与 世界坐标系 的转换。
*/
readonly inverseMatrix: Cesium.Matrix4;
/**
* 模型当前中心点坐标
*/
readonly center: Cesium.Cartesian3;
/**
* 更新最后一个面的 裁剪距离 (单位:米)
*/
distance: number;
/**
* 裁剪的斜面偏移量
*/
normalZ: number;
/**
* 裁剪类型(按方向类型正方向单面裁剪)
*/
type: ClipType;
/**
* 裁剪区域坐标数组(按面或线裁剪)
*/
positions: any[][] | string[] | LngLatPoint[] | Cesium.Cartesian3[];
/**
* 是否外裁剪
*/
clipOutSide: boolean;
/**
* 清除裁剪面
* @returns 无
*/
clear(): void;
/**
* 更新所有面的 裁剪距离 (单位:米)
* @param val - 裁剪距离 (单位:米)
* @returns 无
*/
updateAllDistance(val: number): void;
/**
* 更新所有面的 裁剪的斜面偏移量
* @param val - 斜面偏移量
* @returns 无
*/
updateAllNormalZ(val: number): void;
}
/**
* 控件相关 静态方法
*/
declare namespace ControlUtil {
/**
* 注册控件类
* @param type - 控件类型
* @param layerClass - 控件类
* @returns 无
*/
function register(type: string, layerClass: BaseControl): void;
/**
* 根据 控件类型 获取 控件类
* @param type - 控件类型
* @returns 控件类
*/
function getClass(type: ControlType): BaseControl | undefined;
/**
* 创建控件工厂方法
* @param type - 控件类型
* @param options - 控件参数,具体见各{@link ControlType}对应的控件类的构造方法参数
* @returns 创建完成的控件对象
*/
function create(type: ControlType, options: any): BaseControl;
}
/**
* 通用材质 转换处理类
* @param [options] - 控制参数
*/
declare class BaseMaterialConver extends BaseOptsConver {
constructor(options?: any);
/**
* 转换为Cesium相关属性值
* @param style - 样式配置
* @param [czmVal = {}] - Cesium属性值
* @returns Cesium属性值
*/
static toCesiumVal(style: any, czmVal?: any): any;
/**
* 转换Ceium对象为json简单对象,用于导出
* @param czmVal - Cesium属性值
* @param [style = {}] - json简单对象
* @returns json简单对象
*/
static toJSON(czmVal: any, style?: any): any;
/**
* 转换为json简单对象,用于导出
* @param czmVal - Cesium属性值
* @param [style = {}] - json简单对象
* @returns json简单对象
*/
toJSON(czmVal: any, style?: any): any;
}
/**
* 图片材质 转换处理类
* @param [options] - 控制参数
*/
declare class ImageOptsConver extends BaseMaterialConver {
constructor(options?: any);
/**
* 转换style到Cesium对象需要的格式
* @param style - 样式配置
* @param [czmVal = {}] - Cesium属性值
* @returns Cesium属性值
*/
static toCesiumVal(style: any, czmVal?: any): any;
/**
* 转换Ceium对象为json简单对象,用于导出
* @param czmVal - Cesium属性值
* @param [style = {}] - json简单对象
* @returns json简单对象
*/
static toJSON(czmVal: any, style?: any): any;
}
/**
* 矢量数据style转换处理基类
* @param [options] - 控制参数
*/
declare class BaseStyleConver extends BaseOptsConver {
constructor(options?: any);
}
/**
* Billboard 矢量数据style转换处理类
* @param [options] - 控制参数
*/
declare class BillboardStyleConver extends BaseStyleConver {
constructor(options?: any);
/**
* 转换style到Cesium对象需要的格式
* @param style - 样式配置
* @param [czmVal = {}] - Cesium属性值
* @param [isEntity] - 是否为Entity对象
* @returns Cesium属性值
*/
static toCesiumVal(style: any, czmVal?: any, isEntity?: boolean): any;
/**
* 导出Cesium的样式对象到json可以保存的格式
* @param czmVal - Cesium属性值
* @param [style = {}] - json简单对象
* @param [isEntity] - 是否为Entity对象
* @returns json简单对象
*/
static toJSON(czmVal: any, style?: any, isEntity?: boolean): any;
}
/**
* Box矢量数据style转换处理类
* @param [options] - 控制参数
*/
declare class BoxStyleConver extends BaseStyleConver {
constructor(options?: any);
/**
* 转换style到Cesium对象需要的格式
* @param style - 样式配置
* @param [czmVal = {}] - Cesium属性值
* @param [isEntity] - 是否为Entity对象
* @returns Cesium属性值
*/
static toCesiumVal(style: any, czmVal?: any, isEntity?: boolean): any;
/**
* 导出Cesium的样式对象到json可以保存的格式
* @param czmVal - Cesium属性值
* @param [style = {}] - json简单对象
* @param [isEntity] - 是否为Entity对象
* @returns json简单对象
*/
static toJSON(czmVal: any, style?: any, isEntity?: boolean): any;
}
/**
* Circle 矢量数据style转换处理类
* @param [options] - 控制参数
*/
declare class CircleStyleConver extends BaseStyleConver {
constructor(options?: any);
/**
* 转换style到Cesium对象需要的格式
* @param style - 样式配置
* @param [czmVal = {}] - Cesium属性值
* @param [isEntity] - 是否为Entity对象
* @returns Cesium属性值
*/
static toCesiumVal(style: any, czmVal?: any, isEntity?: boolean): any;
/**
* 导出Cesium的样式对象到json可以保存的格式
* @param czmVal - Cesium属性值
* @param [style = {}] - json简单对象
* @param [isEntity] - 是否为Entity对象
* @returns json简单对象
*/
static toJSON(czmVal: any, style?: any, isEntity?: boolean): any;
}
/**
* Cloud 矢量数据style转换处理类
* @param [options] - 控制参数
*/
declare class CloudStyleConver extends BaseStyleConver {
constructor(options?: any);
/**
* 转换style到Cesium对象需要的格式
* @param style - 样式配置
* @param [czmVal = {}] - Cesium属性值
* @returns Cesium属性值
*/
static toCesiumVal(style: any, czmVal?: any): any;
/**
* 导出Cesium的样式对象到json可以保存的格式
* @param czmVal - Cesium属性值
* @param [style = {}] - json简单对象
* @returns json简单对象
*/
static toJSON(czmVal: any, style?: any): any;
}
/**
* Corridor 矢量数据style转换处理类
* @param [options] - 控制参数
*/
declare class CorridorStyleConver extends BaseStyleConver {
constructor(options?: any);
/**
* 转换style到Cesium对象需要的格式
* @param style - 样式配置
* @param [czmVal = {}] - Cesium属性值
* @param [isEntity] - 是否为Entity对象
* @returns Cesium属性值
*/
static toCesiumVal(style: any, czmVal?: any, isEntity?: boolean): any;
/**
* 导出Cesium的样式对象到json可以保存的格式
* @param czmVal - Cesium属性值
* @param [style = {}] - json简单对象
* @param [isEntity] - 是否为Entity对象
* @returns json简单对象
*/
static toJSON(czmVal: any, style?: any, isEntity?: boolean): any;
}
/**
* Cylinder 矢量数据style转换处理类
* @param [options] - 控制参数
*/
declare class CylinderStyleConver extends BaseStyleConver {
constructor(options?: any);
/**
* 转换style到Cesium对象需要的格式
* @param style - 样式配置
* @param [czmVal = {}] - Cesium属性值
* @param [isEntity] - 是否为Entity对象
* @returns Cesium属性值
*/
static toCesiumVal(style: any, czmVal?: any, isEntity?: boolean): any;
/**
* 导出Cesium的样式对象到json可以保存的格式
* @param czmVal - Cesium属性值
* @param [style = {}] - json简单对象
* @param [isEntity] - 是否为Entity对象
* @returns json简单对象
*/
static toJSON(czmVal: any, style?: any, isEntity?: boolean): any;
}
/**
* DivGraphic 矢量数据style转换处理类
* @param [options] - 控制参数
*/
declare class DivGraphicStyleConver extends BaseStyleConver {
constructor(options?: any);
/**
* 转换style到Cesium对象需要的格式
* @param style - 样式配置
* @param [czmVal = {}] - Cesium属性值
* @returns Cesium属性值
*/
static toCesiumVal(style: any, czmVal?: any): any;
/**
* 转换Ceium对象为json简单对象,用于导出
* @param czmVal - Cesium属性值
* @param [style = {}] - json简单对象
* @returns json简单对象
*/
static toJSON(czmVal: any, style?: any): any;
}
/**
* Ellipsoid 矢量数据style转换处理类
* @param [options] - 控制参数
*/
declare class EllipsoidStyleConver extends BaseStyleConver {
constructor(options?: any);
/**
* 转换style到Cesium对象需要的格式
* @param style - 样式配置
* @param [czmVal = {}] - Cesium属性值
* @param [isEntity] - 是否为Entity对象
* @returns Cesium属性值
*/
static toCesiumVal(style: any, czmVal?: any, isEntity?: boolean): any;
/**
* 导出Cesium的样式对象到json可以保存的格式
* @param czmVal - Cesium属性值
* @param [style = {}] - json简单对象
* @param [isEntity] - 是否为Entity对象
* @returns json简单对象
*/
static toJSON(czmVal: any, style?: any, isEntity?: boolean): any;
}
/**
* Label 矢量数据style转换处理类
* @param [options] - 控制参数
*/
declare class LabelStyleConver extends BaseStyleConver {
constructor(options?: any);
/**
* 转换Ceium对象为json简单对象,用于导出
* @param czmVal - Cesium属性值
* @param [style = {}] - json简单对象
* @returns json简单对象
*/
static toJSON(czmVal: any, style?: any): any;
/**
* 设置Label全局透明度
* @param label - 文本对象
* @param value - 透明度
* @returns 无
*/
static setOpacity(label: Cesium.Label | Cesium.LabelGraphics, value: number): void;
}
/**
* Model 矢量数据style转换处理类
* @param [options] - 控制参数
*/
declare class ModelStyleConver extends BaseStyleConver {
constructor(options?: any);
/**
* 转换style到Cesium对象需要的格式
* @param style - 样式配置
* @param [czmVal = {}] - Cesium属性值
* @param [isEntity] - 是否为Entity对象
* @returns Cesium属性值
*/
static toCesiumVal(style: any, czmVal?: any, isEntity?: boolean): any;
/**
* 导出Cesium的样式对象到json可以保存的格式
* @param czmVal - Cesium属性值
* @param [style = {}] - json简单对象
* @param [isEntity] - 是否为Entity对象
* @returns json简单对象
*/
static toJSON(czmVal: any, style?: any, isEntity?: boolean): any;
/**
* 设置Model全局透明度
* @param model - 模型对象
* @param value - 透明度
* @returns 无
*/
static setOpacity(model: Cesium.Model | Cesium.ModelGraphics, value: number): void;
}
/**
* Path 矢量数据style转换处理类
* @param [options] - 控制参数
*/
declare class PathStyleConver extends BaseStyleConver {
constructor(options?: any);
/**
* 转换style到Cesium对象需要的格式
* @param style - 样式配置
* @param [czmVal = {}] - Cesium属性值
* @param [isEntity] - 是否为Entity对象
* @returns Cesium属性值
*/
static toCesiumVal(style: any, czmVal?: any, isEntity?: boolean): any;
/**
* 导出Cesium的样式对象到json可以保存的格式
* @param czmVal - Cesium属性值
* @param [style = {}] - json简单对象
* @param [isEntity] - 是否为Entity对象
* @returns json简单对象
*/
static toJSON(czmVal: any, style?: any, isEntity?: boolean): any;
}
/**
* Plane 矢量数据style转换处理类
* @param [options] - 控制参数
*/
declare class PlaneStyleConver extends BaseStyleConver {
constructor(options?: any);
/**
* 转换style到Cesium对象需要的格式
* @param style - 样式配置
* @param [czmVal = {}] - Cesium属性值
* @param [isEntity] - 是否为Entity对象
* @returns Cesium属性值
*/
static toCesiumVal(style: any, czmVal?: any, isEntity?: boolean): any;
/**
* 导出Cesium的样式对象到json可以保存的格式
* @param czmVal - Cesium属性值
* @param [style = {}] - json简单对象
* @param [isEntity] - 是否为Entity对象
* @returns json简单对象
*/
static toJSON(czmVal: any, style?: any, isEntity?: boolean): any;
}
/**
* Point 矢量数据style转换处理类
* @param [options] - 控制参数
*/
declare class PointStyleConver extends BaseStyleConver {
constructor(options?: any);
/**
* 转换style到Cesium对象需要的格式
* @param style - 样式配置
* @param [czmVal = {}] - Cesium属性值
* @param [isEntity] - 是否为Entity对象
* @returns Cesium属性值
*/
static toCesiumVal(style: any, czmVal?: any, isEntity?: boolean): any;
/**
* 导出Cesium的样式对象到json可以保存的格式
* @param czmVal - Cesium属性值
* @param [style = {}] - json简单对象
* @param [isEntity] - 是否为Entity对象
* @returns json简单对象
*/
static toJSON(czmVal: any, style?: any, isEntity?: boolean): any;
}
/**
* Polygon 矢量数据style转换处理类
*/
declare class PolygonStyleConver extends BaseStyleConver {
/**
* style样式属性赋值到 entity
* @param style - 样式
* @param entityGraphic - 矢量数据对应的 Cesium内部对象
* @param isEntity - 是否为entity
* @returns 矢量数据所需的Cesium内部对象
*/
static toCesiumVal(style: PolygonEntity.StyleOptions | any, entityGraphic: Cesium.PolygonGraphics | null, isEntity: boolean): Cesium.PolygonGraphics;
/**
* 导出Cesium的样式对象到json可以保存的格式
* @param czmVal - Cesium属性值
* @param [style = {}] - json简单对象
* @param [isEntity] - 是否为Entity对象
* @returns json简单对象
*/
static toJSON(czmVal: any, style?: any, isEntity?: boolean): any;
}
/**
* Polyline 矢量数据style转换处理类
* @param [options] - 控制参数
*/
declare class PolylineStyleConver extends BaseStyleConver {
constructor(options?: any);
/**
* 转换style到Cesium对象需要的格式
* @param style - 样式配置
* @param [czmVal = {}] - Cesium属性值
* @param [isEntity] - 是否为Entity对象
* @returns Cesium属性值
*/
static toCesiumVal(style: any, czmVal?: any, isEntity?: boolean): any;
/**
* 导出Cesium的样式对象到json可以保存的格式
* @param czmVal - Cesium属性值
* @param [style = {}] - json简单对象
* @param [isEntity] - 是否为Entity对象
* @returns json简单对象
*/
static toJSON(czmVal: any, style?: any, isEntity?: boolean): any;
}
/**
* PolylineVolume 矢量数据style转换处理类
* @param [options] - 控制参数
*/
declare class PolylineVolumeStyleConver extends BaseStyleConver {
constructor(options?: any);
/**
* 转换style到Cesium对象需要的格式
* @param style - 样式配置
* @param [czmVal = {}] - Cesium属性值
* @param [isEntity] - 是否为Entity对象
* @returns Cesium属性值
*/
static toCesiumVal(style: any, czmVal?: any, isEntity?: boolean): any;
/**
* 导出Cesium的样式对象到json可以保存的格式
* @param czmVal - Cesium属性值
* @param [style = {}] - json简单对象
* @param [isEntity] - 是否为Entity对象
* @returns json简单对象
*/
static toJSON(czmVal: any, style?: any, isEntity?: boolean): any;
}
/**
* Rectangle 矢量数据style转换处理类
* @param [options] - 控制参数
*/
declare class RectangleStyleConver extends BaseStyleConver {
constructor(options?: any);
/**
* 转换style到Cesium对象需要的格式
* @param style - 样式配置
* @param [czmVal = {}] - Cesium属性值
* @param [isEntity] - 是否为Entity对象
* @returns Cesium属性值
*/
static toCesiumVal(style: any, czmVal?: any, isEntity?: boolean): any;
/**
* 导出Cesium的样式对象到json可以保存的格式
* @param czmVal - Cesium属性值
* @param [style = {}] - json简单对象
* @param [isEntity] - 是否为Entity对象
* @returns json简单对象
*/
static toJSON(czmVal: any, style?: any, isEntity?: boolean): any;
}
/**
* RectangularSensor 矢量数据style转换处理类
* @param [options] - 控制参数
*/
declare class RectangularSensorStyleConver extends BaseStyleConver {
constructor(options?: any);
/**
* 转换style到Cesium对象需要的格式
* @param style - 样式配置
* @param [czmVal = {}] - Cesium属性值
* @returns Cesium属性值
*/
static toCesiumVal(style: any, czmVal?: any): any;
/**
* 转换Ceium对象为json简单对象,用于导出
* @param czmVal - Cesium属性值
* @param [style = {}] - json简单对象
* @returns json简单对象
*/
static toJSON(czmVal: any, style?: any): any;
}
/**
* Wall 矢量数据style转换处理类
* @param [options] - 控制参数
*/
declare class WallStyleConver extends BaseStyleConver {
constructor(options?: any);
/**
* 转换style到Cesium对象需要的格式
* @param style - 样式配置
* @param [czmVal = {}] - Cesium属性值
* @param [isEntity] - 是否为Entity对象
* @returns Cesium属性值
*/
static toCesiumVal(style: any, czmVal?: any, isEntity?: boolean): any;
/**
* 导出Cesium的样式对象到json可以保存的格式
* @param czmVal - Cesium属性值
* @param [style = {}] - json简单对象
* @param [isEntity] - 是否为Entity对象
* @returns json简单对象
*/
static toJSON(czmVal: any, style?: any, isEntity?: boolean): any;
}
/**
* DOM操作 相关静态方法类
*/
declare namespace DomUtil {
/**
* 创建一个tagName的HTML元素,将其class设置为className,并可选择将其添加到container元素中
* @param tagName - 元素类型,比如 div
* @param [className] - 附加的class样式名
* @param [container] - 添加到指定的父节点(可选)
* @returns 创建好的DOM元素
*/
function create(tagName: string, className?: string, container?: HTMLElement | HTMLDivElement | null): HTMLElement | HTMLDivElement | any;
/**
* 创建svg元素
* @param width - 宽度
* @param height - 高度
* @param path - url路径
* @param container - 添加到指定的父节点(可选)
* @returns 创建的svg元素
*/
function createSvg(width: number, height: number, path: string, container: HTMLElement): SVGElement;
/**
* 创建Video元素
* @param url - url地址
* @param [type] - 视频类型
* @param [className] - 样式名称
* @param [container] - 添加到指定的父节点(可选)
* @returns 创建的Video元素
*/
function createVideo(url: string, type?: string, className?: string, container?: HTMLElement): HTMLVideoElement;
/**
* 返回给定DOM id的元素,或者返回元素本身
* @param id - dom的id
* @returns DOM元素
*/
function get(id: string | HTMLElement): HTMLElement;
/**
* 将HTML字符串解析为DOM
* @param domStr - HTML字符串
* @param [withWrapper] - 是否返回DIV父节点
* @param [className] - 指定加上的样式名称
* @returns 解析后的DOM元素
*/
function parseDom(domStr: string, withWrapper?: boolean, className?: string): HTMLDivElement | NodeListOf;
/**
* 从其父元素中移除元素
* @param el - DOM元素或元素ID
* @returns 无
*/
function remove(el: HTMLElement | string): void;
/**
* 删除所有子元素
* @param el - DOM元素
* @returns 无
*/
function empty(el: HTMLElement): void;
/**
* 返回元素上某个样式属性的值
* @param el - 指定的DOM元素
* @param style - 样式名称
* @returns 样式的值
*/
function getStyle(el: HTMLElement, style: string): string | null;
/**
* 判断元素是否有指定class样式
* @param el - DOM元素
* @param name - class样式名称
* @returns 包含返回`true`,不包含返回`false`
*/
function hasClass(el: HTMLElement, name: string): boolean;
/**
* 在元素上添加指定的name的calss样式
* @param el - DOM元素
* @param name - class样式名称
* @returns 无
*/
function addClass(el: HTMLElement, name: string): void;
/**
* 在元素上移除指定的name的calss样式
* @param el - DOM元素
* @param name - class样式名称
* @returns 无
*/
function removeClass(el: HTMLElement, name: string): void;
/**
* 在元素上赋值设置指定的name的calss样式
* @param el - DOM元素
* @param name - class样式名称
* @returns 无
*/
function setClass(el: HTMLElement, name: string): void;
/**
* 获取dom元素上的class样式名称
* @param el - DOM元素
* @returns class样式名称
*/
function getClass(el: HTMLElement): string;
/**
* 复制canvas对象
* @param oldCanvas - 原canvas对象
* @returns 复制后的canvas对象
*/
function copyCanvas(oldCanvas: HTMLCanvasElement): HTMLCanvasElement;
}
/**
* 矢量数据标绘编辑相关常量
*/
declare namespace DrawUtil {
/**
* 拖拽点分类
*/
const PointType: number;
/**
* 拖拽点颜色
* @example
* mars3d.DrawUtil.PointColor.Control = '#1c197d' //位置控制拖拽点
* mars3d.DrawUtil.PointColor.MoveAll = '#8c003a' //整体平移(如线面)拖拽点
* mars3d.DrawUtil.PointColor.MoveHeight = '#9500eb' //上下移动高度的拖拽点
* mars3d.DrawUtil.PointColor.EditAttr = '#f73163' //辅助修改属性(如半径)的拖拽点
* mars3d.DrawUtil.PointColor.AddMidPoint = 'rgba(4,194,201,0.3)' //增加新点,辅助拖拽点
*/
const PointColor: Cesium.Color;
/**
* 设置编辑点的样式(color颜色除外)
* @param value - 像素
* @returns 无
*/
function setPointStyle(value: PointPrimitive.StyleOptions | any): void;
}
/**
* 特效相关 静态方法
*/
declare namespace EffectUtil {
/**
* 注册特效类
* @param type - 特效类型
* @param layerClass - 特效类
* @returns 无
*/
function register(type: string, layerClass: BaseEffect): void;
/**
* 根据 特效类型 获取 特效类
* @param type - 特效类型
* @returns 特效类
*/
function getClass(type: EffectType): BaseEffect | undefined;
/**
* 创建特效工厂方法
* @param type - 特效类型
* @param options - 特效参数,具体见各{@link EffectType}对应的特效类的构造方法参数
* @returns 创建完成的特效对象
*/
function create(type: EffectType, options: any): BaseEffect;
}
/**
* 矢量数据 相关静态方法
*/
declare namespace GraphicUtil {
/**
* 是否有指定类型矢量对象
* @param type - 矢量数据类型
* @returns 是否有指定类型
*/
function hasType(type: string): boolean;
/**
* 循环执行矢量数据类型
* @param method - 执行的方法
*/
function eachGraphicType(method: (...params: any[]) => any): void;
/**
* 判断该类型是否点状对象
* @param type - 矢量数据类型
* @returns 是否点状对象类型
*/
function isPointType(type: string): boolean;
/**
* 判断该类型是否大数据对象
* @param type - 矢量数据类型
* @returns 是否大数据对象(继承了BaseCombine的相关类型)
*/
function isCombineType(type: string): boolean;
/**
* 注册矢量数据类
* @param type - 矢量数据类型
* @param graphicClass - 矢量数据类
* @returns 无
*/
function register(type: string, graphicClass: BaseGraphic | any): void;
/**
* 根据 矢量数据类型 获取 矢量数据类
* @param type - 矢量数据类型
* @returns 矢量数据类
*/
function getClass(type: string): BaseGraphic | undefined;
/**
* 根据类型和参数 创建Graphic工厂方法
* @param type - 数据类型
* @param options - 构造参数, 按type支持{@link GraphicType}类的构造方法参数
* @returns 创建完成的矢量数据对象
*/
function create(type: any, options: any): BaseGraphic | any;
/**
* 通过标绘 创建Graphic工厂方法
* @param layer - 图层对象
* @param options - Graphic构造参数,包含:
* @param options.type - 类型
* @param [options.style] - 矢量数据样式,具体参考支持 {@link GraphicType}查询对应type的类
* @param [options.attr] - 矢量数据的 属性信息,可以任意附加属性。
* @param [options.name] - 矢量数据名称
* @returns 创建完成的矢量数据对象
*/
function fromDraw(layer: GraphicLayer, options: {
type: GraphicType | string;
style?: any;
attr?: any;
name?: string;
}): BaseGraphic | any;
}
/**
* 图层相关 静态方法
*/
declare namespace LayerUtil {
/**
* 注册图层类
* @param type - 图层类型
* @param layerClass - 图层类
* @returns 无
*/
function register(type: string, layerClass: BaseLayer): void;
/**
* 根据 图层类型 获取 图层类
* @param type - 图层类型
* @returns 图层类
*/
function getClass(type: LayerType): BaseLayer | undefined;
/**
* 创建图层工厂方法
* @param options - 图层参数,包括:
* @param options.type - 图层类型
* @param options.其他 - 具体见各{@link LayerType}对应的图层类的构造方法参数
* @param [templateValues] - url模版
* @returns 创建完成的图层对象
*/
function create(options: {
type: LayerType;
其他: any;
}, templateValues?: any): BaseLayer;
/**
* 注册ImageryProvider类
* @param type - Provider类型
* @param layerClass - ImageryProvider类
* @returns 无
*/
function registerImageryProvider(type: string, layerClass: any): void;
/**
* 创建地图底图ImageryProvider的工厂方法
* @param options - Provider参数,具体见各Provider类的构造方法参数说明
* @returns ImageryProvider类
*/
function createImageryProvider(options: any): any;
/**
* 获取baseLayerPicker使用的绑定图层列表配置,
* 用于将config.json的配置basemaps数据转换为imageryProviderViewModels
* @param arrLayer - basemaps配置
* @param [templateValues] - url模版,用于替换Url中的模板值的键/值对
* @returns 转换后的 imageryProviderViewModels数组 和 显示图层的index(selectedIndex)
*/
function getImageryProviderViewModels(arrLayer: any, templateValues?: any): any;
/**
* 创建 无地形的 标准椭球体对象
* @returns 无地形 标准椭球体对象
*/
function getNoTerrainProvider(): Cesium.EllipsoidTerrainProvider;
/**
* 注册TerrainProvider类
* @param type - Provider类型
* @param layerClass - TerrainProvider类
* @returns 无
*/
function registerTerrainProvider(type: string, layerClass: any): void;
/**
* 创建地形对象的工厂方法
* @param options - 地形参数
* @param options.type - 地形类型
* @param options.url - 地形服务地址
* @param [options.proxy] - 加载资源时要使用的代理服务url。
* @param [options.templateValues] - url模版,用于替换Url中的模板值的键/值对
* @param [options.queryParameters] - 一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'}
* @param [options.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' }
* @param [options.requestVertexNormals = true] - 是否应该从服务器请求额外的光照信息,如果可用,以每个顶点法线的形式。
* @param [options.requestWaterMask = false] - 是否应该向服务器请求每个瓦的水掩膜(如果有的话)。
* @param [options.requestMetadata = true] - 是否应该从服务器请求每个块元数据(如果可用)。
* @returns 地形对象
*/
function createTerrainProvider(options: {
type: TerrainType;
url: string | Cesium.Resource;
proxy?: string;
templateValues?: any;
queryParameters?: any;
headers?: any;
requestVertexNormals?: boolean;
requestWaterMask?: boolean;
requestMetadata?: boolean;
}): Cesium.CesiumTerrainProvider;
/**
* 获取baseLayerPicker使用的绑定地形列表
* @param options - 地形参数,同{@link createTerrainProvider}方法参数
* @returns 地形列表
*/
function getTerrainProviderViewModels(options: any): Cesium.ProviderViewModel[];
}
/**
* SDK内部统一调用console.* 打印日志的控制类,在外部可以按需开启和关闭。
*/
declare namespace Log {
/**
* 是否 console.log 打印普通日志信息,可以按需关闭或开启
* @param val - 是否打印
* @returns 无
*/
function hasInfo(val: boolean): void;
/**
* 是否 console.warn 打印警告日志信息,可以按需关闭或开启,但不建议关闭
* @param val - 是否打印
* @returns 无
*/
function hasWarn(val: boolean): void;
/**
* 是否 console.error 打印错误日志信息,可以按需关闭或开启,但不建议关闭
* @param val - 是否打印
* @returns 无
*/
function hasError(val: boolean): void;
/**
* console.log 打印普通日志信息,方便开发调试
* @param sources - 打印的日志内容
* @returns 无
*/
function logInfo(sources: string | any): void;
/**
* console.warn 打印警告日志信息,方便开发调试
* @param sources - 打印的警告日志内容
* @returns 无
*/
function logWarn(sources: string | any): void;
/**
* console.warn 打印错误日志信息,方便开发调试定位问题
* @param sources - 打印的错误日志内容
* @returns 无
*/
function logError(sources: string | any): void;
}
/**
* 矢量数据材质
*/
declare namespace MaterialUtil {
/**
* 注册自定义的材质
* @param type - 类型名称
* @param materialTemplate - 材质模版
*/
function register(type: string, materialTemplate: any): void;
/**
* 创建 材质属性(用于Entity)
* @param type - 材质类型
* @param options - 创建参数,具体对照{@link MaterialType}的注释说明
* @returns 材质属性对象
*/
function createMaterialProperty(type: any, options: any): BaseMaterialProperty;
/**
* 创建 材质(用于Primitive)
* @param type - 材质类型
* @param options - 创建参数,具体对照{@link MaterialType}的注释说明
* @returns 材质对象
*/
function createMaterial(type: any, options: any): Cesium.Material;
/**
* 是否存在指定材质
* @param type - 材质类型
* @param [property] - 是否属性材质
* @returns 是否存在
*/
function hasMaterial(type: any, property?: boolean): boolean;
/**
* 将材质对象转为Josn简单对象,用于保存。
* @param material - 材质对象
* @param style - 附加到的目标对象
* @returns json简单对象
*/
function toJSON(material: Cesium.Material | BaseMaterialProperty, style: any): any;
/**
* 将材质对象参数转为Josn简单对象,用于保存。
* @param materialType - 材质对象
* @param materialOptions - 复杂对象
* @returns json简单对象
*/
function toJSONByType(materialType: string, materialOptions: any): any;
}
/**
* 图上量算 的 常用静态方法
*/
declare namespace MeasureUtil {
/**
* 求坐标数组的空间距离
* @param positions - 坐标数组
* @param [closure] - 是否闭合,如求面的周长时,传入true
* @returns 距离(单位:米)
*/
function getDistance(positions: Cesium.Cartesian3[] | LngLatPoint[], closure?: boolean): number;
/**
* 求坐标数组的 距离(地球表面弧度的),
* 比如北京到纽约(不能穿过球心,是贴地表的线的距离)
* @param positions - 坐标数组
* @returns 距离(单位:米)
*/
function getSurfaceDistance(positions: Cesium.Cartesian3[] | LngLatPoint[]): number;
/**
* 异步计算贴地距离中,每计算完成2个点之间的距离后 的回调方法
* @param options - 参数对象,具有以下属性:
* @param options.index - 坐标数组的index顺序
* @param options.positions - 当前2个点之间的 贴地坐标数组
* @param options.distance - 当前2个点之间的 贴地距离
* @param options.arrDistance - 已计算完成从第0点到index点的 每一段的长度数组
* @param options.all_distance - 已计算完成从第0点到index点的 贴地距离
*/
type getClampDistance_endItem = (options: {
index: number;
positions: Cesium.Cartesian3[];
distance: number;
arrDistance: number[];
all_distance: number;
}) => void;
/**
* 异步计算贴地距离完成 的回调方法
* @param all_distance - 路线的全部距离,单位:米
* @param arrDistance - 每2个点间的 每一段的长度数组
*/
type getClampDistance_callback = (all_distance: number, arrDistance: any[]) => void;
/**
* 异步计算贴地(地表或模型表面)距离,单位:米
* @param positions - 坐标数组
* @param options - 参数对象,具有以下属性:
* @param options.scene - 三维地图场景对象,一般用map.scene或viewer.scene
* @param [options.splitNum = 100] - 插值数,将线段分割的个数
* @param [options.has3dtiles = auto] - 是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)
* @param options.endItem - 异步计算贴地距离中,每计算完成2个点之间的距离后 的回调方法
* @param options.end - 异步计算完成的 回调方法
* @returns 异步计算完成的Promise
*/
function getClampDistance(positions: Cesium.Cartesian3[] | LngLatPoint[], options: {
scene: Cesium.Scene;
splitNum?: number;
has3dtiles?: boolean;
endItem: getClampDistance_endItem;
end: getClampDistance_endItem;
}): Promise;
/**
* 计算面积(空间平面)
* @param positions - 坐标数组
* @returns 面积,单位:平方米
*/
function getArea(positions: Cesium.Cartesian3[] | LngLatPoint[]): number;
/**
* 求坐标数组的 横切平面的面积(基于turf.area)
* @param positions - 坐标数组
* @returns 距离(单位:米)
*/
function getSurfaceArea(positions: Cesium.Cartesian3[] | LngLatPoint[]): number;
/**
* 计算三角形面积(空间平面)
* @param pos1 - 三角形顶点坐标1
* @param pos2 - 三角形顶点坐标2
* @param pos3 - 三角形顶点坐标3
* @returns 面积,单位:平方米
*/
function getTriangleArea(pos1: Cesium.Cartesian3, pos2: Cesium.Cartesian3, pos3: Cesium.Cartesian3): number;
/**
* 计算贴地面积(单位:平方米)
* @param positions - 坐标数组
* @param options - 参数对象,具有以下属性:
* @param options.scene - 三维地图场景对象,一般用map.scene或viewer.scene
* @param [options.splitNum = 10] - 插值数,将面分割的网格数
* @param [options.has3dtiles = auto] - 是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)
* @param [options.exact] - 是否进行精确计算
* @returns 异步计算完成的Promise
*/
function getClampArea(positions: Cesium.Cartesian3[] | LngLatPoint[], options: {
scene: Cesium.Scene;
splitNum?: number;
has3dtiles?: boolean;
exact?: boolean;
}): Promise;
/**
* 计算2点的角度值,角度已正北为0度,顺时针为正方向
* @param startPosition - 需要计算的点
* @param endPosition - 目标点,以该点为参考中心。
* @param [isNorthZero = false] - 是否正东为0时的角度(如方位角)
* @returns 返回角度值,0-360度
*/
function getAngle(startPosition: Cesium.Cartesian3, endPosition: Cesium.Cartesian3, isNorthZero?: boolean): number;
/**
* 格式化显示距离值, 可指定单位
* @param val - 距离值,米
* @param [options] - 参数:
* @param [options.unit = 'auto'] - 计量单位, 可选值:auto、m、km、mile、zhang 。auto时根据距离值自动选用k或km
* @param [options.lang = 0] - 使用的语言
* @param [options.decimal = 2] - 保留的小数位
* @returns 带单位的格式化距离值字符串,如:20.17 米
*/
function formatDistance(val: number, options?: {
unit?: string;
lang?: LangType;
decimal?: number;
}): string;
/**
* 格式化显示面积值, 可指定单位
* @param val - 面积值,平方米
* @param [options] - 参数:
* @param [options.unit = 'auto'] - 计量单位,可选值:auto、m、km、mu、ha 。auto时根据面积值自动选用m或km
* @param [options.lang = 0] - 使用的语言
* @param [options.decimal = 2] - 保留的小数位
* @returns 带单位的格式化面积值字符串,如:20.21 平方公里
*/
function formatArea(val: number, options?: {
unit?: string;
lang?: LangType;
decimal?: number;
}): string;
/**
* 格式化显示体积值, 可指定单位
* @param val - 体积值,立方米
* @param [options] - 参数:
* @param [options.unit = 'auto'] - 计量单位,当前无用,备用参数
* @param [options.lang = 0] - 使用的语言
* @param [options.decimal = 2] - 保留的小数位
* @returns 带单位的格式化体积值字符串,如:20.21 方
*/
function formatVolume(val: number, options?: {
unit?: string;
lang?: LangType;
decimal?: number;
}): string;
}
/**
* 坐标点的转换 相关静态方法。
* 提供了cesium内部不同坐标系之间的坐标转换、提供了国内偏移坐标系与标准坐标的转换。
*/
declare namespace PointTrans {
/**
* 经度/纬度 十进制 转为 度分秒格式
* @param value - 经度或纬度值
* @returns 度分秒对象,如: { degree:113, minute:24, second:40 }
*/
function degree2dms(value: number): any;
/**
* 经度/纬度 度分秒 转为 十进制
* @param degree - 度
* @param minute - 分
* @param second - 秒
* @returns 十进制
*/
function dms2degree(degree: number, minute: number, second: number): number;
/**
* 根据经度值 获取CGCS2000投影坐标对应的 EPSG值
* @param lng - 经度值
* @param [fd6 = false] - 是否为6度分带, true:6度分带,false:3度分带
* @param [hasAddDH = true] - 横坐标前是否加带号
* @returns EPSG值
*/
function getCGCS2000EPSGByLng(lng: number, fd6?: boolean, hasAddDH?: boolean): string | undefined;
/**
* 根据加带号的横坐标值 获取CGCS2000投影坐标对应的EPSG值
* @param x - 根据加带号的横坐标值
* @returns EPSG值
*/
function getCGCS2000EPSGByX(x: number): string | undefined;
/**
* 使用proj4转换坐标(支持任意坐标系),
* 坐标系 可以在 {@link http://epsg.io }进行查询,已经内置支持 EPSG:4326、EPSG:3857、EPSG:4490、EPSG:4491至4554
* @param arrdata - 原始坐标,示例:[39396641,3882123]
* @param fromProjParams - 原始坐标的坐标系,如'EPSG:4527'
* @param [toProjParams = 'EPSG:4326'] - 转为返回的结果坐标系
* @returns 返回结果坐标系的对应坐标,示例:[115.866936, 35.062583]
*/
function proj4Trans(arrdata: number[], fromProjParams: string | CRS, toProjParams?: string | CRS): number[];
/**
* 使用proj4转换坐标数组(支持任意坐标系),
* 坐标系 可以在 {@link http://epsg.io }进行查询,已经内置支持 EPSG:4326、EPSG:3857、EPSG:4490、EPSG:4491至4554
* @param coords - 原始坐标数组,示例:[[39396641,3882123],[39396623,3882134]]
* @param fromProjParams - 原始坐标的坐标系,如'EPSG:4527'
* @param [toProjParams = 'EPSG:4326'] - 转为返回的结果坐标系
* @returns 返回结果坐标系的对应坐标数组,示例:[[115.866936, 35.062583],[115.866923, 35.062565]]
*/
function proj4TransArr(coords: number[], fromProjParams: string, toProjParams?: string): number[];
/**
* Cesium笛卡尔空间坐标 转 经纬度坐标 ,等价于 LngLatPoint.toArray
* 常用于转换geojson
* @param cartesian - Cesium笛卡尔空间xyz坐标
* @param [noAlt] - 是否包含高度值
* @returns 经纬度坐标,示例:[123.123456,32.654321,198.7]
*/
function cartesian2lonlat(cartesian: Cesium.Cartesian3, noAlt?: boolean): number[];
/**
* Cesium笛卡尔空间坐标数组 转 经纬度坐标数组,等价于 LngLatArray.toArray
* 常用于转换geojson
* @param positions - Cesium笛卡尔空间xyz坐标数组
* @param [noAlt] - 是否包含高度值
* @returns 经纬度坐标数组,示例:[ [123.123456,32.654321,198.7], [111.123456,22.654321,50.7] ]
*/
function cartesians2lonlats(positions: Cesium.Cartesian3[], noAlt?: boolean): any[][];
/**
* Cesium笛卡尔空间坐标 转 WebMercator投影平面坐标
* @param position - Cesium笛卡尔空间xyz坐标
* @returns 墨卡托投影平面坐标,示例:[13048882,3741659,20.1]
*/
function cartesian2mercator(position: Cesium.Cartesian3): number[];
/**
* Cesium笛卡尔空间坐标数组 转 WebMercator投影平面坐标数组
* @param positions - Cesium笛卡尔空间xyz坐标数组
* @returns WebMercator投影平面坐标数组,示例:[[13048882,3741659,20.1],[13048882,3741659,21.2] ]
*/
function cartesians2mercators(positions: Cesium.Cartesian3[]): any[][];
/**
* 经纬度坐标 转 Cesium笛卡尔空间xyz坐标
* @param coord - 经纬度坐标,示例:[123.123456,32.654321,198.7]
* @param [defHeight = 0] - 默认高度
* @returns Cesium笛卡尔空间xyz坐标
*/
function lonlat2cartesian(coord: any[][], defHeight?: number): Cesium.Cartesian3;
/**
* 经纬度坐标数组 转 Cesium笛卡尔空间xyz坐标数组
* @param coords - 经纬度坐标数组,示例:[ [123.123456,32.654321,198.7], [111.123456,22.654321,50.7] ]
* @param [defHeight = 0] - 默认高度
* @returns Cesium笛卡尔空间xyz坐标数组
*/
function lonlats2cartesians(coords: any[][], defHeight?: number): Cesium.Cartesian3[];
/**
* 经纬度地理坐标 转 投影平面坐标
* @param lnglat - 经纬度坐标,示例:[123.123456,32.654321,20.1]
* @returns WebMercator投影平面坐标,示例:[13048882,3741659,20.1]
*/
function lonlat2mercator(lnglat: number[]): number[];
/**
* 经纬度地理坐标数组 转 投影平面坐标数组
* @param arr - 经纬度坐标数组,示例:[ [123.123456,32.654321,20.1], [111.123456,22.654321,21.2] ]
* @returns WebMercator投影平面坐标数组,示例:[[13048882,3741659,20.1],[13048882,3741659,21.2] ]
*/
function lonlats2mercators(arr: any[][]): any[][];
/**
* 投影平面坐标 转 Cesium笛卡尔空间xyz坐标
* @param arr - WebMercator投影平面坐标,示例:[13048882,3741659,20.1]
* @param [height] - 赋值高度
* @returns Cesium笛卡尔空间xyz坐标
*/
function mercator2cartesian(arr: number[], height?: number): Cesium.Cartesian3;
/**
* 投影平面坐标数组 转 Cesium笛卡尔空间xyz坐标数组
* @param arr - WebMercator投影平面坐标数组,示例:[[13048882,3741659,20.1],[13048882,3741659,21.2] ]
* @param [height] - 赋值高度
* @returns Cesium笛卡尔空间xyz坐标数组
*/
function mercators2cartesians(arr: number[], height?: number): Cesium.Cartesian3;
/**
* 投影平面坐标 转 经纬度地理坐标
* @param arr - WebMercator投影平面坐标,示例:[13048882,3741659,20.1]
* @returns 经纬度坐标,示例:[123.123456,32.654321,20.1]
*/
function mercator2lonlat(arr: number[]): number[];
/**
* 投影平面坐标数组 转 经纬度地理坐标数组
* @param arr - WebMercator投影平面坐标数组,示例:[[13048882,3741659,20.1],[13048882,3741659,21.2] ]
* @returns 经纬度坐标数组,示例:[ [123.123456,32.654321,20.1], [111.123456,22.654321,21.2] ]
*/
function mercators2lonlats(arr: any[][]): any[][];
/**
* 经纬度坐标转换,
* 百度坐标 (BD09) 转换为 国测局坐标 (GCJ02)
* @param arrdata - 百度坐标 (BD09)坐标数据,示例:[117.225590,31.832916]
* @returns 国测局坐标 (GCJ02)坐标数据,示例:[:117.22559,31.832917]
*/
function bd2gcj(arrdata: number[]): number[];
/**
* 经纬度坐标转换,
* 国测局坐标 (GCJ02) 转换为 百度坐标 (BD09)
* @param arrdata - 高德谷歌等国测局坐标 (GCJ02) 坐标数据,示例:[117.225590,31.832916]
* @returns 百度坐标 (BD09)坐标数据,示例:[117.232039,31.839177]
*/
function gcj2bd(arrdata: number[]): number[];
/**
* 经纬度坐标转换,
* 标准无偏坐标(WGS84) 转为 国测局坐标 (GCJ02)
* @param arrdata - 标准无偏坐标(WGS84)坐标数据,示例:[117.220102, 31.834912]
* @returns 国测局坐标 (GCJ02)坐标数据,示例:[117.225590,31.832916]
*/
function wgs2gcj(arrdata: number[]): number[];
/**
* 经纬度坐标转换,
* 国测局坐标 (GCJ02) 转换为 标准无偏坐标(WGS84)
* @param arrdata - 国测局坐标 (GCJ02)坐标数据,示例:[117.225590,31.832916]
* @returns 标准无偏坐标(WGS84)坐标数据,示例:[117.220102, 31.834912]
*/
function gcj2wgs(arrdata: number[]): number[];
/**
* 经纬度坐标转换,
* 百度坐标 (BD09) 转 标准无偏坐标(WGS84)
* @param arrdata - 百度坐标 (BD09)坐标数据,示例:[117.232039,31.839177]
* @returns 标准无偏坐标(WGS84)坐标数据,示例:[117.220102, 31.834912]
*/
function bd2wgs(arrdata: number[]): number[];
/**
* 标准无偏坐标(WGS84) 转 百度坐标 (BD09)
* @param arrdata - 标准无偏坐标(WGS84)坐标数据,示例:[117.220102, 31.834912]
* @returns 百度坐标 (BD09)坐标数据,示例:[117.232039,31.839177]
*/
function wgs2bd(arrdata: number[]): number[];
}
/**
* 单个坐标或位置矩阵相关的处理 静态方法
*/
declare namespace PointUtil {
/**
* 获取PointTrans中对应的坐标转换方法
* srcCoordType 转 dstCoordType 对应的方法名称
* @param srcCoordType - 原始的坐标系
* @param dstCoordType - 转换后的坐标系
* @returns PointTrans中对应的坐标转换方法
*/
function getTransFun(srcCoordType: ChinaCRS, dstCoordType: ChinaCRS): (...params: any[]) => any;
/**
* 获取position的最终value值,
* 因为cesium经常属性或绑定一层,通过该方法可以内部去判断是否有getValue或_value进行取最终value值。
* @param position - 各种位置属性对象
* @param [time = Cesium.JulianDate.now()] - 指定的时间值
* @returns 具体的Cartesian3对象坐标值
*/
function getPositionValue(position: Cesium.Cartesian3 | Cesium.SampledPositionProperty | any, time?: Cesium.JulianDate): Cesium.Cartesian3;
/**
* 获取 坐标数组 中 最高高程值
* @param positions - 笛卡尔坐标数组
* @param [defaultVal = 0] - 默认高程值
* @returns 最高高程值
*/
function getMaxHeight(positions: Cesium.Cartesian3[] | LngLatPoint[] | any[], defaultVal?: number): number;
/**
* 获取 坐标数组 中 最低高程值
* @param positions - 笛卡尔坐标数组
* @param [defaultVal = 0] - 默认高程值
* @returns 最低高程值
*/
function getMinHeight(positions: Cesium.Cartesian3[], defaultVal?: number): number;
/**
* 对坐标(或坐标数组)增加 指定的海拔高度值
* @param positions - 笛卡尔坐标数组
* @param [addHeight = 0] - 增加的海拔高度值
* @returns 增加高度后的坐标(或坐标数组)
*/
function addPositionsHeight(positions: Cesium.Cartesian3 | Cesium.Cartesian3[], addHeight?: number): Cesium.Cartesian3 | Cesium.Cartesian3[];
/**
* 对坐标(或坐标数组)赋值修改为 指定的海拔高度值
* @param positions - 笛卡尔坐标数组
* @param [height = 0] - 增加的海拔高度值
* @returns 增加高度后的坐标(或坐标数组)
*/
function setPositionsHeight(positions: Cesium.Cartesian3 | Cesium.Cartesian3[], height?: number): Cesium.Cartesian3 | Cesium.Cartesian3[];
/**
* 获取 坐标 的 贴地高度
* (非精确计算,根据当前加载的地形和模型数据情况有关,准确计算请用getSurfaceHeight方法)
* @param scene - 三维地图场景对象,一般用map.scene或viewer.scene
* @param position - 坐标
* @param [options = {}] - 参数对象:
* @param [options.has3dtiles = auto] - 是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)
* @param [options.objectsToExclude] - 贴模型分析时,排除的不进行贴模型计算的模型对象,可以是: primitives, entities, 或 3D Tiles features
* @param [options.width = 0.1] - Width of the intersection volume in meters.
* @returns 贴地高度
*/
function getHeight(scene: Cesium.Scene, position: Cesium.Cartesian3 | LngLatPoint, options?: {
has3dtiles?: boolean;
objectsToExclude?: any;
width?: number;
}): number;
/**
* 异步精确计算坐标的 贴地(或贴模型)高度
* @param scene - 三维地图场景对象,一般用map.scene或viewer.scene
* @param position - 坐标
* @param [options = {}] - 参数对象:
* @param [options.has3dtiles = auto] - 是否在3dtiles模型上分析(模型分析较慢,按需开启), 默认内部根据点的位置自动判断(但可能不准)
* @param [options.objectsToExclude] - 贴模型分析时,排除的不进行贴模型计算的模型对象,可以是: primitives, entities, 或 3D Tiles features
* @returns 异步计算完成的Promise
*/
function getSurfaceHeight(scene: Cesium.Scene, position: Cesium.Cartesian3 | LngLatPoint, options?: {
has3dtiles?: boolean;
objectsToExclude?: any;
}): Promise;
/**
* 异步精确计算坐标的 贴地形高度
* @param scene - 三维地图场景对象,一般用map.scene或viewer.scene
* @param position - 坐标
* @returns 异步计算完成的Promise
*/
function getSurfaceTerrainHeight(scene: Cesium.Scene, position: Cesium.Cartesian3 | LngLatPoint): Promise;
/**
* 计算 贴地(或贴模型)高度 坐标
* (非精确计算,根据当前加载的地形和模型数据情况有关)
* @param scene - 三维地图场景对象,一般用map.scene或viewer.scene
* @param position - 坐标
* @param [options = {}] - 参数对象,具有以下属性:
* @param [options.relativeHeight = fasle] - 是否在地形上侧的高度,在对象具备Cesium.HeightReference.RELATIVE_TO_GROUND时,可以设置为ture
* @param [options.maxHeight] - 可以限定最高高度,当计算的结果大于maxHeight时,原样返回,可以屏蔽计算误差的数据。
* @param [options.has3dtiles = auto] - 是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)
* @param [options.objectsToExclude] - 贴模型分析时,排除的不进行贴模型计算的模型对象,
* @returns 贴地坐标
*/
function getSurfacePosition(scene: Cesium.Scene, position: Cesium.Cartesian3, options?: {
relativeHeight?: boolean;
maxHeight?: number;
has3dtiles?: boolean;
objectsToExclude?: any;
}): Cesium.Cartesian3;
/**
* 获取 屏幕XY坐标 对应的 笛卡尔三维坐标
* @example
* //Cesium原生鼠标单击事件
* let handler = new Cesium.ScreenSpaceEventHandler(map.scene.canvas);
* handler.setInputAction(function (event) {
* let cartesian = mars3d.PointUtil.getCurrentMousePosition(map.scene, event.position);
* //继续写其他代码
* }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
* @param scene - 三维地图场景对象,一般用map.scene或viewer.scene
* @param position - 屏幕XY坐标(如鼠标所在位置)
* @param noPickEntity - 排除的不拾取矢量对象,主要用于绘制中,排除对自己本身的拾取
* @returns 笛卡尔三维坐标
*/
function getCurrentMousePosition(scene: Cesium.Scene, position: Cesium.Cartesian2, noPickEntity: any): Cesium.Cartesian3;
/**
* 获取 屏幕XY坐标 对应的 地形上的笛卡尔三维坐标(不拾取模型、矢量数据等)
* @param scene - 三维地图场景对象,一般用map.scene或viewer.scene
* @param position - 屏幕XY坐标(如鼠标所在位置)
* @returns 笛卡尔三维坐标
*/
function getCurrentMouseTerrainPosition(scene: Cesium.Scene, position: Cesium.Cartesian2): Cesium.Cartesian3;
/**
* 求2点的中间点(贴地表)
* @param mpt1 - 点1坐标
* @param mpt2 - 点2坐标
* @returns 2个点是否为重复的点
*/
function getMidpoint(mpt1: Cesium.Cartesian3 | LngLatPoint, mpt2: Cesium.Cartesian3 | LngLatPoint): Cesium.Cartesian3;
/**
* 判断2个点是否为重复的点,比如标绘中的双击会偶尔产生2个重复点
* @param mpt1 - 点1坐标
* @param mpt2 - 点2坐标
* @returns 2个点是否为重复的点
*/
function isRepeatPoint(mpt1: Cesium.Cartesian3, mpt2: Cesium.Cartesian3): boolean;
/**
* 获取 点point1 绕 点center 的地面法向量 旋转顺时针angle角度 后的 新坐标
* @param center - 中心点坐标
* @param point1 - 点坐标
* @param angle - 旋转角度,顺时针方向 0-360度
* @returns 计算得到的新坐标
*/
function getRotateCenterPoint(center: Cesium.Cartesian3, point1: Cesium.Cartesian3, angle: number): Cesium.Cartesian3;
/**
* 求 p1指向p2方向线上,距离p1或p2指定长度的 新的点
* @param p1 - 起点坐标
* @param p2 - 终点坐标
* @param len - 指定的距离,addBS为false时:len为距离起点p1的距离,addBS为true时:len为距离终点p2的距离
* @param [addBS = false] - 标识len的参考目标
* @returns 计算得到的新坐标
*/
function getOnLinePointByLen(p1: Cesium.Cartesian3, p2: Cesium.Cartesian3, len: number, addBS?: boolean): Cesium.Cartesian3;
/**
* 根据 坐标位置、hpr方向、偏移距离,计算目标点坐标
* @param position - 坐标位置
* @param offest - 偏移距离值, xyz值的单位:米
* @param hpr - 方向值
* @param [ellipsoid = Cesium.Ellipsoid.WGS84] - 变换中使用固定坐标系的椭球。
* @param [fixedFrameTransform = Cesium.Transforms.eastNorthUpToFixedFrame] - 参考系
* @returns 目标点坐标
*/
function getPositionByHprAndOffset(position: Cesium.Cartesian3 | LngLatPoint, offest: Cesium.Cartesian3, hpr: Cesium.HeadingPitchRoll, ellipsoid?: Cesium.Ellipsoid, fixedFrameTransform?: Cesium.Transforms.LocalFrameToFixedFrame): Cesium.Cartesian3;
/**
* 根据观察点的方向角度和距离,计算目标点坐标
* @param position - 观察点坐标
* @param angle - 方向角度 (正东方向为0,顺时针到360度)
* @param radius - 半径距离
* @returns 目标点坐标
*/
function getPositionByDirectionAndLen(position: Cesium.Cartesian3 | LngLatPoint, angle: number, radius: number): Cesium.Cartesian3;
/**
* 根据观察点的hpr方向和距离,计算目标点坐标
* @param position - 观察点坐标
* @param hpr - 方向值
* @param radiusZ - 半径距离
* @returns 目标点坐标
*/
function getPositionByHprAndLen(position: Cesium.Cartesian3 | LngLatPoint, hpr: Cesium.HeadingPitchRoll, radiusZ: number): Cesium.Cartesian3;
/**
* 按观察点坐标和orientation方向,求观察点射向地球与地球的交点
* @param position - 观察点坐标
* @param orientation - HeadingPitchRoll方向 或 四元数实例
* @param reverse - 是否翻转射线方向
* @param [ellipsoid = Cesium.Ellipsoid.WGS84] - 变换中使用固定坐标系的椭球。
* @returns 射线与地球的交点
*/
function getRayEarthPosition(position: Cesium.Cartesian3, orientation: Cesium.HeadingPitchRoll | Cesium.Quaternion, reverse: boolean, ellipsoid?: Cesium.Ellipsoid): Cesium.Cartesian3;
/**
* 按转换矩阵,求观察点射向地球与地球的交点
* @param matrix - 转换矩阵
* @param reverse - 是否翻转射线方向
* @param [ellipsoid = Cesium.Ellipsoid.WGS84] - 变换中使用固定坐标系的椭球。
* @returns 射线与地球的交点
*/
function getRayEarthPositionByMatrix(matrix: Cesium.Matrix4, reverse: boolean, ellipsoid?: Cesium.Ellipsoid): Cesium.Cartesian3;
/**
* 根据 position位置 和 orientation四元数实例 求 Heading Pitch Roll方向
* @param position - 位置坐标
* @param orientation - 四元数实例
* @param [ellipsoid = Cesium.Ellipsoid.WGS84] - 变换中使用固定坐标系的椭球。
* @param [fixedFrameTransform = Cesium.Transforms.eastNorthUpToFixedFrame] - 参考系
* @returns Heading Pitch Roll方向
*/
function getHeadingPitchRollByOrientation(position: Cesium.Cartesian3, orientation: Cesium.Quaternion, ellipsoid?: Cesium.Ellipsoid, fixedFrameTransform?: Cesium.Transforms.LocalFrameToFixedFrame): Cesium.HeadingPitchRoll;
/**
* 根据matrix转换矩阵 求 Heading Pitch Roll角度
* @param matrix - 转换矩阵
* @param [ellipsoid = Cesium.Ellipsoid.WGS84] - 变换中使用固定坐标系的椭球。
* @param [fixedFrameTransform = Cesium.Transforms.eastNorthUpToFixedFrame] - 参考系
* @param [result] - 可以先实例化返回的 Heading Pitch Roll角度对象
* @returns Heading Pitch Roll角度
*/
function getHeadingPitchRollByMatrix(matrix: Cesium.Matrix4, ellipsoid?: Cesium.Ellipsoid, fixedFrameTransform?: Cesium.Transforms.LocalFrameToFixedFrame, result?: Cesium.HeadingPitchRoll): Cesium.HeadingPitchRoll;
/**
* 求 localStart点 到 localEnd点的 Heading Pitch Roll方向
* @param localStart - 起点坐标
* @param localEnd - 终点坐标
* @param [ellipsoid = Cesium.Ellipsoid.WGS84] - 变换中使用固定坐标系的椭球。
* @param [fixedFrameTransform = Cesium.Transforms.eastNorthUpToFixedFrame] - 参考系
* @returns Heading Pitch Roll方向
*/
function getHeadingPitchRollForLine(localStart: Cesium.Cartesian3 | LngLatPoint, localEnd: Cesium.Cartesian3 | LngLatPoint, ellipsoid?: Cesium.Ellipsoid, fixedFrameTransform?: Cesium.Transforms.LocalFrameToFixedFrame): Cesium.HeadingPitchRoll;
}
/**
* 多个点 或 线面数据 相关处理 静态方法
*/
declare namespace PolyUtil {
/**
* 求坐标数组的中心点
* @param arr - 坐标数组
* @param height - 指定中心点的高度值,默认为所有点的最高高度
* @returns 中心点坐标
*/
function centerOfMass(arr: any[][] | string[] | LngLatPoint[] | Cesium.Cartesian3[], height: number): Cesium.Cartesian3;
/**
* 缓冲分析,求指定 点线面geojson对象 按width半径的 缓冲面对象
* @param geojson - geojson格式对象
* @param width - 缓冲半径,单位:米
* @param [steps = 8] - 缓冲步幅
* @returns 缓冲面对象,geojson格式
*/
function buffer(geojson: any, width: number, steps?: number): any;
/**
* 缓冲分析,坐标数组围合面,按width半径的 缓冲新的坐标
* @param points - 坐标数组
* @param width - 缓冲半径,单位:米
* @param [steps = 8] - 缓冲步幅
* @returns 缓冲后的新坐标数组
*/
function bufferPoints(points: LngLatPoint[] | Cesium.Cartesian3[] | any[], width: number, steps?: number): LngLatPoint[];
/**
* 求坐标数组的矩形范围内 按 splitNum网格数插值的 granularity值
* @param positions - 坐标数组
* @param [splitNum = 10] - splitNum网格数
* @returns granularity值
*/
function getGranularity(positions: LngLatPoint[] | Cesium.Cartesian3[] | any[], splitNum?: number): number;
/**
* 面内进行贴地(或贴模型)插值, 返回三角网等计算结果 的回调方法
* @param [options = {}] - 参数对象:
* @param options.list - 三角网对象数组,每个对象包含三角形的3个顶点(point1\point2\point3)相关值
* @param options.maxHeight - 面内最大高度
* @param options.minHeight - 面内最小高度
* @param options.granularity - 面内按splitNum网格数插值的granularity值
* @param options.has3dtiles - 是否贴模型
* @param options.hasTerrain - 是否贴地形
*/
type interPolygonResult = (options?: {
list: any;
maxHeight: number;
minHeight: number;
granularity: number;
has3dtiles: boolean;
hasTerrain: boolean;
}) => void;
/**
* 面内进行贴地(或贴模型)插值, 返回三角网等计算结果
* @param [options = {}] - 参数对象:
* @param options.scene - 三维地图场景对象,一般用map.scene或viewer.scene
* @param options.positions - 坐标数组
* @param [options.splitNum = 10] - 插值数,横纵等比分割的网格个数
* @param [options.exact = false] - 是否进行精确计算
* @param [options.has3dtiles] - 是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)
* @param [options.objectsToExclude] - 贴模型分析时,排除的不进行贴模型计算的模型对象,可以是: primitives, entities, 或 3D Tiles features
* @param [options.onlyPoint = false] - truea时,返回结果中只返回点,不返回三角网
* @returns 异步计算完成的Promise
*/
function interPolygon(options?: {
scene: Cesium.Scene;
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
splitNum?: number;
exact?: boolean;
has3dtiles?: boolean;
objectsToExclude?: any;
onlyPoint?: boolean;
}): Promise;
/**
* 计算面内最大、最小高度值
* @param positions - 坐标数组
* @param scene - 三维地图场景对象,一般用map.scene
* @param [options = {}] - 参数对象:
* @param [options.splitNum = 10] - 插值数,横纵等比分割的网格个数
* @param [options.has3dtiles = auto] - 是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)
* @param [options.objectsToExclude] - 贴模型分析时,排除的不进行贴模型计算的模型对象,可以是: primitives, entities, 或 3D Tiles features
* @returns 异步计算完成的Promise,结果示例:{ maxHeight: 100, minHeight: 21 }
*/
function getHeightRange(positions: LngLatPoint[] | Cesium.Cartesian3[] | any[], scene: Cesium.Scene, options?: {
splitNum?: number;
has3dtiles?: boolean;
objectsToExclude?: any;
}): Promise;
/**
* 面内进行贴地(或贴模型)插值, 返回三角网等计算结果 的回调方法
* @param [options = {}] - 参数对象:
* @param options.list - 三角网对象数组,每个对象包含三角形的3个顶点(point1\point2\point3)相关值
* @param options.maxHeight - 面内最大高度
* @param options.minHeight - 面内最小高度
* @param options.granularity - 面内按splitNum网格数插值的granularity值
* @param options.has3dtiles - 是否贴模型
* @param options.hasTerrain - 是否贴地形
* @param options.totalArea - 总面积(横截面/投影底面),执行updateVolumeByMinHeight后赋值
* @param options.totalVolume - 总体积,执行updateVolumeByMinHeight后赋值
* @param options.digVolume - 挖方体积,执行updateVolume后赋值
* @param options.fillVolume - 填方体积,执行updateVolume后赋值
*/
type VolumeResult = (options?: {
list: any;
maxHeight: number;
minHeight: number;
granularity: number;
has3dtiles: boolean;
hasTerrain: boolean;
totalArea: number;
totalVolume: number;
digVolume: number;
fillVolume: number;
}) => void;
/**
* 体积计算
* @param [options = {}] - 参数对象:
* @param options.scene - 三维地图场景对象,一般用map.scene或viewer.scene
* @param options.positions - 坐标数组
* @param [options.exact = false] - 是否进行精确计算
* @param [options.splitNum = 10] - 插值数,横纵等比分割的网格个数
* @param [options.has3dtiles = auto] - 是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)
* @param [options.objectsToExclude] - 贴模型分析时,排除的不进行贴模型计算的模型对象,可以是: primitives, entities, 或 3D Tiles features
* @returns 异步计算完成的Promise
*/
function computeVolume(options?: {
scene: Cesium.Scene;
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
exact?: boolean;
splitNum?: number;
has3dtiles?: boolean;
objectsToExclude?: any;
}): Promise;
/**
* 根据 minHeight最低底面高度 计算(或重新计算)填挖方体积
* @param resultInter - 插值完的对象
* @returns 计算完成的填挖方体积
*/
function updateVolumeByMinHeight(resultInter: interPolygonResult): VolumeResult;
/**
* 根据 基准面高度 重新计算填挖方体积
* @param resultInter - 插值完的对象
* @param cutHeight - 基准面高度
* @returns 重新计算填挖方体积后的对象
*/
function updateVolume(resultInter: VolumeResult, cutHeight: number): VolumeResult;
/**
* 获取 圆(或椭圆)边线上的坐标点数组
* @param options - 参数对象:
* @param options.position - 圆的中心坐标
* @param [options.radius] - 如是圆时,半径(单位:米)
* @param [options.semiMajorAxis] - 椭圆时的 长半轴半径(单位:米)
* @param [options.semiMinorAxis] - 椭圆时的 短半轴半径(单位:米)
* @param [options.count = 1] - 象限内点的数量,返回的总数为 count*4
* @param [options.granularity] - granularity值,与count二选一
* @param [options.rotation = 0] - 旋转的角度
* @returns 边线上的坐标点数组
*/
function getEllipseOuterPositions(options: {
position: Cesium.Cartesian3 | LngLatPoint;
radius?: number;
semiMajorAxis?: number;
semiMinorAxis?: number;
count?: number;
granularity?: number;
rotation?: number;
}): Cesium.Cartesian3[];
/**
* 格式化Rectangle矩形对象,返回经纬度值
* @param rectangle - 矩形对象
* @param [digits = 6] - 经纬度保留的小数位数
* @returns 返回经纬度值,示例: { xmin: 73.16895, xmax: 134.86816, ymin: 12.2023, ymax: 54.11485 }
*/
function formatRectangle(rectangle: Cesium.Rectangle, digits?: number): any;
/**
* 计算geojson的边界范围
* @param [geojson] - Geojson对象
* @returns 返回经纬度值,示例: { xmin: 73.16895, xmax: 134.86816, ymin: 12.2023, ymax: 54.11485 }
*/
function getExtentByGeoJSON(geojson?: any): any;
/**
* 获取 坐标数组 的 矩形边界值
* @param positions - 坐标数组
* @param [isFormat = false] - 是否格式化,格式化时示例: { xmin: 73.16895, xmax: 134.86816, ymin: 12.2023, ymax: 54.11485 }
* @returns isFormat:true时,返回格式化对象,isFormat:false时返回Cesium.Rectangle对象
*/
function getRectangle(positions: Cesium.Cartesian3[] | string[] | any[][] | LngLatPoint[], isFormat?: boolean): Cesium.Rectangle | any;
/**
* 获取坐标点数组的外接矩形的 4个顶点坐标点(数组)
* @param positions - 坐标点数组
* @param [rotation = 0] - 旋转的角度,弧度值
* @returns 4个顶点坐标点
*/
function getPositionsRectVertex(positions: LngLatPoint[] | Cesium.Cartesian3[] | any[], rotation?: number): Cesium.Cartesian3[];
/**
* 获取矩形(含旋转角度)的边线上的4个顶点坐标点数组
* @param [options] - 参数对象:
* @param options.rectangle - 矩形对象
* @param [options.rotation = 0] - 旋转的角度,弧度值
* @param [options.height = 0] - 坐标的高度
* @param [options.granularity = Cesium.Math.RADIANS_PER_DEGREE] - granularity值
* @param [options.ellipsoid = Cesium.Ellipsoid.WGS84] - 变换中使用固定坐标系的椭球。
* @returns 边线上的4个顶点坐标点数组
*/
function getRectangleOuterPositions(options?: {
rectangle: Cesium.Rectangle;
rotation?: number;
height?: number;
granularity?: number;
ellipsoid?: Cesium.Ellipsoid;
}): Cesium.Cartesian3[];
/**
* 根据传入中心点、高宽或角度,计算矩形面的顶点坐标。
* @param [options] - 参数对象:
* @param options.center - 中心坐标
* @param [options.width] - 矩形的宽度,单位:米
* @param [options.height] - 矩形的高度,单位:米
* @param [options.rotation = 0] - 旋转的角度
* @param [options.originX = 0.5] - 中心点所在的位置x轴方向比例,取值范围:0.1-1.0
* @param [options.originY = 0.5] - 中心点所在的位置y轴方向比例,取值范围:0.1-1.0
* @returns 矩形面的顶点坐标数组
*/
function getRectPositionsByCenter(options?: {
center: Cesium.Cartesian3 | LngLatPoint;
width?: number;
height?: number;
rotation?: number;
originX?: number;
originY?: number;
}): Cesium.Cartesian3[];
/**
* 判断点是否 多边形内
* @param position - 需要判断的点
* @param coordinates - 多边形的边界点
* @returns 是否在多边形内
*/
function isInPoly(position: Cesium.Cartesian3 | LngLatPoint, coordinates: Cesium.Cartesian3[] | LngLatPoint[]): boolean;
/**
* 求贝塞尔曲线坐标
* @param positions - 坐标数组
* @param [closure = fasle] - 是否闭合曲线
* @returns 坐标数组
*/
function getBezierCurve(positions: LngLatPoint[] | Cesium.Cartesian3[] | any[], closure?: boolean): Cesium.Cartesian3[];
/**
* 对路线进行平面等比插值,高度:指定的固定height值 或 按贴地高度。
* @param [options = {}] - 参数对象:
* @param options.scene - 三维地图场景对象,一般用map.scene或viewer.scene
* @param options.positions - 坐标数组
* @param [options.splitNum = 100] - 插值数,等比分割的个数
* @param [options.minDistance] - 插值最小间隔(单位:米),优先级高于splitNum
* @param [options.height = 0] - 坐标的高度
* @param [options.surfaceHeight = true] - 是否计算贴地高度 (非精确计算,根据当前加载的地形和模型数据情况有关)
* @returns 插值后的路线坐标数组
*/
function interPolyline(options?: {
scene: Cesium.Scene;
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
splitNum?: number;
minDistance?: number;
height?: number;
surfaceHeight?: boolean;
}): Cesium.Cartesian3[];
/**
* 对路线进行按空间等比插值,高度:高度值按各点的高度等比计算
* 比如:用于航线的插值运算
* @param positions - 坐标数组
* @param [options = {}] - 参数对象:
* @param [options.splitNum] - 插值数,等比分割的个数,默认不插值
* @param [options.minDistance] - 插值时的最小间隔(单位:米),优先级高于splitNum,如果传"auto",自动计算坐标中最小的2点距离
* @returns 插值后的坐标对象
*/
function interLine(positions: LngLatPoint[] | Cesium.Cartesian3[] | any[], options?: {
splitNum?: number;
minDistance?: number | string;
}): Cesium.Cartesian3[];
/**
* 求路线的贴地线坐标(插值)
* @param [options = {}] - 参数对象:
* @param options.scene - 三维地图场景对象,一般用map.scene或viewer.scene
* @param options.positions - 坐标数组
* @param [options.splitNum = 100] - 插值数,等比分割的个数
* @param [options.minDistance] - 插值最小间隔(单位:米),优先级高于splitNum
* @param [options.has3dtiles = auto] - 是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)
* @param [options.objectsToExclude] - 贴模型分析时,排除的不进行贴模型计算的模型对象,可以是: primitives, entities, 或 3D Tiles features
* @param [options.offset = 0] - 可以按需增加偏移高度(单位:米),便于可视
* @returns 异步计算完成的Promise, 等价于callback
*/
function computeSurfaceLine(options?: {
scene: Cesium.Scene;
positions: Cesium.Cartesian3[] | LngLatPoint[];
splitNum?: number;
minDistance?: number;
has3dtiles?: boolean;
objectsToExclude?: any;
offset?: number;
}): Promise;
/**
* 求 多个点 的的贴地新坐标(不插值)
* @param [options = {}] - 参数对象:
* @param options.scene - 三维地图场景对象,一般用map.scene或viewer.scene
* @param options.positions - 坐标数组
* @param [options.has3dtiles = auto] - 是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)
* @param [options.objectsToExclude] - 贴模型分析时,排除的不进行贴模型计算的模型对象,可以是: primitives, entities, 或 3D Tiles features
* @param [options.offset = 0] - 可以按需增加偏移高度(单位:米),便于可视
* @returns 异步计算完成的Promise, 等价于callback
*/
function computeSurfacePoints(options?: {
scene: Cesium.Scene;
positions: Cesium.Cartesian3[] | LngLatPoint[];
has3dtiles?: boolean;
objectsToExclude?: any;
offset?: number;
}): Promise;
/**
* 异步分段分步计算贴地距离中,每计算完成2个点之间的距离后 的回调方法
* @param raisedPositions - 当前2个点之间的 贴地坐标数组
* @param noHeight - 是否计算贴地高度失败,true时标识计算失败了
* @param index - 坐标数组的index顺序
*/
type computeStepSurfaceLine_endItem = (raisedPositions: Cesium.Cartesian3[], noHeight: boolean, index: number) => void;
/**
* 异步分段分步计算贴地距离中,每计算完成2个点之间的距离后 的回调方法
* @param arrStepPoints - 二维数组坐标集合,各分段2点之间的贴地点数组的集合
*/
type computeStepSurfaceLine_end = (arrStepPoints: any[][]) => void;
/**
* 按2个坐标点分段分步来计算,求路线的贴地线坐标(插值)
* @param [options = {}] - 参数对象:
* @param options.scene - 三维地图场景对象,一般用map.scene或viewer.scene
* @param options.positions - 坐标数组
* @param [options.splitNum = 100] - 插值数,等比分割的个数
* @param [options.minDistance] - 插值最小间隔(单位:米),优先级高于splitNum
* @param [options.has3dtiles = auto] - 是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)
* @param [options.objectsToExclude] - 贴模型分析时,排除的不进行贴模型计算的模型对象,可以是: primitives, entities, 或 3D Tiles features
* @param [options.offset = 0] - 可以按需增加偏移高度(单位:米),便于可视
* @param options.endItem - 异步计算高度完成后 的回调方法
* @param options.end - 异步计算高度完成后 的回调方法
* @returns 异步计算完成的Promise,同callback
*/
function computeStepSurfaceLine(options?: {
scene: Cesium.Scene;
positions: LngLatPoint[] | Cesium.Cartesian3[] | any[];
splitNum?: number;
minDistance?: number;
has3dtiles?: boolean;
objectsToExclude?: any;
offset?: number;
endItem: computeStepSurfaceLine_endItem;
end: computeStepSurfaceLine_end;
}): Promise;
/**
* 计算2点间的 曲线链路的点集(空中曲线)
* @param startPoint - 开始节点
* @param endPoint - 结束节点
* @param angularityFactor - 曲率
* @param numOfSingleLine - 点集数量
* @returns 曲线坐标数组
*/
function getLinkedPointList(startPoint: Cesium.Cartesian3 | LngLatPoint, endPoint: Cesium.Cartesian3 | LngLatPoint, angularityFactor: number, numOfSingleLine: number): Cesium.Cartesian3[];
/**
* 计算平行线
* @param positions - 原始线的坐标数组
* @param offset - 偏移的距离(单位米),正负决定方向
* @returns 平行线坐标数组
*/
function getOffsetLine(positions: LngLatPoint[] | Cesium.Cartesian3[] | any[], offset: number): Cesium.Cartesian3[];
/**
* 截取路线指定最大长度的新路线,
* 在最后一个点往前截取maxDistance长度。
* 应用场景: 航迹的 “尾巴线” 的运算
* @param positions - 路线坐标
* @param maxDistance - 最大的截取长度
* @param [options = {}] - 参数对象:
* @param [options.point = false] - 为true时 只返回计算的maxDistance处的坐标
* @returns 指定长度的坐标数组 ,options.point为true时,只返回数组的第1个点。
*/
function sliceByMaxDistance(positions: LngLatPoint[] | Cesium.Cartesian3[] | any[], maxDistance: number, options?: {
point?: boolean;
}): Cesium.Cartesian3[] | Cesium.Cartesian3;
/**
* 求 坐标点 的 外包围凸体面(简化只保留边界线坐标)
* @param coordinates - 经纬度坐标数组,示例:[ [123.123456,32.654321,198.7], [111.123456,22.654321,50.7] ]
* @returns 经纬度坐标数组,示例:[ [123.123456,32.654321,198.7], [111.123456,22.654321,50.7] ]
*/
function convex(coordinates: any[][]): any[][];
/**
* 在 指定bbox区域 内生成 指定数量(概略) 的网格坐标点,
* 目前常用于生成坐标点,测试数据量
* @param bbox - 区域范围,如:[116.984788, 31.625909, 117.484068, 32.021504]
* @param count - 数量(概略),返回坐标接近此数字
* @param [alt = 0] - 高度值
* @returns 坐标集合 ,如: {points:[LngLatPoint,LngLatPoint], size: 500 }
*/
function getGridPoints(bbox: number[], count: number, alt?: number): any;
}
/**
* 常用静态方法
*/
declare namespace Util {
/**
* 判断对象是否为number类型
* @param obj - 对象
* @returns 是否为number类型
*/
function isnumber(obj: any): boolean;
/**
* 判断对象是否为String类型
* @param obj - 对象
* @returns 是否为String类型
*/
function isString(obj: any): boolean;
/**
* 判断对象是否为Boolean类型
* @param obj - 对象
* @returns 是否为Boolean类型
*/
function isBoolean(obj: any): boolean;
/**
* 判断对象是否为Object类型
* @param obj - 对象
* @returns 是否为Object类型
*/
function isObject(obj: any): boolean;
/**
* 判断对象是否为纯粹的Object类型
* (所谓"纯粹的对象",就是该对象是通过"{}"或"new Object"创建的)
* @param obj - 对象
* @returns 是否为Object类型
*/
function isPlainObject(obj: any): boolean;
/**
* 判断对象是否为function方法
* @param val - 对象
* @returns 是否为function方法
*/
function isFunction(val: any): boolean;
/**
* 判断对象是否为简单类型(包括:String\Boolean\number\Array)
* @param value - 对象
* @returns 是否为简单类型(包括:String\Boolean\number\Array)
*/
function isSimpleType(value: any): boolean;
/**
* 判断当前Cesium库 是否mars3d修改后的版本(mars3d-cesium库)
*/
const isMars3DCesium: boolean;
/**
* 格式化数字,返回指定小数位的数字
* @param num - 数字
* @param [digits = 0] - 小数位数
* @returns 返回digits指定小数位的数字
*/
function formatNum(num: number, digits?: number): number;
/**
* 按指定长度,对数字进行补零,返回指定长度的字符串
* @param numStr - 数字对象,示例:1234
* @param n - 指定长度,示例:8
* @returns 补零后的指定长度的字符串,示例:'00001234'
*/
function padLeft0(numStr: number | string, n: number): string;
/**
* 根据空格分割字符串,并返回字符串数组(会自动去掉首位空格)
* @param str - 字符串
* @returns 分割后的字符串数组
*/
function splitWords(str: string): string[];
/**
* 除去字符串首尾的空格
* @param str - 字符串
* @returns 除去首尾空格的字符串
*/
function trim(str: string): string;
/**
* 获取字符串长度,区分中文和英文
* @param str - 字符串
* @returns 字符串长度
*/
function getStrLength(str: string): number;
/**
* 根据数据和格式化字符串模板,返回字符串
* @example
* let str = mars3d.Util.template("名称:{name}
", { name:"火星科技", date:"2017-8-25"} );
* //str结果为 : "名称:火星科技
"
* @param str - 格式化字符串模版,属性字段为大括号,如 {name}
* @param data - 数据对象
* @param [toEmpty = false] - 是否将模板中未匹配项转为空值
* @returns 返回字符串
*/
function template(str: string, data: any, toEmpty?: boolean): string;
/**
* 最后一个唯一ID,在stamp方法使用的
*/
let lastId: number;
/**
* 获取最新的全局唯一ID
* @returns 全局唯一ID ( ++lastId )
*/
function getGlobalId(): number;
/**
* 标记对象,给对象赋予对象的全局唯一ID(_mars3d_id值)
* @param obj - 对象
* @returns 全局唯一ID ( ++lastId )
*/
function stampGlobalId(obj: any): number;
/**
* 获取随机唯一uuid字符串,包含数字、大写字母、小写字母
* @param [prefix = 'M-'] - 前缀
* @returns 字符串
*/
function createGuid(prefix?: string): string;
/**
* 获取Popup或Tooltip格式化Html字符串
* @example
* //template可以是'all' ,返回数据的全部属性信息
* tiles3dLayer.bindPopup(function (event) {
* let attr = event.graphic.attr
* return mars3d.Util.getTemplateHtml({ title: '桥梁', template: 'all', attr: attr })
* })
*
* //template可以是格式化字符串模板
* let html = mars3d.Util.getTemplateHtml({ title: '火星项目', template: "名称:{项目名称}
类型:{设施类型}
面积:{用地面积}亩
位置:{具体位置}", attr: item })
*
* //可以是数组的template,按数组顺序构造,并转义字段名称
* //
* let html = mars3d.Util.getTemplateHtml({
* title: '塔杆',
* template: [
* { field: 'roadName', name: '所属线路' },
* { field: 'towerId', name: '杆塔编号' },
* { field: '杆塔型号', name: '杆塔型号' },
* { field: '杆塔性质', name: '杆塔性质' },
* { field: '杆塔类型', name: '杆塔类型' },
* { field: '设计单位', name: '设计单位' },
* { field: 'height', name: '海拔高度' },
* ],
* attr: item,
* })
* @param [options = {}] - 参数对象:
* @param options.attr - 属性值
* @param options.template - 模版配置,支持:'all'、数组、字符串模板
* @param [options.title] - 标题
* @param [options.edit = false] - 是否返回编辑输入框
* @param [options.width = 190] - edit:true时的,编辑输入框宽度值
* @returns Html字符串
*/
function getTemplateHtml(options?: {
attr: any;
template: string | Globe.getTemplateHtml_template[] | ((...params: any[]) => any) | any;
title?: string;
edit?: boolean;
width?: number;
}): string;
/**
* 获取Cesium对象值的最终value值,
* 因为cesium经常属性或绑定一层,通过本方法可以内部去判断是否有getValue或_value进行取最终value值。
* @param obj - Cesium对象值
* @param [ClasName] - Cesium的类名,方便识别判断
* @param [time = Cesium.JulianDate.now()] - 如果具有时间属于时,取指定的时间的值
* @returns 最终value值
*/
function getCesiumValue(obj: any, ClasName?: any, time?: Cesium.JulianDate): any;
/**
* 获取Cesium颜色对象
* @param color - Cesium的类名,方便识别判断
* @param [defval] - 默认值
* @param [time = Cesium.JulianDate.now()] - 如果具有时间属于时,取指定的时间的值
* @returns 颜色值
*/
function getCesiumColor(color: string | Cesium.Color | ((...params: any[]) => any), defval?: Cesium.Color, time?: Cesium.JulianDate): Cesium.Color;
/**
* 根据配置信息获取Cesium颜色对象
* @param style - 配置信息
* @param style.color - 颜色值
* @param [style.opacity] - 透明度
* @param [style.randomColor] - 是否随机色
* @param [defval = Cesium.Color.YELLOW] - 默认值
* @returns 颜色值
*/
function getColorByStyle(style: {
color: string | Cesium.Color;
opacity?: number;
randomColor?: boolean;
}, defval?: Cesium.Color): Cesium.Color;
/**
* 取属性值,简化Cesium内的属性,去掉getValue等,取最简的键值对。
* 方便popup、tooltip等构造方法使用
* @param attr - Cesium内的属性对象
* @param [options = {}] - 参数对象:
* @param options.onlySimpleType - 是否只获取简易类型的对象
* @returns 最简的键值对属性对象
*/
function getAttrVal(attr: any, options?: {
onlySimpleType: boolean;
}): any;
/**
* 取3DTile模型瓦片的feature原有属性
* @param feature - Cesium内的属性对象
* @returns 最简的键值对属性对象
*/
function get3DTileFeatureAttr(feature: Cesium.Cesium3DTileFeature | any): any;
/**
* 合并对象,对二级子属性为Object的对象也会进行融合。
* @param dest - 目标对象
* @param sources - 需要融入合并的对象
* @returns 融合后的对象
*/
function merge(dest: any, sources: any): any;
/**
* 复制克隆对象
* @param obj - 原始对象
* @param [removeKeys = []] - 不复制的属性名 数组
* @param [level = 5] - 拷贝的层级最大深度,避免死循环
* @returns 克隆后的对象
*/
function clone(obj: any, removeKeys?: string[], level?: number): any;
/**
* 随机获取数组中的一个元素
* @param arr - 数组
* @returns 获取到的随机元素
*/
function getArrayRandomOne(arr: any[]): any;
/**
* 移除数组中的指定对象
* @param arr - 数组
* @param val - 需要移除的数组元素对象
* @returns 对象是否移除成功
*/
function removeArrayItem(arr: any[], val: any): boolean;
/**
* 根据属性 和symbol配置 取style样式信息
* @param symbol - symbol配置
* @param symbol.styleOptions - Style样式,每种不同类型数据都有不同的样式,具体见各矢量数据的style参数。{@link GraphicType}
* @param [symbol.styleField] - 按 styleField 属性设置不同样式。
* @param [symbol.styleFieldOptions] - 按styleField值与对应style样式的键值对象。
* @param [symbol.callback] - 自定义判断处理返回style ,示例:callback: function (attr, styleOpt){ return { color: "#ff0000" }; }
* @param [attr] - 数据属性对象
* @returns style样式
*/
function getSymbolStyle(symbol: {
styleOptions: any;
styleField?: string;
styleFieldOptions?: any;
callback?: (...params: any[]) => any;
}, attr?: any): any;
/**
* geojson格式 转 arcgis服务的json格式
* @param geojson - geojson格式
* @param [idAttr = 'OBJECTID'] - id字段名称
* @returns arcgis服务的json格式
*/
function geojsonToArcGIS(geojson: any, idAttr?: string): any;
/**
* arcgis服务的json格式 转 geojson格式
* @param arcgis - arcgis服务的json格式
* @param [idAttr = 'OBJECTID'] - id字段名称
* @returns geojson格式
*/
function arcgisToGeoJSON(arcgis: any, idAttr?: string): any;
/**
* 获取GeoJSON中的features数组集合(自动判断数据来源)
* @param geojson - geojson对象
* @returns features数组集合
*/
function getGeoJsonFeatures(geojson: any): any;
/**
* GeoJSON 转为 Graphic构造参数数组(用于创建{@link BaseGraphic})
* style有3种方式控制: 1.传type及style参数;2.传symbol参数;3.数据本身的feature.properties.style;
* 优先级为:1>2>3
* @param geojson - geojson对象
* @param [options = {}] - 控制参数
* @param [options.type] - 转为指定的类型
* @param [options.style = {}] - Style样式,每种不同类型数据都有不同的样式,具体见各矢量数据的style参数。{@link GraphicType}
* @param [options.symbol] - symbol配置,与style二选一
* @param [options.symbol.type] - 标识数据类型
* @param [options.symbol.merge] - 是否合并并覆盖json中已有的style,默认不合并,仅适用symbol配置。
* @param options.symbol.styleOptions - Style样式,每种不同类型数据都有不同的样式,具体见各矢量数据的style参数。{@link GraphicType}
* @param [options.symbol.styleField] - 按 styleField 属性设置不同样式。
* @param [options.symbol.styleFieldOptions] - 按styleField值与对应style样式的键值对象。
* @param [options.symbol.callback] - 自定义判断处理返回style ,示例:callback: function (attr, styleOpt){ return { color: "#ff0000" }; }
* @param [options.crs] - 原始数据的坐标系,如'EPSG:3857' (可以从 {@link http://epsg.io }查询)
* @returns Graphic构造参数数组(用于创建{@link BaseGraphic})
*/
function geoJsonToGraphics(geojson: any, options?: {
type?: GraphicType | string;
style?: any;
symbol?: {
type?: GraphicType | string;
merge?: boolean;
styleOptions: any;
styleField?: string;
styleFieldOptions?: any;
callback?: (...params: any[]) => any;
};
crs?: string;
}): any;
/**
* GeoJSON格式的Feature单个对象转为 Graphic构造参数(用于创建{@link BaseGraphic})
* @param feature - geojson单个Feature对象
* @param [options = {}] - 参数,包括:
* @param [options.type] - 转为指定的类型
* @param [options.style = {}] - Style样式,每种不同类型数据都有不同的样式,具体见各矢量数据的style参数。{@link GraphicType}
* @param [options.crs] - 原始数据的坐标系,如'EPSG:3857' (可以从 {@link http://epsg.io }查询)
* @param [options.onPointTrans] - 坐标转换方法,可用于对每个坐标做额外转换处理
* @returns Graphic构造参数(用于创建{@link BaseGraphic})
*/
function featureToGraphic(feature: any, options?: {
type?: GraphicType | string;
style?: any;
crs?: string;
onPointTrans?: (...params: any[]) => any;
}): any;
/**
* 根据当前高度获取地图层级
* @param altitude - 高度值
* @returns 地图层级,通常为 0-21
*/
function heightToZoom(altitude: number): number;
/**
* 根据图层的config的配置信息,自动加上代理等配置返回Resource对象
* @param config - 图层的配置信息
* @param config.url - url地址
* @param [config.proxy] - 加载资源时要使用的代理服务url。
* @param [config.templateValues] - 一个对象,用于替换Url中的模板值的键/值对
* @param [config.queryParameters] - 一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'}
* @param [config.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' }
* @returns Resource对象
*/
function getUrlResource(config: {
url: string;
proxy?: string;
templateValues?: any;
queryParameters?: any;
headers?: any;
}): Cesium.Resource;
/**
* 文字转base64图片
* @param text - 文字内容
* @param [textStyle = {}] - 参数对象:
* @param [textStyle.font = '10px sans-serif'] - 使用的CSS字体。
* @param [textStyle.textBaseline = 'bottom'] - 文本的基线。
* @param [textStyle.fill = true] - 是否填充文本。
* @param [textStyle.fillColor = Cesium.Color.WHITE] - 填充颜色。
* @param [textStyle.stroke = false] - 是否描边文本。
* @param [textStyle.strokeWidth = 1] - 文本描边的宽度。
* @param [textStyle.strokeColor = Cesium.Color.BLACK] - 文本描边的颜色。
* @param [textStyle.background = false] - 是否背景色。
* @param [textStyle.backgroundColor = Cesium.Color.TRANSPARENT] - 画布的背景色。
* @param [textStyle.padding = 0] - 要在文本周围添加的填充的像素大小。
* @param [textStyle.outline = false] - 是否边框
* @param [textStyle.outlineWidth = 4] - 边框的宽度。
* @param [textStyle.outlineColor = fillColor] - 矩形边框的颜色。
* @returns canvas对象
*/
function getTextImage(text: string, textStyle?: {
font?: string;
textBaseline?: string;
fill?: boolean;
fillColor?: Cesium.Color;
stroke?: boolean;
strokeWidth?: number;
strokeColor?: Cesium.Color;
background?: boolean;
backgroundColor?: Cesium.Color;
padding?: number;
outline?: boolean;
outlineWidth?: number;
outlineColor?: Cesium.Color;
}): HTMLCanvasElement;
/**
* 获取用于EntityCluster聚合的圆形图标对象
* @param count - 数字
* @param [options = {}] - 参数对象:
* @param [options.radius = 26] - 圆形图标的整体半径大小(单位:像素)
* @param [options.color = 'rgba(181, 226, 140, 0.6)'] - 圆形图标的背景颜色
* @param [options.opacity = 0.5] - 圆形图标的透明度
* @param [options.borderWidth = 5] - 圆形图标的边框宽度(单位:像素),0不显示
* @param [options.borderColor = 'rgba(110, 204, 57, 0.5)'] - 圆形图标的边框背景颜色
* @param [options.borderOpacity = 0.6] - 圆形图标边框的透明度
* @param [options.fontColor = '#ffffff'] - 数字的颜色
* @returns base64图片对象,包含 data URI 的DOMString。
*/
function getCircleImage(count: number, options?: {
radius?: number;
color?: string;
opacity?: number;
borderWidth?: number;
borderColor?: string;
borderOpacity?: number;
fontColor?: string;
}): string;
/**
* 导出下载图片文件
* @param name - 图片文件名称,不需要后缀名
* @param base64 - 图片内容,base64格式
* @returns 无
*/
function downloadBase64Image(name: string, base64: string): void;
/**
* 导出下载文本文件
* @param fileName - 文件完整名称,需要含后缀名
* @param string - 文本内容
* @returns 无
*/
function downloadFile(fileName: string, string: string): void;
/**
* 获取浏览器类型及版本
* @returns 浏览器类型及版本,示例:{ type: 'Chrome', version: 71 }
*/
function getExplorerInfo(): any;
/**
* 检测当前浏览器是否支持WebGL
* @returns 是否支持WebGL
*/
function webglreport(): boolean;
/**
* 执行检测浏览器不支持webgl后的alert错误提示弹窗
* @returns 无
*/
function webglerror(): void;
/**
* 获取当前页面的url中的?传入参数对象集合
* @returns 参数名与参数值的键值对
*/
function getRequest(): any;
/**
* 获取当前页面的url中的?传入的指定参数值
* @param name - 指定参数名称
* @returns 获取到的参数值
*/
function getRequestByName(name: string): string;
/**
* 当前是否是PC电脑浏览器。
* @returns 是否是PC电脑浏览器。
*/
function isPCBroswer(): boolean;
/**
* 执行alert弹窗(手动单击确定关闭窗口)
* @param msg - 弹窗内的内容
* @param [title] - 弹窗的标题
* @returns 无
*/
function alert(msg: string, title?: string): void;
/**
* 执行msg提示窗(自动消失)
* @param msg - 弹窗内的内容
* @returns 无
*/
function msg(msg: string): void;
/**
* 将 时间 转化为指定格式的字符串
* @example
* mars3d.Util.formatDate(date,"yyyy-MM-dd HH:mm:ss") ==> 2017-08-25 08:08:00
* mars3d.Util.formatDate(date,"yyyy-MM-dd HH:mm:ss.S") ==> 2017-08-25 08:08:00.423
* mars3d.Util.formatDate(date,"yyyy-M-d HH:mm:ss") ==> 2017-8-5 08:08:00
* @param date - 时间
* @param fmt - 格式模版,月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q) 可以用 1-2 个占位符; 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字).
* @returns 指定格式的字符串
*/
function formatDate(date: Date, fmt: string): string;
/**
* 格式化时长
* @param strtime - 时长
* @returns 格式化字符串,如XX小时XX分钟
*/
function formatTime(strtime: number): string;
/**
* 请求服务返回JSON结果
* @param options - 请求参数
* @param options.url - 服务URL地址
* @param [options.queryParameters] - 与请求一起发送的 URL 参数,例如 {id: 1987 }
* @param [options.proxy] - 加载资源时要使用的代理服务url。
* @param [options.templateValues] - 一个对象,用于替换Url中的模板值的键/值对
* @param [options.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' }
* @param [options.method = "get"] - 请求类型
* @returns 返回Promise异步处理结果,对象为JSON数据
*/
function fetchJson(options: {
url: string;
queryParameters?: any;
proxy?: string;
templateValues?: any;
headers?: any;
method?: string;
}): Promise;
/**
* 请求服务返回结果,方法是基于axios库精简的
* @param options - 请求参数
* @param options.url - 服务URL地址
* @param [options.queryParameters] - 与请求一起发送的 URL 参数,例如 {id: 1987 }
* @param [options.method = "get"] - 请求类型
* @param [options.timeout = 0] - 是否超时
* @param [options.headers] - 一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' }
* @returns 返回Promise异步处理结果,对象为response对象
*/
function sendAjax(options: {
url: string;
queryParameters?: any;
method?: string;
timeout?: number;
headers?: any;
}): Promise;
/**
* 根据设置的lang参数,获取当前key对应语言的文本内容。
* @param key - 文本key
* @param langType - 使用的语言
* @returns lang参数指定的对应文本内容
*/
function getLangText(key: string, langType: LangType): void;
/**
* 进入全屏
* @param container - 指定DOM元素,如 map.container
* @returns 是否全屏
*/
function requestFullscreen(container: HTMLElement): boolean;
/**
* 退出全屏
* @returns 是否全屏
*/
function exitFullscreen(): boolean;
}
/**
* 控件类 命名空间,
* 教程 http://mars3d.cn/dev/guide/map/control.html
*/
declare namespace control {
export { BaseControl }
export { LocationBar }
export { MouseDownView }
export { Zoom }
export { ToolButton }
export { Compass }
export { DistanceLegend }
export { MapSplit }
export { MapCompare }
export { OverviewMap }
export { ClockAnimate }
export { Timeline }
}
/**
* 特效类 命名空间,
* 教程 http://mars3d.cn/dev/guide/map/effect.html
*/
declare namespace effect {
export { BaseEffect }
export { FogEffect }
export { RainEffect }
export { SnowEffect }
export { SnowCoverEffect }
export { InvertedEffect }
export { NightVisionEffect }
export { BloomEffect }
export { BrightnessEffect }
export { BlackAndWhiteEffect }
export { MosaicEffect }
export { DepthOfFieldEffect }
export { OutlineEffect }
export { BloomTargetEffect }
}
/**
* 材质类 命名空间,
* 教程 http://mars3d.cn/dev/guide/map/material.html
*/
declare namespace material {
export { TextMaterial }
export { CylinderWaveMaterial }
export { BaseMaterialProperty }
export { CircleScanMaterialProperty }
export { CircleWaveMaterialProperty }
export { CylinderWaveMaterialProperty }
export { DigitalFlowMaterialProperty }
export { EllipsoidElectricMaterialProperty }
export { EllipsoidWaveMaterialProperty }
export { Image2MaterialProperty }
export { LineBloomMaterialProperty }
export { LineFlickerMaterialProperty }
export { LineFlowColorMaterialProperty }
export { LineFlowMaterialProperty }
export { LineTrailMaterialProperty }
export { NeonLightMaterialProperty }
export { ODLineMaterialProperty }
export { PolyAsphaltMaterialProperty }
export { PolyBlobMaterialProperty }
export { PolyFacetMaterialProperty }
export { PolyGradientMaterialProperty }
export { PolyGrassMaterialProperty }
export { PolyWoodMaterialProperty }
export { RadarLineMaterialProperty }
export { RadarWaveMaterialProperty }
export { RectSlideMaterialProperty }
export { ScanLineMaterialProperty }
export { TextMaterialProperty }
export { WallScrollMaterialProperty }
export { WaterLightMaterialProperty }
export { WaterMaterialProperty }
}
/**
* 矢量数据类 命名空间,
* 教程 http://mars3d.cn/dev/guide/map/graphic.html
*/
declare namespace graphic {
export { BaseGraphic }
export { BaseEntity }
export { BasePointEntity }
export { BasePolyEntity }
export { BasePrimitive }
export { BasePointPrimitive }
export { BasePolyPrimitive }
//基础entity
export { PointEntity }
export { BillboardEntity }
export { FontBillboardEntity }
export { DivBillboardEntity }
export { LabelEntity }
export { CanvasLabelEntity }
export { ModelEntity }
export { BoxEntity }
export { PlaneEntity }
export { CircleEntity }
export { CylinderEntity }
export { ConeTrack }
export { EllipsoidEntity }
export { PolylineEntity }
export { CurveEntity }
export { PolylineVolumeEntity }
export { PathEntity }
export { CorridorEntity }
export { WallEntity }
export { RectangleEntity }
export { PolygonEntity }
export { EllipseEntity }
export { RectangularSensor }
export { Video2D }
//polygon扩展的entity
export { AttackArrow }
export { AttackArrowPW }
export { AttackArrowYW }
export { CloseVurve }
export { DoubleArrow }
export { FineArrow }
export { FineArrowYW }
export { GatheringPlace }
export { IsosTriangle }
export { Lune }
export { Regular }
export { Sector }
export { StraightArrow }
//量算对象
export { PointMeasure }
export { DistanceMeasure }
export { DistanceSurfaceMeasure }
export { SectionMeasure }
export { AngleMeasure }
export { HeightMeasure }
export { HeightTriangleMeasure }
export { AreaMeasure }
export { AreaSurfaceMeasure }
export { VolumeMeasure }
//基础primitive
export { PointPrimitive }
export { BillboardPrimitive }
export { CloudPrimitive }
export { LabelPrimitive }
export { ModelPrimitive }
export { CirclePrimitive }
export { PlanePrimitive }
export { BoxPrimitive }
export { CylinderPrimitive }
export { ConeTrackPrimitive }
export { EllipsoidPrimitive }
export { PolylinePrimitive }
export { PolylineSimplePrimitive }
export { WallPrimitive }
export { CorridorPrimitive }
export { PolylineVolumePrimitive }
export { RectanglePrimitive }
export { PolygonPrimitive }
export { FrustumPrimitive }
//扩展的普通primitive
export { LightCone }
export { Water }
export { DiffuseWall }
export { ScrollWall }
export { DynamicRiver }
export { Road }
export { Pit }
//批量大数据primitive
export { BaseCombine }
export { FlatBillboard }
export { ModelCombine }
export { PlaneCombine }
export { BoxCombine }
export { CircleCombine }
export { CylinderCombine }
export { FrustumCombine }
export { EllipsoidCombine }
export { PolylineCombine }
export { PolylineVolumeCombine }
export { CorridorCombine }
export { WallCombine }
export { PolygonCombine }
export { WaterCombine }
export { RectangleCombine }
//自定义扩展:DIV
export { DivGraphic }
export { DivBoderLabel }
export { DivLightPoint }
export { DivUpLabel }
export { Popup }
export { Tooltip }
//自定义扩展:其他
export { ParticleSystem }
export { ArcFrustum }
export { Tetrahedron }
export { ViewShed }
export { Video3D }
export { Route }
export { FixedRoute }
//卫星插件
export { CamberRadar }
export { ConicSensor }
export { RectSensor }
export { Satellite }
export { SatelliteSensor }
}
/**
* 图层类 命名空间,
* 教程 http://mars3d.cn/dev/guide/map/layer.html
*/
declare namespace layer {
export { BaseLayer }
export { GroupLayer }
export { BaseTileLayer }
export { BaseGraphicLayer }
export { TerrainLayer }
export { ArcGisCacheLayer }
export { ArcGisTileLayer }
export { ArcGisLayer }
export { BaiduLayer }
export { BingLayer }
export { GaodeLayer }
export { GeeLayer }
export { GoogleLayer }
export { ImageLayer }
export { IonLayer }
export { MapboxLayer }
export { OsmLayer }
export { TdtLayer }
export { TencentLayer }
export { TmsLayer }
export { WmsLayer }
export { WmtsLayer }
export { XyzLayer }
export { GridLayer }
export { TileInfoLayer }
export { EmptyTileLayer }
export { CzmGeoJsonLayer }
export { KmlLayer }
export { CzmlLayer }
export { GraphicLayer }
export { GraphicLayer as DivLayer }
export { GraphicGroupLayer }
export { GeoJsonLayer }
export { TilesetLayer }
export { OsmBuildingsLayer }
export { GraticuleLayer }
export { LodGraphicLayer }
export { GeodePoiLayer }
export { WfsLayer }
export { ArcGisWfsLayer }
export { ArcGisWfsSingleLayer }
export { CanvasWindLayer }
export { WindLayer }
export { EchartsLayer }
export { HeatLayer }
export { MapVLayer }
export { S3MLayer }
export { SmImgLayer }
export { SmMvtLayer }
export { TdtDmLayer }
}
/**
* 服务查询类 命名空间
*/
declare namespace query {
export { BaiduPOI }
export { GaodePOI }
export { GaodeRoute }
export { QueryGeoServer }
export { QueryArcServer }
}
/**
* 管理或分析类 命名空间,
* 教程 http://mars3d.cn/dev/guide/map/thing.html
*/
declare namespace thing {
export { Underground }
export { Sightline }
export { Skyline }
export { Shadows }
export { Measure }
export { FloodByGraphic }
export { Slope }
export { TerrainPlanClip }
export { FloodByMaterial }
export { TerrainClip }
export { ContourLine }
export { LimitHeight }
export { TilesetPlanClip }
export { ModelPlanClip }
export { TilesetBoxClip }
export { TilesetClip }
export { TilesetFlat }
export { TilesetFlood }
export { FirstPersonRoam }
export { StreetView }
export { CameraHistory }
export { RotatePoint }
export { RotateOut }
export { MatrixMove }
export { MatrixRotate }
}
export {
name, update, version, proj4,
BaseClass, BaseThing, LngLatPoint, LngLatArray, GroundSkyBox, LocalWorldTransform, CRS, ChinaCRS, EventType, State, Token, MaterialType, GraphicType, LayerType, ControlType, EffectType, Lang, LangType, MoveType, ClipType, Icon,
DomUtil, MeasureUtil, PointUtil, PolyUtil, PointTrans, Util, Log, MaterialUtil, GraphicUtil, DrawUtil, LayerUtil, ControlUtil, EffectUtil,
BaseMaterialConver, BaseStyleConver, BillboardStyleConver, CloudStyleConver, BoxStyleConver, CircleStyleConver, CorridorStyleConver, CylinderStyleConver, DivGraphicStyleConver, EllipsoidStyleConver, LabelStyleConver, ModelStyleConver, PathStyleConver, PlaneStyleConver, PointStyleConver, PolygonStyleConver, PolylineStyleConver, PolylineVolumeStyleConver, RectangleStyleConver, RectangularSensorStyleConver, WallStyleConver,
material, graphic, provider, layer, thing, effect, control, query,
Map,
};