Globe

new SuperMap3D.Globe(ellipsoid)

场景中渲染的地球,包括地形 (Globe#terrainProvider) 和影像图层(Globe#imageryLayers)
Name Type Default Description
ellipsoid Ellipsoid Ellipsoid.WGS84 optional 确定地球的大小和形状

Members

baseColor : Color

获取地球的基础颜色(当没有影像可用时)。

clippingType : Number

设置地形裁剪(开挖)的类型。默认为开挖内部区域。
Default Value: ClippingType.KeepOutside

cullEnabled : Boolean

获取或设置球皮单双面渲染状态(是否剔除背面,默认为否,即单面渲染)。

depthTestAgainstTerrain : Boolean

如果布告板/折线/标签等针对地形表面开启深度检测,则不会被遮挡。
Default Value: true

ellipsoid : Ellipsoid

获取描述地球的几何椭球体对象。

enableLighting : Boolean

启用以太阳为光源照亮地球。
Default Value: false

excavationBottomTextureUrl : String

用于地形开挖纹理设置,底面纹理路径。如果设置为undefined或者null,则不使用贴图。

excavationSideTextureUrl : String

用于地形开挖纹理设置,侧面纹理路径。如果设置为undefined或者null,则不使用贴图。 纹理图片的分辨率必须为2的N次方。

globeAlpha : Number

获取或者设置地球表面的透明度。

HypsometricSetting : Object

地球分层设色(用于淹没分析、模拟等高线面、地形地貌走势等)。
See:

imageryLayers : ImageryLayerCollection

获取影像图层集合。

imageryLodTolerance : Number

影像切换精细层必须大于的块数
Default Value: 16

lightingFadeInDistance : Number

照明恢复的距离。这只在 enablellighting true时生效。
Default Value: 9000000.0

lightingFadeOutDistance : Number

enableLightingtrue时,该参数才生效。
Default Value: 6500000.0

material : Material

获取或者设置地球表面的材质。

maximumScreenSpaceError : Number

用于驱动细节级细化的最大屏幕空间误差。较高的值将提供更好的性能,但较低的视觉质量。
Default Value: 2

oceanNormalMapUrl : String

用于渲染海洋波浪的法线贴图。设置此属性仅在配置的地形provider包含水域掩码时才有效。
Default Value: buildModuleUrl('Assets/Textures/waterNormalsSmall.jpg')

preloadAncestors : Boolean

获取或设置一个值,该值指示是否应该预加载已呈现瓦片的父级。将此设置为true可优化放大体验,并在平移时提供新曝光区域的更多细节。缺点是它需要加载更多的瓦片。
Default Value: true

preloadSiblings : Boolean

获取或设置一个值,该值指示是否应该预加载所呈现瓦片的同级。将此设置为true会导致加载与渲染瓦片具有相同父元素的瓦片,即使它们被剔除。将此设置为true可能会以加载更多瓦片为代价提供更好的平移体验。
Default Value: true

shadows : ShadowMode

决定地球从每个光源投射阴影还是接收阴影。将地球设置为投射阴影可能会影响性能,因为地形会从光源的角度重新渲染。目前只有在视图中的地形才会投射阴影。默认情况下,地球不会投射阴影。
Default Value: ShadowMode.RECEIVE_ONLY

show : Boolean

决定是否显示地球。
Default Value: true

showExcavationSide : boolean

是否显示开挖地形的侧边,默认是true。
Default Value: true

showWaterEffect : Boolean

如果在地球上被水覆盖的地区显示出动画的波浪效果,则是正确的;否则,假的。如果terrainProvider不提供水域掩码,则忽略此属性。如果在地球被水覆盖的区域显示波浪动画效果,则为 true;否则为 false。 如果地形提供程序没有提供水域掩码,此属性将被忽略。
Default Value: true

SlopeSetting : Object

获取或者设置地球坡度坡向。

splitDirection : Cartesian2

卷帘方向:横向(1,0)屏蔽左侧,(-1, 0)屏蔽右侧;或者纵向(0,1)屏蔽下方,(0, -1)屏蔽上方。

swipeEnabled : Boolean

获取或者设置是否开启卷帘功能。

swipeRegion : BoundingRectangle

获取或者设置卷帘的四边形区域。

terrainProvider : TerrainProvider

获取或者设置地球的地形服务提供者。

readonlyterrainProviderChanged : Event

获取地形服务提供者改变的事件,当地球的地形服务提供者变化时触发该事件。

tileCacheSize : Number

地形瓦片的大小,以瓦片数表示。任何超过这个数量的额外贴图都将被释放,只要它们不需要渲染这个帧。更大的数字会消耗更多的内存,但会更快地显示细节,例如,在缩小和缩小时。
Default Value: 100

tileCacheSizeForMVT : Number

MVT瓦片的大小,以块数表示。任何超过这个数量的额外贴图都将被释放,只要它们不需要渲染这个帧。更大的数字会消耗更多的内存,但会更快地显示细节,例如,在缩小和缩小时。
Default Value: 100

Methods

addExcavationRegion(options)Boolean

添加地形开挖区域。
Name Type Description
options Object 具有以下属性的对象:
Name Type Description
position Array 开挖区域位置信息。
name String 开挖区域名称。
height String 开挖地下深度。
transparent Boolean 地表是否透明。
textureWrap TextureWrap 用于指定开挖纹理的贴图方式,默认值为SuperMap3D.TextureWrap.REPEAT。
Returns:
bool 成功返回true,失败返回false。
Example:
var pts = [lon1,lat1,h1,lon2,lat2,h2,lon3,lat3,h3];
viewer.scene.globe.addExcavationRegion({
                name : 'test' ,
                position : pts,
                height : 100,
                transparent : false
                textureWrap :SuperMap3D.TextureWrap.REPEAT // 重复贴图
                textureWrap :SuperMap3D.TextureWrap.CLAMP_TO_EDGE // 不重复贴图(拉伸到边缘贴图)
            });

addExtractRegion(options)

地形开挖抽出显示效果。
Name Type Description
options Object 地形开挖抽出参数包含以下属性:
Name Type Description
name String 该开挖区域的名称。
position Array 地形开挖区域。
height Number 地形开挖深度。
transparent Boolean 封边是否透明,默认值:false。
extractHeight Number 地形开挖抽出高度,默认值:100。
granularity Number 地形开挖精度,越小越精确,默认值:1。
Example:
viewer.scene.globe.addExtractRegion({
 name:'ggg',
 position:positions,
 height:50,
 transparent:transparent,
 extractHeight:200
 });

addImageryClipRegions(options)

影像裁剪。
Name Type Description
options Object 影像裁剪参数包含以下属性:
Name Type Description
position Array 裁剪区域
layers Array 参与裁剪的影像图层
name String 该裁剪区域的name(key值)

addModifyRegion(options)Boolean

添加地形修改区域。(传入三维矢量面数据,将高低起伏的地形处理为与三维面高度一致的效果,注:不支持多个子对象构成的复杂对象,不支持岛洞数据,建议多个子对象数据和相邻的有共用边的对象合并为一个简单的对象)
Name Type Description
options Object 修改区域参数对象包含以下属性:
Name Type Description
position Array 修改区域位置信息。
name String 修改区域名称。
Returns:
成功返回true,失败返回false。
Example:
var pts = [lon1,lat1,h1,lon2,lat2,h2,lon3,lat3,h3];
viewer.scene.globe.addModifyRegion({
				name : 'test',
				position : pts,
			});

clearCustomClipBox()

清除自定义裁剪面。

computeSurfaceArea(polygonGeometry, ellipsoid, slice)number

计算贴地面积。
Name Type Description
polygonGeometry Object polygonGeometry类中的对象,用于确定面积量算的范围
ellipsoid Ellipsoid 椭球。即计算贴地面积时所采用的椭球,默认值为WGS84椭球
slice Number optional 拆分粒度。支持用户自定义多边形拆分的粒度,若不设置则根据多边形的范围设置粒度
Returns:
PolygonGeometry对象范围内的贴地面积
Example:
var ellipsoid = SuperMap3D.Ellipsoid.WGS84;
var area = scene.globe.computeSurfaceArea(polygonGeometry, ellipsoid, 10);

computeSurfaceDistance(polylineGeometry, ellipsoid)number

计算贴地距离。
Name Type Description
polylineGeometry Object polylineGeometry类中的对象,用于确定距离量算的范围。
ellipsoid Ellipsoid 椭球。即计算贴地距离时所采用的椭球体,默认值为WGS84椭球。
Returns:
PolylineGeometry对象对应的贴地距离
Example:
var ellipsoid = SuperMap3D.Ellipsoid.WGS84;
var distance = scene.globe.computeSurfaceDistance(polylineGeometry,ellipsoid);

destroy()undefined

销毁该对象持有的 WebGL 资源。 销毁对象可以确定性地释放 WebGL 资源,而不是依赖垃圾回收器来销毁该对象。

一旦对象被销毁,就不应再使用;调用 isDestroyed 以外的任何函数都将导致 DeveloperError 异常。 因此,请按照示例中的方法将返回值(undefined)赋值给对象。
Returns:
Throws:
Example:
globe = globe && globe.destroy();
See:

getHeight(cartographic)Number|undefined

获取经纬度对应的高度。
Name Type Description
cartographic Cartographic 经纬度值。
Returns:
高度值。

getSlopeDirectionValue(cartographic)Number|undefined

获取地形坡度方向,传入弧度坐标,返回的结果以正北为0度。
Name Type Description
cartographic Cartographic 经纬度。
Returns:
坡度方向。

getSlopeValue(cartographic)Number|undefined

获取地形坡度值。
Name Type Description
cartographic Cartographic 经纬度。
Returns:
坡度值。

getVisibleTiles()Array

获取可见切图。
Returns:
对象列表,其中对象的属性为x、y、level

isDestroyed()Boolean

如果该对象已被销毁,则返回 true;否则返回 false。

如果该对象已被销毁,则不应使用;调用 isDestroyed 以外的任何函数都将导致 DeveloperError 异常。
Returns:
如果该对象已被销毁,则为 true;否则为 false。
See:

pick(Ray, Scene, result)Cartesian3|undefined

获取射线和地球的交点(射线必须是三维地理坐标)。
Name Type Description
Ray Number 射线,用于相机测试。
Scene Object 场景对象。
result Cartesian3 optional 三维空间坐标,用于保存结果。
Returns:
如果不相交,返回交点的三维空间坐标。
Example:
// 通过屏幕空间的一个像素和相机的射线查找和地球的交点。
var ray = viewer.camera.getPickRay(windowCoordinates);
var intersection = globe.pick(ray, scene);

removeAllExcavationRegion()

移除所有开挖面。
Example:
viewer.scene.globe.removeAllExcavationRegion();

removeAllExtractRegion()

移除所有开挖区域和抽出部分。
Example:
viewer.scene.globe.removeAllExtractRegion();

removeAllModifyRegion()

移除所有地形修改的区域。
Example:
viewer.scene.globe.removeAllModifyRegion();

removeExtractRegion()

移除地形当前开挖区域和抽出部分。
Example:
viewer.scene.globe.removeExtractRegion();

removeImageryClipRegion(name, layers)

移除裁剪区域
Name Type Description
name String 该裁剪区域的name(key值)。
layers Array 参与裁剪的影像图层。

removePBRMaterial()

用于移除PBR材质。

setCustomClipBox(options)Boolean

添加自定义裁剪面。
Name Type Description
options Object 裁剪面参数包含以下属性:
Name Type Description
dimensions Cartesian3 裁剪box的长宽高。
position Cartesian3 box裁剪中心位置。
heading Number 裁剪box的heading角度。
pitch Number 裁剪box的pitch角度。
roll Number 裁剪box的roll角度。
clipLineColor Color 裁剪线颜色。
Returns:
bool 成功返回true,失败返回false。
Throws:
  • DeveloperError : options and options.dimensions and options.position are required.

setPolygonOffset(polyOffsetFactor, polyOffsetUnits)

设置地形多边形偏移缩放因子和偏移常量。
Name Type Description
polyOffsetFactor Number 偏移缩放因子,默认为0。
polyOffsetUnits Number 偏移常量,默认为0。