ArcGisLayer

new mars3d.layer.ArcGisLayer(options)

ArcGIS标准服务图层

参数名称 类型 描述信息
options object 可选

参数对象,包括以下:

参数名称 类型 默认值 描述信息
url Cesium.Resource | string

ArcGIS MapServer服务的网址。

subdomains string | Array.<string> 可选

URL模板中用于 {s} 占位符的子域。 如果此参数是单个字符串,则字符串中的每个字符都是一个子域。如果是一个数组,数组中的每个元素都是一个子域。

layers string 可选

要显示的图层的逗号分隔列表,如果应显示所有图层,则未定义。

layerDefs string 可选

可以对动态服务加条件筛选数据,示例:"{"0":"用地编号 = 'R'"}",具体可以参阅arcgis官方帮助文档理解layerDefs参数。

usePreCachedTilesIfAvailable boolean true 可选

如果为true,则表示优先使用服务的瓦片图片,没有瓦片时再使用动态服务。如果为false,则将忽略所有瓦片,直接使用动态服务。

maxTileLevel number 可选

指定在小于此层级时用瓦片加载,大于该层级用动态服务.可以在瓦片服务类型时,同时使用瓦片和动态服务。

wkid number 可选

当非标准EPSG标号时,可以指定wkid值。

token string 可选

用于通过ArcGIS MapServer服务进行身份验证的ArcGIS令牌。

tileDiscardPolicy Cesium.TileDiscardPolicy 可选

于确定图块是否为 无效,应将其丢弃。如果未指定此值,则为默认 DiscardMissingTileImagePolicy 用于平铺的地图服务器,并且NeverTileDiscardPolicy 用于非平铺地图服务器。在前一种情况下, 我们要求最大图块级别的图块0,0并检查像素(0,0),(200,20),(20,200), (80,110)和(160,130)。如果所有这些像素都是透明的,则丢弃检查为 禁用,并且不会丢弃任何图块。如果它们中的任何一种具有不透明的颜色, 在这些像素位置具有相同值的图块将被丢弃。的最终结果 对于标准ArcGIS Server,这些默认值应该是正确的图块丢弃。确保 不会丢弃任何图块,为此构造并传递 NeverTileDiscardPolicy 参数。

proxy string 可选

加载资源时要使用的代理服务url。

templateValues object 可选

一个对象,用于替换Url中的模板值的键/值对

queryParameters object 可选

一个对象,其中包含在检索资源时将发送的查询参数。比如:queryParameters: {'access_token': '123-435-456-000'},

headers object 可选

一个对象,将发送的其他HTTP标头。比如:headers: { 'X-My-Header': 'valueOfHeader' },

minimumLevel number 0 可选

服务支持的最小层级,如果服务数据中没有第0层,该参数必须配置,当地图缩放小于该级别时,平台会请求minimumLevel级数据合并展示。

maximumLevel number 18 可选

服务所支持的最大层级,大于该级别时会显示maximumLevel层数据图片拉伸后的效果。

minimumTerrainLevel number 可选

图层显示的最小层级,小于该级别时,平台不显示0至minimumTerrainLevel级数据。

maximumTerrainLevel number 可选

图层显示的最大层级,大于该级别时,平台不显示大于maximumTerrainLevel级数据。

rectangle object 可选

瓦片数据的矩形区域范围

参数名称 类型 描述信息
xmin number

最小经度值, -180 至 180

xmax number

最大经度值, -180 至 180

ymin number

最小纬度值, -90 至 90

ymax number

最大纬度值, -90 至 90

bbox Array.<number> 可选

bbox规范的瓦片数据的矩形区域范围,与rectangle二选一即可。

zIndex number 可选

控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效)。

crs CRS mars3d.CRS.EPSG4326 可选

瓦片数据的坐标系信息,默认为墨卡托投影

chinaCRS ChinaCRS 可选

标识瓦片的国内坐标系(用于自动纠偏或加偏),自动将瓦片转为map对应的chinaCRS类型坐标系。

enablePickFeatures boolean true 可选

如果为true,则请求 单击坐标处服务中对应的矢量数据 并尝试解释响应中包含的功能。为false时不去服务请求。

featureIndex number | string | function 0 可选

如果单击有多个feature返回时,默认用第0条数据,取其他数据时可以自定义,可传index顺序,回调方法、和字符串"end"代表取最后一条

featureToGraphic function mars3d.Util.geoJsonToGraphics 可选

解析单击返回的矢量数据信息为Graphic构造参数,可以按需自定义。

