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

所有物体被点亮的距离,只在enableLighting为true时生效。
Default Value: 6500000.0

material : Material

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

maximumScreenSpaceError : Number

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

oceanNormalMapUrl : String

用于渲染海洋波浪的法线贴图。设置此属性将只有当配置的地形提供程序包含水掩膜时才有效。
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

如果在地球上被水覆盖的地区显示出动画的波浪效果,则是true的,否则为false。 如果terrainProvider不提供水掩膜,则忽略此属性。
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:
成功返回true,失败返回false。
Throws:

setPolygonOffset(polyOffsetFactor, polyOffsetUnits)

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