hasToGraphic number | boolean | function 可选

筛选或判断是否解析,单击获取到的数据进行按需筛选解析,大数据解析很卡,可以设定阀值屏蔽大数据,避免卡顿,Number类型时代表字符串长度值。

highlight object 可选

鼠标单击高亮显示对应的矢量数据 及其样式,具体见各GraphicType矢量数据的style参数。

参数名称 类型 默认值 描述信息
type GraphicType | string 可选

构造成的矢量数据类型。

enabled boolean true 可选

是否启用

popup string | Array.<Globe.getTemplateHtml_template> | function 可选

绑定的popup弹窗值,也可以bindPopup方法绑定,支持:'all'、数组、字符串模板

popupOptions Popup.StyleOptions 可选

popup弹窗时的配置参数,也支持如pointerEvents等Popup构造参数,还包括:

参数名称 类型 默认值 描述信息
title string 可选

固定的标题名称

titleField string 可选

标题对应的属性字段名称

noTitle string 可选

不显示标题

showNull string false 可选

是否显示空值

opacity number 1.0 可选

透明度,取值范围:0.0-1.0。

alpha number | function 1.0 可选

同opacity。

nightAlpha number | function 1.0 可选

当 enableLighting 为 true 时 ,在地球的夜晚区域的透明度,取值范围:0.0-1.0。

dayAlpha number | function 1.0 可选

当 enableLighting 为 true 时,在地球的白天区域的透明度,取值范围:0.0-1.0。

brightness number | function 1.0 可选

亮度

contrast number | function 1.0 可选

对比度。 1.0使用未修改的图像颜色,小于1.0会降低对比度,而大于1.0则会提高对比度。

hue number | function 0.0 可选

色调。 0.0 时未修改的图像颜色。

saturation number | function 1.0 可选

饱和度。 1.0使用未修改的图像颜色,小于1.0会降低饱和度,而大于1.0则会增加饱和度。

gamma number | function 1.0 可选

伽马校正值。 1.0使用未修改的图像颜色。

invertColor boolean 可选

是否反向颜色,内部计算规则: color.r = 1.0 - color.r

filterColor string | Cesium.Color 可选

滤镜颜色,内部计算规则: color.r = color.r * filterColor.r

maximumAnisotropy number maximum supported 可选

使用的最大各向异性水平 用于纹理过滤。如果未指定此参数,则支持最大各向异性 将使用WebGL堆栈。较大的值可使影像在水平方向上看起来更好 视图。

cutoutRectangle Cesium.Rectangle 可选

制图矩形,用于裁剪此ImageryLayer的一部分。

colorToAlpha Cesium.Color 可选

用作Alpha的颜色。

colorToAlphaThreshold number 0.004 可选

颜色到Alpha的阈值。

hasAlphaChannel boolean true 可选

如果此图像提供者提供的图像为真 包括一个Alpha通道;否则为假。如果此属性为false,则为Alpha通道,如果 目前,将被忽略。如果此属性为true,则任何没有Alpha通道的图像都将 它们的alpha随处可见。当此属性为false时,内存使用情况 和纹理上传时间可能会减少。

tileWidth number 256 可选

图像图块的像素宽度。

tileHeight number 256 可选

图像图块的像素高度。

customTags object 可选

允许替换网址模板中的自定义关键字。该对象必须具有字符串作为键,并且必须具有值。

clampToTileset boolean 可选

是否进行贴模型,tip:目前不支持亮度等参数,不支持EPSG:3857坐标系,会贴在模型和矢量对象最上面。

id string | number mars3d.Util.createGuid() 可选

图层id标识

pid string | number -1 可选

图层父级的id,一般图层管理中使用

name string '' 可选

图层名称

show boolean true 可选

图层是否显示

eventParent BaseClass | boolean 可选

指定的事件冒泡对象,默认为map对象,false时不冒泡

center object 可选

图层自定义定位视角 Map#setCameraView

参数名称 类型 描述信息
lng number

经度值, 180 - 180

lat number

纬度值, -90 - 90

alt number 可选

高度值

heading number 可选

方向角度值,绕垂直于地心的轴旋转角度, 0至360

pitch number 可选

俯仰角度值,绕纬度线旋转角度, -90至90

roll number 可选

翻滚角度值,绕经度线旋转角度, -90至90

flyTo boolean 可选

加载完成数据后是否自动飞行定位到数据所在的区域。

flyToOptions object 可选

加载完成数据后是否自动飞行定位到数据所在的区域的对应 BaseLayer#flyTo方法参数。

参考:

继承

成员(属性)

alpha : number

透明度,同opacity。从0.0到1.0。

继承自:
默认值: 1.0

availability : Cesium.TimeIntervalCollection

指定时间范围内显示该对象 [提示:仅部分子类实现,非所有对象都支持]

继承自:
使用示例:
// 普通传值方式,多个【建议】
layer.availability = [
  { start: "2017-08-25 08:00:00", stop: "2017-08-25 08:01:20", isStartIncluded: true, isStopIncluded: false },
  { start: "2017-08-25 09:00:00", duration: 10 } //支持不配置stop,直接配置duration秒数时长
]
// 也支持相对时间的 秒数 传值(相对于map.clock.startTime)
layer.availability = [
  { start: 0, stop: 10, isStartIncluded: true, isStopIncluded: false },
  { start:30, duration: 10 } //支持不配置stop,直接配置duration秒数时长
]

// 普通传值方式,单个
layer.availability = { start: "2017-08-25 08:00:00", stop: "2017-08-25 08:01:20", isStartIncluded: true, isStopIncluded: false }


// cesium原生写法, 多个
layer.availability = new Cesium.TimeIntervalCollection([
  new Cesium.TimeInterval({
    start: Cesium.JulianDate.fromDate(new Date("2017-08-25 08:00:00")),
    stop: Cesium.JulianDate.fromDate(new Date("2017-08-25 08:00:20")),
    isStartIncluded: true,
    isStopIncluded: false
  }),
])

// cesium原生写法,单个
layer.availability = new Cesium.TimeInterval({
  start: Cesium.JulianDate.fromDate(new Date("2017-08-25 08:00:00")),
  stop: Cesium.JulianDate.fromDate(new Date("2017-08-25 08:00:20")),
  isStartIncluded: true,
  isStopIncluded: false
})

brightness : number

亮度,取值范围:0.0-1.0。

继承自:
默认值: 1.0

contrast : number

对比度。 1.0使用未修改的图像颜色,小于1.0会降低对比度,而大于1.0则会提高对比度。

继承自:
默认值: 1.0

readonly crs : CRS|string

坐标系

enabledEvent : boolean

设置事件的启用和禁用状态

继承自:

gamma : number

伽马校正值。 1.0使用未修改的图像颜色。

继承自:
默认值: 1.0

readonly hasOpacity : boolean

是否可以调整透明度

继承自:

readonly hasZIndex : boolean

是否可以调整图层顺序(在同类型图层间)

继承自:

hue : number

色调。 0.0 时未修改的图像颜色。

继承自:
默认值: 0.0

id : string|number

对象的id标识

继承自:

readonly imageryProvider : Cesium.ImageryProvider

瓦片图层对应的内部ImageryProvider对象

继承自:

readonly isAdded : boolean

是否已添加到地图

继承自:

readonly isDestroy : boolean

是否已经销毁了

继承自:

readonly isPrivate : boolean

是否Mars3D内部的私有对象,如标绘拖拽点等

继承自:

readonly isTile : boolean

当前是否为瓦片图层

继承自:

readonly layer : Cesium.ImageryLayer

瓦片图层对应的内部ImageryLayer对象

继承自:

name : string

名称 标识

继承自:

opacity : number

透明度,取值范围:0.0-1.0

继承自:

readonly options : object

当前类的构造参数

继承自:

pid : string|number

对象的pid标识

继承自:

readonly readyPromise : Promise.<(BaseLayer|object)>

获取图层完成解析加载完成的Promise承诺, 等价于load事件(区别在于load事件必须在load完成前绑定才能监听)。

继承自:
使用示例:
tiles3dLayer.readyPromise.then(function(layer) {
    console.log("load完成", layer)
  })

rectangle : Cesium.Rectangle

瓦片数据范围

继承自:

saturation : number

饱和度。 1.0使用未修改的图像颜色,小于1.0会降低饱和度,而大于1.0则会增加饱和度。

继承自:
默认值: 1.0

show : boolean

显示隐藏状态

继承自:

splitDirection : Cesium.SplitDirection

卷帘对比时,设置所在的屏幕,NONE时不分屏

继承自:

readonly state : State

当前对象的状态

继承自:

readonly subdomainItem : string

取当前subdomains配置的随机1个值,用于URL模板中用于 {s} 占位符的子域

继承自:

templateValues : object

图层中统一的url模版,比如可以将服务url前缀统一使用模板,方便修改或动态配置。

继承自:

readonly type : string

图层类型

继承自:

zIndex : number

图层顺序,数字大的在上面。(当hasZIndex为true时)

继承自:

方法

static mars3d.layer.ArcGisLayer.createImageryProvider(options)*

创建用于图层的 ImageryProvider对象

参数名称 类型 描述信息
options object

Provider参数,同图层构造参数。

返回值:

ImageryProvider类

async abstract _createImageryProvider(options)Promise.<(Cesium.UrlTemplateImageryProvider|*)>

创建瓦片图层对应的ImageryProvider对象

参数名称 类型 默认值 描述信息
options object {} 可选

参数对象,具体每类瓦片图层都不一样。

返回值:

创建完成的 ImageryProvider 对象

继承自:

abstract _mountedHook()void

对象添加到地图前创建一些对象的钩子方法, 只会调用一次

返回值:

继承自:

addEventParent(obj)BaseClass

添加抛出事件到父类,它将接收传播的事件

参数名称 类型 描述信息
obj object

父类对象

返回值:

当前对象本身,可以链式调用

继承自:

addTo(map)BaseLayer

添加到地图上,同 map.addThing

参数名称 类型 描述信息
map Map

地图对象

返回值:

当前对象本身,可以链式调用

继承自:

bindHighlight(options)void

绑定鼠标移入或单击后的 对象高亮

参数名称 类型 描述信息
options object 可选

高亮的样式,具体见各GraphicType矢量数据的style参数。

参数名称 类型 描述信息
type string 可选

事件类型,默认为鼠标移入高亮,也可以指定'click'单击高亮.

返回值:

继承自:

bindPopup(content, options)ArcGisLayer

绑定鼠标单击对象后的弹窗。

参数名称 类型 描述信息
content string | function

弹窗内容html字符串,或者回调方法。

options Popup.StyleOptions 可选

控制参数

返回值:

当前对象本身,可以链式调用

closeHighlight()void

清除已选中的高亮,原有style的配置项需要与highlightStyle配置有一一对应关系,否则无法清除

返回值:

继承自:

closePopup()BaseGraphicLayer

关闭弹窗

返回值:

当前对象本身,可以链式调用

destroy(noDel)void

销毁当前对象

参数名称 类型 默认值 描述信息
noDel boolean false 可选

false:会自动delete释放所有属性,true:不delete绑定的变量

返回值:

继承自:

fire(type, data, propagate)BaseClass

触发指定类型的事件。

参数名称 类型 描述信息
type EventType | string

事件类型

data object 可选

传输的数据或对象,可在事件回调方法中event对象中获取进行使用

propagate BaseClass 可选

将事件传播给父类 (用addEventParent设置)

返回值:

当前对象本身,可以链式调用

继承自:

async flyTo(options)Promise.<boolean>

飞行定位至图层数据所在的视角

参数名称 类型 默认值 描述信息
options object {} 可选

参数对象:

参数名称 类型 默认值 描述信息
radius number 可选

点状数据时,相机距离目标点的距离(单位:米)

scale number 1.2 可选

线面数据时,缩放比例,可以控制视角比矩形略大一些,这样效果更友好。

heading number 可选

方向角度值,绕垂直于地心的轴旋转角度, 0至360

pitch number 可选

俯仰角度值,绕纬度线旋转角度, -90至90

roll number 可选

翻滚角度值,绕经度线旋转角度, -90至90

minHeight number 可选

定位时相机的最小高度值,用于控制避免异常数据

maxHeight number 可选

定位时相机的最大高度值,用于控制避免异常数据

height number 可选

矩形区域时的高度值, 默认取地形高度值

duration number 可选

飞行时间(单位:秒)。如果省略,SDK内部会根据飞行距离计算出理想的飞行时间。

complete Cesium.Camera.FlightCompleteCallback 可选

飞行完成后要执行的函数。

cancel Cesium.Camera.FlightCancelledCallback 可选

飞行取消时要执行的函数。

endTransform Cesium.Matrix4 可选

变换矩阵表示飞行结束时相机所处的参照系。

maximumHeight number 可选

飞行高峰时的最大高度。

pitchAdjustHeight number 可选

如果相机飞得比这个值高,在飞行过程中调整俯仰以向下看,并保持地球在视口。

flyOverLongitude number 可选

地球上的两点之间总有两条路。这个选项迫使相机选择战斗方向飞过那个经度。

flyOverLongitudeWeight number 可选

仅在通过flyOverLongitude指定的lon上空飞行,只要该方式的时间不超过flyOverLongitudeWeight的短途时间。

convert boolean true 可选

是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。

easingFunction Cesium.EasingFunction.Callback 可选

控制在飞行过程中如何插值时间。

返回值:

如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise

继承自:

getAvailabilityShow(time)boolean

获取指定时间下的时序对应的 显示隐藏 状态

参数名称 类型 描述信息
time Cesium.JulianDate

指定时间

返回值:

显示隐藏 状态

继承自:

getRealShow(time)boolean

获取当前对象真实实际的显示状态

参数名称 类型 描述信息
time Cesium.JulianDate

当前时间

返回值:

真实的实时显示状态,当时序范围外,被聚合时返回的是false

继承自:

hasEventParent(obj)boolean

是否绑定了抛出事件到指定父类

参数名称 类型 描述信息
obj object

父类对象

返回值:

是否绑定了抛出事件

继承自:

hasPopup()boolean

是否存在Popup绑定

返回值:

是否存在Popup绑定

listens(type, propagate)boolean

是否有绑定指定的事件

参数名称 类型 描述信息
type EventType | string

事件类型

propagate BaseClass 可选

是否判断指定的父类 (用addEventParent设置的)

返回值:

是否存在

继承自:

off(types, fn, context)BaseClass

解除绑定指定类型事件监听器

参数名称 类型 描述信息
types EventType | string | Array.<EventType> 可选

事件类型,未传值时解绑所有事件

fn function 可选

绑定的监听器回调方法,未传值时解绑所有指定类型对应事件,特殊说明:map.on监听的Cesium相关原生事件时必须传入该参数

context object 可选

侦听器的上下文(this关键字将指向的对象)。

返回值:

当前对象本身,可以链式调用

继承自:

on(types, fn, context)BaseClass

绑定指定类型事件监听器, 支持在监听中调用 event.stopPropagation(); 阻止事件冒泡

参数名称 类型 描述信息
types EventType | string | Array.<EventType> | Array.<string> | object

事件类型

fn function

绑定的监听器回调方法

context object 可选

侦听器的上下文(this关键字将指向的对象)。

返回值:

当前对象本身,可以链式调用

继承自:

once(types, fn, context)BaseClass

绑定一次性执行的指定类型事件监听器 与on类似,监听器只会被触发一次,然后被删除。

参数名称 类型 描述信息
types EventType | string | Array.<EventType>

事件类型

fn function

绑定的监听器回调方法

context object 可选

侦听器的上下文(this关键字将指向的对象)。

返回值:

当前对象本身,可以链式调用

继承自:

openHighlight(highlightStyle, closeLast)void

高亮对象。

参数名称 类型 默认值 描述信息
highlightStyle object 可选

高亮的样式,具体见各GraphicType矢量数据的style参数。

closeLast boolean true 可选

是否清除地图上上一次的高亮对象

返回值:

继承自:

reload()void

重新加载图层

返回值:

继承自:

remove(destroy)void

从地图上移除,同map.removeThing

参数名称 类型 描述信息
destroy boolean 可选

是否调用destroy释放

返回值:

继承自:

removeEventParent(obj)BaseClass

移除抛出事件到父类

参数名称 类型 描述信息
obj object

父类对象

返回值:

当前对象本身,可以链式调用

继承自:

setOpacity(value)void

设置透明度

参数名称 类型 描述信息
value number

透明度

返回值:

继承自:

setOptions(options)BaseLayer

更新图层参数

参数名称 类型 描述信息
options object

与类的构造方法参数相同

返回值:

当前对象本身,可以链式调用

继承自:

toBottom()void

将当前图层在map中层级进行 置底(只对同类型图层间有效)

返回值:

继承自:

toJSON()object

将图层转为Json简单对象,用于存储后再传参加载

返回值:

Json简单对象

继承自:

toTop()void

将当前图层在map中层级进行 置顶(只对同类型图层间有效)。

返回值:

继承自:

unbindHighlight()void

解绑鼠标移入或单击后的高亮处理

返回值:

继承自:

unbindPopup()BaseGraphicLayer

解除绑定的鼠标单击对象后的弹窗。

返回值:

当前对象本身,可以链式调用

定义的类型

mars3d.layer.ArcGisLayer.EventType

ArcGIS服务图层支持的EventType事件类型

属性:
属性名称 类型 描述信息
load string

加载完成事件

click string

鼠标单击事件【enablePickFeatures:true时,支持单击获取对应的矢量对象】

使用示例:
//绑定监听事件
layer.on(mars3d.EventType.load, function (event) {
  console.log('load', event)
})
参考: