<!-- 2020-7-29 09:19:37 | 版权所有 江苏省测绘研究所 -->
|
<!DOCTYPE html><html class="no-js css-menubar" lang="zh-cn"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,minimal-ui"><meta name="author" content="火星科技 http://cesium.marsgis.cn "><meta name="renderer" content="webkit"><link rel="icon" type="image/png" href="img/favicon/favicon.png"><meta name="mobile-web-app-capable" content="yes"><link rel="icon" sizes="192x192" href="img/favicon/apple-touch-icon.png"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><meta name="apple-mobile-web-app-title" content="火星科技MarsGIS"><link rel="apple-touch-icon-precomposed" href="img/favicon/apple-touch-icon.png"><meta name="msapplication-TileImage" content="img/favicon/app-icon72x72@2x.png"><meta name="msapplication-TileColor" content="#62a8ea"><meta name="keywords" content="火星科技|合肥火星|合肥火星科技|合肥火星科技有限公司|leaflet|leaflet框架|leaflet开发|cesium|cesium开发|cesium框架|gis|marsgis|地图离线|地图开发|地图框架|地图外包"><meta name="description" content="火星科技 合肥火星 合肥火星科技 合肥火星科技有限公司 leaflet leaflet框架 leaflet开发 cesium cesium开发 cesium框架 gis marsgis 地图离线 地图开发 地图框架 地图外包 框架 开发 外包 地图离线 二维地图 三维地图 全景漫游 地理信息系统 云GIS 三维GIS GIS平台 WebGIS"><title>API 文档 - Mars3D三维地球平台 | MarsGIS for Cesium |三维地图| 火星科技|合肥火星科技|合肥火星科技有限公司</title><link rel="stylesheet" href="css/normalize.css"><link rel="stylesheet" href="css/main.css"><script src="../../../include-lib.js?time=20200510" include="jquery,highlight" libpath="../../../"></script></head><body class="api-page"><div class="container"><h2>Mars3D框架 API文档 v2.1</h2><p>在阅读API之前,您至少应该了解 Cesium 和 Mars3D ( MarsGIS for Cesium )框架.</p><hr><div id="toc" class="clearfix"><div class="toc-col map-col"><h4>Map的创建</h4><ul><li><a href="#map-example">使用示例</a></li><li><a href="#map-factory">创建地图</a></li><li><a href="#map-option">Options参数选项</a></li><li><a href="#mars3d-map">viewer扩展方法</a></li><li><a href="#mars3d-popup">popup鼠标单击弹窗</a></li><li><a href="#mars3d-tooltip">tooltip鼠标提示信息</a></li><li><a href="#mars3d-keyboardRoam">keyboardRoam键盘漫游</a></li><li><a href="#mars3d-location">location位置信息状态栏</a></li><li><a href="#mars3d-contextmenu">contextmenu右键菜单</a></li></ul><h4>图层管理</h4><ul><li><a href="#mars3d-layer">layer图层创建类</a></li><li><a href="#BaseLayer">图层封装基类</a></li><li><a href="#TileLayer">瓦片底图图层</a></li><li><a href="#GltfLayer">Gltf小模型图层</a></li><li><a href="#Tiles3dLayer">3dtiles三维模型图层</a></li><li><a href="#GeoJsonLayer">GeoJson格式数据图层</a></li><li><a href="#ArcFeatureLayer">ArcGIS矢量服务图层</a></li><li><a href="#KmlLayer">KML格式数据图层</a></li><li><a href="#CzmlLayer">CZML格式数据图层</a></li><li><a href="#TerrainLayer">Terrain地形图层</a></li><li><a href="#CustomFeatureGridLayer">分块加载图层基类</a></li><li><a href="#ArcFeatureGridLayer">ArcGIS矢量服务分块加载图层</a>【插件】</li></ul></div><div class="toc-col"><h4>矢量对象</h4><ul><li><a href="#RectangularSensorGraphics">雷达Entity</a></li><li><a href="#DivPoint">Div点</a></li><li><a href="#ParticleSystemEx">粒子效果</a></li><li><a href="#DynamicRiver">动态河流</a></li><li><a href="#createWaterPrimitive">水面对象</a></li></ul><h4>标绘</h4><ul><li><a href="#draw">Draw标绘类</a></li><li><a href="#mars3d-drawingutils">Util常用方法</a></li><li><a href="#mars3d-draw-event">event标绘事件类型</a></li><li><a href="#mars3d-draw-tooltip">tooltip标绘鼠标提示</a></li><li><a href="#mars3d-draw-dragger">dragger拖拽点控制类</a></li><li><a href="#mars3d-draw-attr">attr属性处理</a></li><li><a href="#mars3d-draw-attr-label">label对象属性处理</a></li><li><a href="#mars3d-draw-attr-point">point对象属性处理</a></li><li><a href="#mars3d-draw-attr-billboard">billboard对象属性处理</a></li><li><a href="#mars3d-draw-attr-model">model对象属性处理</a></li><li><a href="#mars3d-draw-attr-polyline">polyline对象属性处理</a></li><li><a href="#mars3d-draw-attr-polygon">polygon对象属性处理</a></li><li><a href="#mars3d-draw-attr-ellipse">ellipse对象属性处理</a></li><li><a href="#mars3d-draw-attr-rectangle">rectangle对象属性处理</a></li></ul></div><div class="toc-col"><h4>材质</h4><ul><li><a href="#LineFlowMaterial">动态线</a></li><li><a href="#CircleFadeMaterial">动态波纹</a></li><li><a href="#CircleWaveMaterial">多圈动态波纹</a></li><li><a href="#TextMaterial">文字贴图</a></li></ul><h4>场景</h4><ul><li><a href="#FlyLine">飞行漫游路线</a></li><li><a href="#FogEffect">雾 效果</a></li><li><a href="#InvertedScene">倒影 效果</a></li><li><a href="#SnowCover">雪覆盖 效果</a></li><li><a href="#ZoomNavigation">放大缩小地图控制</a></li></ul><h4>视频相关</h4><ul><li><a href="#Video2D">视频投射Video2D</a></li><li><a href="#Video3D">视频投射Video3D</a></li></ul><h4>可视化相关</h4><ul><li><a href="#FlowEcharts">Echarts图层</a>【插件】</li><li><a href="#MapVLayer">MapV图层</a>【插件】</li></ul></div><div class="toc-col"><h4>空间分析</h4><ul><li><a href="#measure">量算</a></li><li><a href="#MeasureVolume">方量分析</a></li><li><a href="#Slope">坡度坡向</a></li><li><a href="#Sightline">通视分析</a></li><li><a href="#ViewShed3D">可视域分析</a></li><li><a href="#FloodByEntity">淹没分析(平面)</a></li><li><a href="#FloodByTerrain">淹没分析(材质)</a></li><li><a href="#Underground">地下模式</a></li></ul><h4>地形相关</h4><ul><li><a href="#TerrainClipPlan">地形开挖(平面)</a></li><li><a href="#TerrainClip">地形开挖(材质)</a></li><li><a href="#HeightCounterByTerrain">等高线</a></li></ul><h4>模型相关</h4><ul><li><a href="#TilesClipPlan">裁剪模型</a></li><li><a href="#MixedOcclusion">建筑物混合遮挡</a></li><li><a href="#TilesClip">模型裁剪</a></li><li><a href="#TilesFlat">模型压平</a></li><li><a href="#TilesFlood">模型淹没</a></li></ul></div><div class="toc-col last-col"><h4>util常用静态方法</h4><ul><li><a href="#mars3d-latlng">point坐标处理类</a></li><li><a href="#mars3d-polyline">polyline线处理类</a></li><li><a href="#mars3d-polygon">polygon面处理类</a></li><li><a href="#pointconvert">pointconvert坐标系转换</a></li><li><a href="#mars3d-matrix">matrix矩阵换算类</a></li><li><a href="#mars3d-model">gltf模型处理类</a></li><li><a href="#mars3d-tileset">3dtile模型处理类</a></li><li><a href="#mars3d-measure">measure量算处理类</a></li><li><a href="#mars3d-util">util常用方法类</a></li></ul><h4>widget模块化</h4><ul><li><a href="#BaseWidget">BaseWidget基类</a></li><li><a href="#widgetmanager">widget管理类</a></li></ul></div></div><h2 id="map">创建Map</h2><p>框架的核心静态方法,它用来在页面中创建地图.</p><section><h3 id="map-example">使用示例</h3><section><pre class="highlight"><code class="js">mars3d.createMap({
|
id: 'cesiumContainer',
|
url: "config.json",
|
success: function (viewer, jsondata) {//地图成功加载完成后执行
|
|
}
|
});<a href="../cesium-example/editor.html#13_for_config" target="_blank" style="font-size:10px;float:right">查看运行效果 »</a> </code></pre></section></section><section><h3 id="map-factory">创建地图</h3><section><table><thead><tr><th>创建示例</th><th>说明</th></tr></thead><tbody><tr id="map-l-map"><td><code><b>mars3d.createMap</b>(<nobr><MarsMap options></nobr> <i>options</i>)</code></td><td>将地图部署在给定ID的DIV容器中,并设置地图的选项.</td></tr></tbody></table></section></section><section><h3 id="map-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr id="marsmap-id"><td><code><b>id</b></code></td><td><code>String</code></td><td><code>必须传入</code></td><td>地图Div容器的id。</td></tr><tr id="marsmap-url"><td><code><b>url</b></code></td><td><code>String</code></td><td><code>url或data参数必须有一个有值</code></td><td>框架规定规范的地图配置信息的Json文件url地址(该json文件中有map3d节点)</td></tr><tr id="marsmap-data"><td><code><b>data</b></code></td><td><code>Object</code></td><td><code>url或data参数必须有一个有值</code></td><td>框架规定规范的地图配置信息的Json文件Object对象(只需要类似config.json中的map3d节点数据即可)</td></tr><tr id="marsmap-success"><td><code><b>success</b></code></td><td><code>function</code></td><td><code>null</code></td><td><p>地图创建完成后的回调函数.</p><pre><code>success: function (viewer, jsondata) {
|
//viewer 为Cesium规范的viewer地图对象
|
//gisdata 为地图创建完成后的一些有用的对象集合,如控件、图层、配置等信息
|
//jsondata 为url或data参数传入后读取到的json数据对象
|
}
|
</code></pre></td></tr><tr id="marsmap-serverURL"><td><code><b>serverURL</b></code></td><td><code>String</code></td><td></td><td>会替换图层中配置的url地址中的<code>$serverURL$</code>参数为该值,用于统一配置url中GIS服务器的ip和端口的变量,方便部署时修改ip。</td></tr><tr id="marsmap-ex"><td><code><b>*</b></code></td><td><code>*</code></td><td><code>*</code></td><td>支持所有config.json中可以配置的属性 ,此处优秀级高于config.josn,会覆盖config.json中的设置。</td></tr></tbody></table></section><div class="accordion"><label><span class="expander">▶</span>继承的Options参数,来自<a href="http://mars3d.cn/forcesium/Build/Documentation/Viewer.html">Cesium.Viewer</a></label><div class="accordion-overflow"><div class="accordion-content"><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr id="marsmap-ex"><td><code><b>*</b></code></td><td><code>*</code></td><td><code>*</code></td><td>支持所有Cesium.Viewer的参数,具体请参阅 <a href="http://mars3d.cn/forcesium/Build/Documentation/Viewer.html">Cesium API</a></td></tr></tbody></table></section></div></div></div></section><h2 id="mars3d-map">viewer扩展方法</h2><p>实例化完成viewer后,会在viewer有扩展的一个静态类 viewer.mars.*, 该类是静态类,等价于mars3d.ViewerEx实体类,如果是外部自行构造的Viewer可以手动viewer.mars = new mars3d.ViewerEx进行绑定。 包含坐标转换、popup、tooltip、定位等方法或对象。</p><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>config</b></code></td><td><code><code>Object</code></code></td><td><p>获取createMap时传入的url或data中的相关参数属性值。</p></td></tr><tr><td><code><b>keyboardRoam</b></code></td><td><code><a href="#mars3d-keyboardRoam">keyboardRoam</a></code></td><td><p>键盘漫游对象。(详见后面keyboardRoam类介绍)</p></td></tr><tr><td><code><b>location</b></code></td><td><code><a href="#mars3d-location">location</a></code></td><td><p>下侧 鼠标位置信息状态栏 对象。(详见后面location类介绍)</p></td></tr><tr><td><code><b>popup</b></code></td><td><code><a href="#mars3d-popup">popup</a></code></td><td><p>鼠标单击信息框处理类。(详见后面popup类介绍)</p></td></tr><tr><td><code><b>tooltip</b></code></td><td><code><code><a href="#mars3d-tooltip">tooltip</a></code></code></td><td><p>鼠标悬浮提示信息框处理类。(详见后面tooltip类介绍)</p></td></tr><tr><td><code><b>contextmenu</b></code></td><td><code><a href="#mars3d-contextmenu">contextmenu</a></code></td><td><p>右键菜单管理类对象。(详见后面contextmenu类介绍)</p></td></tr><tr><td><code><b>contextmenuItems</b></code></td><td><code><code><a href="#mars3d-contextmenu">[Object]</a></code></code></td><td><p>右击地图时,右键菜单项 ,数组内部对应格式示例(children可以配置二级):</p><pre><code>{
|
text: '开启深度监测',
|
iconCls: 'fa fa-eye-slash',
|
visible: function () {//非必须,此属性回调来控制动态显示隐藏
|
return !viewer.scene.globe.depthTestAgainstTerrain
|
},
|
calback: function (e) {//单击菜单后的事件回调
|
viewer.scene.globe.depthTestAgainstTerrain = true;
|
}
|
} </code></pre></td></tr><tr><td><code><b>defaultContextmenuItems</b></code> [只读]</td><td><code><code><a href="#draw">[Object]</a></code></code></td><td><p>内部绑定的默认右键菜单</p></td></tr><tr><td><code><b>draw</b></code> [只读]</td><td><code><code><a href="#draw">mars3d.Draw</a></code></code></td><td><p>内部绑定的内置已经实例化的Draw对象,方便简单场景下使用绘制矢量对象</p></td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>addOperationalLayer</b>(<nobr>Object</nobr> <i>options</i>)</code></td><td><code>BaseLayer图层</code></td><td><p>绑定图层管理,添加内部封装的BaseLayer图层到OperationalLayer进行图层控制</p></td></tr><tr><td><code><b>removeOperationalLayer</b>(<nobr>Number</nobr> <i>id</i>)</code></td><td><code></code></td><td><p>移除图层控制</p></td></tr><tr><td><code><b>getCenter</b>(<nobr>Boolean</nobr> <i>isToWgs?</i>)</code></td><td><code><nobr>Object</nobr></code></td><td><p>提取屏幕中心点坐标,返回值示例:{ "y": 31.787488, "x": 117.222228, "z": 229 }。ps:同point类方法。</p><p>当地球是高德等gcj坐标时,isToWgs设置是否转换为wgs84坐标</p></td></tr><tr><td><code><b>getExtent</b>(<nobr>Object</nobr> <i>opts?</i>)</code></td><td><code><nobr>Object</nobr></code></td><td><p>获取当前地球的视域边界{xmin: 113.23422, xmax: 125.23452, ymin: 30.23436, ymax: 33.234252}。ps:同point类方法。</p><p>支持opts:{scale:缩放比例}</p></td></tr><tr><td><code><b>getCameraView</b>(<nobr>Boolean</nobr> <i>isToWgs?</i>)</code></td><td><code><nobr>Object</nobr></code></td><td><p>获取当前相机视角范围参数坐标值,返回值示例:{ "y": 31.787488, "x": 117.222228, "z": 224, "heading": 56, "pitch": -29, "roll": 45 }。ps:同point类方法。</p><p>当地球是高德等gcj坐标时,isToWgs设置是否转换为wgs84坐标</p></td></tr><tr><td><code><b>getSurfaceHeight</b>(<nobr> <a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> <i>position</i>, <nobr>Object</nobr> <i>opts</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian2.html?classFilter=Cartesian3">Cartesian3</a></nobr></code></td><td><p>获取坐标的贴地(或贴模型)高度,ps:同point类方法。</p>opts支持: 是否在has3dtiles:true , 是否异步 asyn:true 异步回调方法calback<p></p><pre><code>//点贴地或贴模型(异步)
|
position = viewer.mars.getSurfaceHeight(position, {
|
asyn: true, //是否异步求准确高度
|
has3dtiles: true, //是否先求贴模型上(无模型时改为false,提高效率)
|
calback: function (newHeight, cartOld) {
|
|
}
|
}); </code></pre></td></tr><tr><td><code><b>flyTo</b>(<nobr> <a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Entity">Entity</a></nobr> <i>entity</i>,<nobr>Object</nobr> <i>options?</i>)</code></td><td><code></code></td><td><p>视角飞行定位到entiy处</p>options支持:scale控制线面数据边界的放大比例,radius控制点数据视距距离<pre><code>viewer.mars.flyTo(entity, { scale: 0.5, radius: 1000 });</code></pre></td></tr><tr><td><code><b>centerAt</b>(<nobr>Object</nobr> <i>centeropt</i>,<nobr>Object/Number</nobr> <i>options?</i>)</code></td><td><code></code></td><td><p>地球定位至指定区域,相机切换到centeropt指定的参数位置</p>options为数字时,代表播放动画时长(秒) options为对象时,支持viewer.camera.flyTo所有参数<pre><code>viewer.mars.centerAt({ "y": 19.999609, "x": 117.579843, "z": 2709521.51, "heading": 354.1, "pitch": -70.1, "roll": 0.1 });
|
</code></pre></td></tr><tr><td><code><b>centerAtArr</b>(<nobr>Array</nobr> <i>arr</i>,<nobr>function</nobr> <i>enfun?</i>)</code></td><td><code></code></td><td><p>按arr数组顺序播放地球定位至指定区域,地球定位至指定区域。arr数组中单个对象除了centerAt支持的参数外,还支持:</p>duration:3, //时长,<br>stop:1, //两个视角中间停留秒数(默认1秒)<br>onStart:function, //视角切换播放前回调方法<br>onEnd:function, //视角切换播放后回调方法</td></tr><tr><td><code><b>centerPoint</b>(<nobr> <a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> <i>position</i>,<nobr>Object</nobr> <i>options?</i>)</code></td><td><code></code></td><td><p>地球定位至指定区域,定位至position设置的目标点位置</p>options支持viewer.camera.flyToBoundingSphere所有参数<pre><code> viewer.mars.centerPoint(position, {
|
radius: 5000, //距离目标点的距离
|
pitch: -50, //相机方向
|
duration: 4, //动画时长
|
complete: function (e) {//飞行完成回调方法
|
|
}
|
}); </code></pre></td></tr><tr><td><code><b>cancelCenterAt</b>()</code></td><td><code></code></td><td><p>取消centerAt等执行的飞行,停止视角切换</p></td></tr><tr><td><code><b>getConfig</b>()</code></td><td><code>Object</code></td><td><p>返回构造地球时传入的config.json配置信息的克隆后值</p></td></tr><tr><td><code><b>getLayer</b>(<nobr>String</nobr> <i>key</i>, <nobr>String</nobr> <i>keyname?</i>)</code></td><td><code><a href="#BaseLayer">BaseLayer</a></code></td><td><p>根据指定字段值(默认名称name)获取指定图层,keyname可以定义id等,为配置信息的字段名,默认是name</p></td></tr><tr><td><code><b>getBasemap</b>()</code></td><td><code><a href="#BaseLayer">BaseLayer</a></code></td><td><p>获取当前显示的底图</p></td></tr><tr><td><code><b>changeBasemap</b>(<nobr>String</nobr> <i>idorname</i>)</code></td><td><code><a href="#BaseLayer">BaseLayer</a></code></td><td><p>根据config配置的id或name属性,更新显示指定的地图底图</p></td></tr><tr><td><code><b>hasTerrain</b>()</code></td><td><code>Boolean</code></td><td><p>是否有地形数据</p></td></tr><tr><td><code><b>updateTerrainProvider</b>(<nobr>Boolean</nobr> <i>isStkTerrain</i>)</code></td><td><code></code></td><td><p>更新地形,参数传入是否显示地形</p></td></tr><tr><td><code><b>openFlyAnimation</b>(<nobr>Function</nobr> <i>endfun</i>,<nobr>Object</nobr> <i>centeropt?</i>)</code></td><td><code></code></td><td><p>开场动画,动画播放地球飞行定位指指定区域(默认为config.josn中配置的视域)</p><pre><code>viewer.mars.openFlyAnimation(function () {
|
//动画播放完成后回调
|
});
|
</code></pre></td></tr><tr><td><code><b>isFlyAnimation</b>()</code></td><td><code>Boolean</code></td><td><p>是否在调用了openFlyAnimation正在进行飞行动画</p></td></tr><tr><td><code><b>rotateAnimation</b>(<nobr>Function</nobr> <i>endfun</i>,<nobr>Number</nobr> <i>duration</i>)</code></td><td><code></code></td><td><p>旋转地球动画,可以指定旋转的时长duration秒</p><pre><code>
|
viewer.mars.rotateAnimation(function () {
|
//动画播放完成后回调
|
},3);
|
</code></pre></td></tr><tr><td><code><b>getCrs</b>()</code></td><td><code>String</code></td><td><p>获取当前地图坐标系,值为gcj时表示是国测局偏移坐标</p></td></tr><tr><td><code><b>point2map</b>({x:经度,y:纬度})</code></td><td><code>{x:经度,y:纬度}</code></td><td><p>在不同坐标系情况下,转换“目标坐标值”至“地图坐标系”一致的坐标</p></td></tr><tr><td><code><b>point2wgs</b>({x:经度,y:纬度})</code></td><td><code>{x:经度,y:纬度}</code></td><td><p>在不同坐标系情况下 ,获取地图上的坐标后,转为wgs标准坐标系坐标值</p></td></tr><tr><td><code><b>keyboard</b>(<nobr>Boolean</nobr> <i>value</i>,<nobr>object</nobr> <i>speedRatio</i>)</code></td><td><code>void</code></td><td><p>根据value设置开启或关闭键盘漫游,speedRatio对应支持以下属性:</p>moveStep: 10, //平移步长 (米)。<br>dirStep: 25, //相机原地旋转步长,值越大步长越小。<br>rotateStep: 1.0, //相机围绕目标点旋转速率,0.3 - 2.0<br>minPitch: 0.1, //最小仰角 0 - 1<br>maxPitch: 0.95, //最大仰角 0 - 1</td></tr><tr><td><code><b>keyboardAuto</b>(<nobr>object</nobr> <i>speedRatio</i>)</code></td><td><code>void</code></td><td>同keyboard,此方法按自动切换开启关闭键盘漫游</td></tr><tr><td><code><b>expImage</b>(<nobr>object</nobr> <i>opts</i>)</code></td><td><code>void</code></td><td>导出场景图片,截图<pre><code>viewer.mars.expImage({
|
type:'image/jpeg',//图片类型,可以指定为png
|
height: 300, //指定 高度 或 宽度(指定1种就行,对应的自动缩放)
|
download: true,//是否自动下载保存图片文件
|
calback: function (base64, size) {//回调
|
|
}
|
});</code></pre></td></tr><tr><td><code><b>destroy</b>()</code></td><td><code>void</code></td><td>销毁释放对象</td></tr></tbody></table></section></section><h2 id="mars3d-popup">popup鼠标单击信息框</h2><p>viewer.mars.popup该类是静态类。鼠标单击信息框处理类。</p><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>isOnly</b></code></td><td><code>boolean</code></td><td><p>是否唯一弹窗模式,默认true,传入false可以启用多弹窗。</p></td></tr><td><code><b>enable</b></code></td><td><code>boolean</code></td><td><p>是否禁用。</p></td></tbody></table></section><h3 id="mars3dmap-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>show</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>, <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> <i>cartesian</i>)</code></td><td><code>void</code></td><td><p>弹出popup信息框(entity需要有popup属性,其信息为绑定信息框内容的html信息)</p><pre><code>entity.popup = {
|
html: 'html', //可以是任意html
|
anchor: [0, -25]//定义偏移像素值 [x, y]
|
};
|
viewer.mars.popup.show(entity, entity.position._value);
|
</code></pre></td></tr><tr><td><code><b>close(<nobr>String</nobr> <i>entityid</i>)</b></code></td><td><code>void</code></td><td><p>关闭popup信息框,多弹窗模式,关闭指定id的弹窗,默认关闭所有</p></td></tr><tr><td><code><b>setEnable(<nobr>Boolean</nobr> <i>value</i>)</b></code></td><td><code></code></td><td><p>禁用或启用 popup弹窗功能</p></td></tr><tr><td><code><b>getEnable()</b></code></td><td><code>Boolean</code></td><td><p>获取当前禁用或启用状态</p></td></tr><tr><td><code><b>destroy()</b></code></td><td><code>void</code></td><td><p>释放销毁对象</p></td></tr></tbody></table></section></section><h2 id="mars3d-tooltip">tooltip鼠标提示信息</h2><p>viewer.mars.tooltip该类是静态类。鼠标悬浮提示信息框处理类。</p><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><td><code><b>enable</b></code></td><td><code>boolean</code></td><td><p>是否禁用。</p></td></tbody></table></section><h3 id="mars3dmap-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>show</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>, <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> <i>cartesian</i>)</code></td><td></td><td><p>弹出tooltip信息框(entity需要有tooltip对象,其信息为绑定信息框内容的html信息)</p><pre><code>entity.tooltip = {
|
html: 'html', //可以是任意html
|
anchor: [0, -25]//定义偏移像素值 [x, y]
|
};
|
viewer.mars.popup.show(entity, entity.position._value);
|
</code></pre></td></tr><tr><td><code><b>close()</b></code></td><td><code></code></td><td><p>关闭tooltip信息框</p></td></tr><tr><td><code><b>destroy()</b></code></td><td><code>void</code></td><td><p>释放销毁对象</p></td></tr></tbody></table></section></section><h2 id="mars3d-keyboardRoam">keyboardRoam键盘漫游</h2><p>viewer.mars.keyboardRoam该类是静态类。键盘漫游(快捷键)处理类。</p><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><td><code><b>enable</b></code></td><td><code>boolean</code></td><td><p>是否禁用。</p></td></tbody></table></section><h3 id="mars3dmap-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>bind(<nobr>Object</nobr> <i>opts?</i>)</b></code></td><td><code>void</code></td><td><p>启用键盘漫游,可以传参重置默认参数</p></td></tr><tr><td><code><b>unbind()</b></code></td><td><code>void</code></td><td><p>关闭键盘漫游</p></td></tr><tr><td><code><b>startMoveForward()</b></code></td><td><code>void</code></td><td><p>不按键一直自动往前走,调用stopMoveForward停止。</p></td></tr><tr><td><code><b>stopMoveForward()</b></code></td><td><code>void</code></td><td><p>停止自动往前走</p></td></tr><tr><td><code><b>startMoveBackward()</b></code></td><td><code>void</code></td><td><p>不按键一直自动往后退,调用stopMoveBackward停止。</p></td></tr><tr><td><code><b>stopMoveBackward()</b></code></td><td><code>void</code></td><td><p>停止自动往后退</p></td></tr><tr><td><code><b>startMoveRight()</b></code></td><td><code>void</code></td><td><p>不按键一直自动往右走,调用stopMoveRight停止。</p></td></tr><tr><td><code><b>stopMoveRight()</b></code></td><td><code>void</code></td><td><p>停止自动往右走</p></td></tr><tr><td><code><b>startMoveLeft()</b></code></td><td><code>void</code></td><td><p>不按键一直自动往往左,调用stopMoveLeft停止。</p></td></tr><tr><td><code><b>stopMoveLeft()</b></code></td><td><code>void</code></td><td><p>停止自动往左走</p></td></tr><tr><td><code><b>moveCamera(<nobr>mars3d.KeyboardType</nobr> <i>type</i>)</b></code></td><td><code>void</code></td><td><p>相对于屏幕中心点进行移动或旋转</p><p>type示例: mars3d.KeyboardType.LEFT_ROTATE</p></td></tr><tr><td><code><b>rotateCamera(<nobr>mars3d.KeyboardType</nobr> <i>type</i>)</b></code></td><td><code>void</code></td><td><p>相对于相机本身进行旋转</p><p>type示例: mars3d.KeyboardType.LEFT_ROTATE</p></td></tr><tr><td><code><b>destroy()</b></code></td><td><code>void</code></td><td><p>释放销毁对象</p></td></tr></tbody></table></section></section><h2 id="mars3d-location">location位置信息状态栏</h2><p>viewer.mars.location该类是静态类。下侧 鼠标位置信息状态栏 处理类。</p><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><td><code><b>show</b></code></td><td><code>boolean</code></td><td><p>是否显示状态栏。</p></td></tbody></table></section><h3 id="mars3dmap-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>css(<nobr>Object</nobr> <i>css</i>)</b></code></td><td><code>void</code></td><td><p>设置状态栏的css。类同jquery的 $(dom).css(style)方法</p></td></tr><tr><td><code><b>destroy()</b></code></td><td><code>void</code></td><td><p>销毁释放对象</p></td></tr></tbody></table></section></section><h2 id="mars3d-contextmenu">contextmenu右键菜单</h2><p>viewer.mars.contextmenu该类是静态类。右键菜单管理 处理类。<pre><code>var defaultContextmenuItems = [
|
{
|
text: '显示此处经纬度',
|
iconCls: 'fa fa-info-circle',
|
calback: function (e) {
|
var mpt = mars3d.point.formatPosition(e.position);
|
|
var inhtml = "经度:" + mpt.x + " , 纬度:" + mpt.y + "高程:" + mpt.z;
|
haoutil.alert(inhtml, '位置信息');
|
}
|
},
|
{
|
text: '开启深度监测',
|
iconCls: 'fa fa-eye-slash',
|
visible: function () {
|
return !viewer.scene.globe.depthTestAgainstTerrain
|
},
|
calback: function (e) {
|
viewer.scene.globe.depthTestAgainstTerrain = true;
|
}
|
},
|
{
|
text: '关闭深度监测',
|
iconCls: 'fa fa-eye',
|
visible: function () {
|
return viewer.scene.globe.depthTestAgainstTerrain
|
},
|
calback: function (e) {
|
viewer.scene.globe.depthTestAgainstTerrain = false;
|
}
|
},
|
{
|
text: '视角切换',
|
iconCls: 'fa fa-street-view',
|
children: [
|
{
|
text: '第一视角站到此处',
|
iconCls: 'fa fa-street-view',
|
calback: function (e) {
|
|
viewer.camera.flyTo({
|
destination: mars3d.point.addPositionsHeight(e.position, 10), //升高10米
|
orientation: {
|
heading: Cesium.Math.toRadians(0), //绕垂直于地心的轴旋转
|
pitch: Cesium.Math.toRadians(10), //绕纬度线旋转
|
roll: Cesium.Math.toRadians(0) //绕经度线旋转
|
},
|
});
|
}
|
},
|
{
|
text: '开启键盘漫游',
|
iconCls: 'fa fa-keyboard-o',
|
visible: function (e) {
|
return !viewer.mars.keyboardRoam.enable
|
},
|
calback: function (e) {
|
viewer.mars.keyboardRoam.enable = true;
|
}
|
},
|
{
|
text: '关闭键盘漫游',
|
iconCls: 'fa fa-keyboard-o',
|
visible: function (e) {
|
return viewer.mars.keyboardRoam.enable
|
},
|
calback: function (e) {
|
viewer.mars.keyboardRoam.enable = false;
|
}
|
},
|
{
|
text: '取消锁定',
|
iconCls: 'fa fa-unlock-alt',
|
visible: function (e) {
|
return viewer.trackedEntity != undefined
|
},
|
calback: function (e) {
|
viewer.trackedEntity = undefined;
|
}
|
},
|
]
|
}
|
]
|
viewer.mars.contextmenuItems = defaultContextmenuItems; </code></pre></p><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><td><code><b>enable</b></code></td><td><code>boolean</code></td><td><p>是否禁用右键菜单</p></td></tbody></table></section><h3 id="mars3dmap-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>resetDefault()</b></code></td><td><code>void</code></td><td><p>右键菜单还原为默认的defaultContextmenuItems</p></td></tr><tr><td><code><b>close()</b></code></td><td><code>void</code></td><td><p>关闭右键菜单,等同于单击了地图空白处</p></td></tr><tr><td><code><b>destroy()</b></code></td><td><code>void</code></td><td><p>销毁释放对象</p></td></tr></tbody></table></section></section><h2 id="mars3d-layer">layer图层处理类</h2><p>mars3d.layer该类是静态类。创建图层和图层相关处理类。</p><section><h3 id="mars3dmap-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>createLayer</b>(<nobr>Object</nobr> <i>item</i>, <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Viewer.html?classFilter=Viewer">Viewer</a></nobr> <i>Viewer</i>, <nobr>String</nobr> <i>serverURL</i>)</code></td><td><code><a href="#BaseLayer">BaseLayer</a></code></td><td><p>平台内部创建图层,item为配置信息,具体参考配置信息手册</p><pre><code>var layerWork = mars3d.layer.createLayer({
|
"type": "3dtiles",
|
"name": "厂房",
|
"url": "http://data.marsgis.cn/3dtiles/qx-changfang/tileset.json",
|
"maximumScreenSpaceError": 3,
|
"maximumMemoryUsage": 1024,
|
"offset": { "z": -4 },
|
"visible": true
|
}, viewer);
|
</code></pre></td></tr><tr><td><code><b>createImageryProvider</b>(<nobr>Object</nobr> <i>item</i>, <nobr>String</nobr> <i>serverURL</i>)</code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/ImageryProvider.html?classFilter=imageryProvider">ImageryProvider</a></code></td><td><p>创建底图瓦片图层,item为配置信息,具体参考配置信息手册</p><pre><code>var imageryProvider = mars3d.layer.createImageryProvider({
|
"type": "tile",
|
"url": "wgs3857img/{z}/{x}/{y}.jpg",
|
"maximumLevel": 18
|
});
|
var imagelayer = new Cesium.ImageryLayer(imageryProvider, { alpha: 1 })
|
viewer.imageryLayers.add(imagelayer);
|
</code></pre></td></tr><tr><td><code><b>regLayerForConfig</b>(<nobr>String</nobr> <i>type</i>, <nobr><a href="#BaseLayer">BaseLayer</a></nobr> <i>layerClass</i>)</code></td><td><code></code></td><td><p>向框架内部注册自定义type类型的图层处理类</p><pre><code>//注册到mars3d内部图层管理中:type为s3m时,实例化S3MLayer
|
mars3d.layer.regLayerForConfig("s3m", S3MLayer);
|
</code></pre></td></tr><tr><td><code><b>hasTerrain</b>()</code></td><td><code>Boolean</code></td><td><p>是否有地形数据</p></td></tr><tr><td><code><b>getEllipsoidTerrain</b>()</code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/CesiumTerrainProvider.html?classFilter=EllipsoidTerrainProvider">EllipsoidTerrainProvider</a></code></td><td><p>获取无地形的标准椭球体对象</p></td></tr><tr><td><code><b>getTerrainProvider</b>(<nobr>Object</nobr> <i>config</i>)</code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/CesiumTerrainProvider.html?classFilter=CesiumTerrainProvider">CesiumTerrainProvider</a></code></td><td><p>根据配置获取地形对象</p><pre><code>//获取Cesium官方地形服务
|
viewer.terrainProvider = mars3d.layer.getTerrainProvider({
|
type: 'ion'
|
});
|
|
//获取自定义的地形服务
|
viewer.terrainProvider = mars3d.layer.getTerrainProvider({
|
"url": "http://data.marsgis.cn/terrain"
|
});
|
|
//获取arcgis地形服务
|
viewer.terrainProvider = mars3d.layer.getTerrainProvider({
|
"type": "arcgis",
|
"url": 'https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer'
|
});
|
</code></pre></td></tr></tbody></table></section></section><h2 id="BaseLayer">BaseLayer图层控制基类</h2><p>mars3d.layer.BaseLayer是实体类,是所有图层控制处理类的基类。<pre><code>//方式1:直接使用,方便进行图层控制,如基础项目的 bindToLayerControl
|
var layer = new BaseLayer({
|
pid: 30,
|
name: '企业',
|
mydata:null, //自行赋值
|
visible: true,
|
onAdd: function () {//显示回调
|
//这里把数据this.mydata添加到地图上
|
},
|
onRemove: function () {//隐藏回调
|
//这里把数据this.mydata从地图上移除
|
|
},
|
onCenterAt: function (duration) {//定位回调
|
|
},
|
}, viewer);
|
|
//方式2:继承后扩展使用,下面示例的是超图S3M 三维模型图层加载
|
var S3MLayer = mars3d.layer.BaseLayer.extend({
|
//代码省略,具体参考 https://github.com/marsgis/mars3d-supermap/blob/master/js/layer/S3MLayer.js
|
add: function () {
|
|
},
|
remove: function () {
|
|
},
|
});
|
//注册到mars3d内部图层管理中:type为s3m时,实例化S3MLayer
|
mars3d.layer.regLayerForConfig("supermap_s3m", S3MLayer);
|
|
</code></pre></p><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>其他</b></code></td><td><code></code></td><td><code></code></td><td>参考 <b>配置项手册</b></td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>config</b></code></td><td><code>Object</code></td><td><p>config.json中图层配置信息</p></td></tr><tr><td><code><b>viewer</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Viewer.html?classFilter=Viewer">Viewer</a></code></td><td><p></p></td></tr></tbody></table></section><h3 id="mars3dmap-method">子类继承使用的方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>create</b>()</code></td><td><code>Boolean</code></td><td><p>创建图层时会自动调用该方法</p></td></tr><tr><td><code><b>add</b>()</code></td><td><code>Boolean</code></td><td><p>将图层实例并添加到地图上</p></td></tr><tr><td><code><b>remove</b>()</code></td><td><code>Boolean</code></td><td><p>将图层实例从地图上移除</p></td></tr><tr><td><code><b>hasOpacity</b></code></td><td><code>Boolean属性</code></td><td><p>该图层是否可以设置透明度</p></td></tr><tr><td><code><b>hasZIndex</b></code></td><td><code>Boolean属性</code></td><td><p>该图层是否可以调整层级顺序</p></td></tr></tbody></table></section><h3 id="mars3dmap-method">外部可调用的方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>setVisible</b>(<nobr>Boolean</nobr> <i>value</i>)</code></td><td><code></code></td><td><p>设置图层可见性</p></td></tr><tr><td><code><b>getVisible</b>()</code></td><td><code>Boolean</code></td><td><p>获取图层可见性</p></td></tr><tr><td><code><b>centerAt(<nobr>Number</nobr> <i>duration</i>)</b></code></td><td><code></code></td><td><p>定位至数据区域,duration参数为动画时间,默认3秒;0表示没有动画;</p></td></tr><tr><td><code><b>setOpacity(<nobr>Number</nobr> <i>value</i>)</b></code></td><td><code></code></td><td><p>设置透明度</p></td></tr><tr><td><code><b>setZIndex(<nobr>Number</nobr> <i>value</i>)</b></code></td><td><code></code></td><td><p>设置叠加顺序</p></td></tr><tr><td><code><b>destroy()</b></code></td><td><code></code></td><td><p>销毁对象</p></td></tr></tbody></table></section></section><h2 id="TileLayer">TileLayer瓦片底图</h2><p>mars3d.layer.TileLayer是实体类,瓦片图层处理类,继承自<a href="#BaseLayer"><code>mars3d.layer.BaseLayer</code></a>。</p><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>其他</b></code></td><td><code></code></td><td><code></code></td><td>参考 <b>配置项手册</b></td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>layer</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/ImageryLayer.html?classFilter=ImageryLayer">ImageryLayer</a></code></td><td><p>图层</p></td></tr></tbody></table></section><div class="accordion"><label><span class="expander">▶</span> 继承的属性,来自 <a href="#BaseLayer">BaseLayer</a></label><div class="accordion-overflow"><div class="accordion-content"><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>config</b></code></td><td><code>Object</code></td><td><p>config.json中图层配置信息</p></td></tr><tr><td><code><b>viewer</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Viewer.html?classFilter=Viewer">Viewer</a></code></td><td><p></p></td></tr></tbody></table></section></div></div></div></section><section><h3 id="mars3dmap-method">方法</h3><section></section><div class="accordion"><label><span class="expander">▶</span> 继承的方法,来自 <a href="#BaseLayer">BaseLayer</a></label><div class="accordion-overflow"><div class="accordion-content"><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>getVisible</b>()</code></td><td><code></code></td><td><p>获取图层可见性</p></td></tr><tr><td><code><b>setVisible</b>(<nobr>Boolean</nobr> <i>value</i>)</code></td><td><code></code></td><td><p>设置图层可见性</p></td></tr><tr><td><code><b>centerAt(<nobr>Number</nobr> <i>duration</i>)</b></code></td><td><code></code></td><td><p>定位至数据区域,duration参数为动画时间,默认3秒;0表示没有动画;</p></td></tr><tr><td><code><b>setOpacity(<nobr>Number</nobr> <i>value</i>)</b></code></td><td><code></code></td><td><p>设置透明度</p></td></tr><tr><td><code><b>setZIndex(<nobr>Number</nobr> <i>value</i>)</b></code></td><td><code></code></td><td><p>设置叠加顺序</p></td></tr></tbody></table></section></div></div></div></section><h2 id="GltfLayer">GltfLayer小模型</h2><p>mars3d.layer.GltfLayer是实体类, gltf三维模型处理图层,继承自<a href="#BaseLayer"><code>mars3d.layer.BaseLayer</code></a>。</p><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>其他</b></code></td><td><code></code></td><td><code></code></td><td>参考 <b>配置项手册</b></td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>model</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/ModelGraphics.html?classFilter=ModelGraphics">ModelGraphics</a></code></td><td><p>model entity对象</p></td></tr></tbody></table></section><div class="accordion"><label><span class="expander">▶</span> 继承的属性,来自 <a href="#BaseLayer">BaseLayer</a></label><div class="accordion-overflow"><div class="accordion-content"><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>config</b></code></td><td><code>Object</code></td><td><p>config.json中图层配置信息</p></td></tr><tr><td><code><b>viewer</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Viewer.html?classFilter=Viewer">Viewer</a></code></td><td><p></p></td></tr></tbody></table></section></div></div></div></section><section><h3 id="mars3dmap-method">方法</h3><section></section><div class="accordion"><label><span class="expander">▶</span>继承的方法,来自 <a href="#BaseLayer">BaseLayer</a></label><div class="accordion-overflow"><div class="accordion-content"><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>getVisible</b>()</code></td><td><code></code></td><td><p>获取图层可见性</p></td></tr><tr><td><code><b>setVisible</b>(<nobr>Boolean</nobr> <i>value</i>)</code></td><td><code></code></td><td><p>设置图层可见性</p></td></tr><tr><td><code><b>centerAt(<nobr>Number</nobr> <i>duration</i>)</b></code></td><td><code></code></td><td><p>定位至数据区域,duration参数为动画时间,默认3秒;0表示没有动画;</p></td></tr><tr><td><code><b>setOpacity(<nobr>Number</nobr> <i>value</i>)</b></code></td><td><code></code></td><td><p>设置透明度</p></td></tr><tr><td><code><b>setZIndex(<nobr>Number</nobr> <i>value</i>)</b></code></td><td><code></code></td><td><p>设置叠加顺序</p></td></tr></tbody></table></section></div></div></div></section><h2 id="Tiles3dLayer">Tiles3dLayer三维模型</h2><p>mars3d.layer.Tiles3dLayer是实体类, 3dtiles三维模型处理图层,继承自<a href="#BaseLayer"><code>mars3d.layer.BaseLayer</code></a>。</p><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>其他</b></code></td><td><code></code></td><td><code></code></td><td>参考 <b>配置项手册</b></td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>model</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Cesium3DTileset.html?classFilter=Cesium3DTileset">Cesium3DTileset</a></code></td><td><p>Cesium3DTileset图层对象</p></td></tr><tr><td><code><b>originalCenter</b></code></td><td><code>Object</code></td><td><p>中心位置</p></td></tr></tbody></table></section><div class="accordion"><label><span class="expander">▶</span> 继承的属性,来自 <a href="#BaseLayer">BaseLayer</a></label><div class="accordion-overflow"><div class="accordion-content"><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>config</b></code></td><td><code>Object</code></td><td><p>config.json中图层配置信息</p></td></tr><tr><td><code><b>viewer</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Viewer.html?classFilter=Viewer">Viewer</a></code></td><td><p></p></td></tr></tbody></table></section></div></div></div></section><section><h3 id="mars3dmap-method">方法</h3><section></section><div class="accordion"><label><span class="expander">▶</span> 继承的方法,来自 <a href="#BaseLayer">BaseLayer</a></label><div class="accordion-overflow"><div class="accordion-content"><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>getVisible</b>()</code></td><td><code></code></td><td><p>获取图层可见性</p></td></tr><tr><td><code><b>setVisible</b>(<nobr>Boolean</nobr> <i>value</i>)</code></td><td><code></code></td><td><p>设置图层可见性</p></td></tr><tr><td><code><b>centerAt(<nobr>Number</nobr> <i>duration</i>)</b></code></td><td><code></code></td><td><p>定位至数据区域,duration参数为动画时间,默认3秒;0表示没有动画;</p></td></tr><tr><td><code><b>setOpacity(<nobr>Number</nobr> <i>value</i>)</b></code></td><td><code></code></td><td><p>设置透明度</p></td></tr><tr><td><code><b>setZIndex(<nobr>Number</nobr> <i>value</i>)</b></code></td><td><code></code></td><td><p>设置叠加顺序</p></td></tr></tbody></table></section></div></div></div></section><h2 id="GeoJsonLayer">GeoJsonLayer GeoJson格式数据</h2><p>mars3d.layer.GeoJsonLayer是实体类, GeoJson格式数据处理图层,继承自<a href="#BaseLayer"><code>mars3d.layer.BaseLayer</code></a>。</p><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>其他</b></code></td><td><code></code></td><td><code></code></td><td>参考 <b>配置项手册</b></td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>dataSource</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/GeoJsonDataSource.html?classFilter=GeoJsonDataSource">GeoJsonDataSource</a></code></td><td><p>GeoJsonDataSource图层对象</p></td></tr></tbody></table></section><div class="accordion"><label><span class="expander">▶</span> 继承的属性,来自 <a href="#BaseLayer">BaseLayer</a></label><div class="accordion-overflow"><div class="accordion-content"><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>config</b></code></td><td><code>Object</code></td><td><p>config.json中图层配置信息</p></td></tr><tr><td><code><b>viewer</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Viewer.html?classFilter=Viewer">Viewer</a></code></td><td><p></p></td></tr></tbody></table></section></div></div></div></section><section><h3 id="mars3dmap-method">方法</h3><section></section><div class="accordion"><label><span class="expander">▶</span> 继承的方法,来自 <a href="#BaseLayer">BaseLayer</a></label><div class="accordion-overflow"><div class="accordion-content"><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>getVisible</b>()</code></td><td><code></code></td><td><p>获取图层可见性</p></td></tr><tr><td><code><b>setVisible</b>(<nobr>Boolean</nobr> <i>value</i>)</code></td><td><code></code></td><td><p>设置图层可见性</p></td></tr><tr><td><code><b>centerAt(<nobr>Number</nobr> <i>duration</i>)</b></code></td><td><code></code></td><td><p>定位至数据区域,duration参数为动画时间,默认3秒;0表示没有动画;</p></td></tr><tr><td><code><b>setOpacity(<nobr>Number</nobr> <i>value</i>)</b></code></td><td><code></code></td><td><p>设置透明度</p></td></tr><tr><td><code><b>setZIndex(<nobr>Number</nobr> <i>value</i>)</b></code></td><td><code></code></td><td><p>设置叠加顺序</p></td></tr></tbody></table></section></div></div></div></section><h2 id="ArcFeatureLayer">ArcFeatureLayer ArcGIS矢量服务</h2><p>mars3d.layer.ArcFeatureLayer是实体类, arcgis 矢量数据服务 处理图层(一次性全部加载,适合少量数据时),继承自<a href="#GeoJsonLayer"><code>mars3d.layer.GeoJsonLayer</code></a>。</p><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>其他</b></code></td><td><code></code></td><td><code></code></td><td>参考 <b>配置项手册</b></td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><div class="accordion"><label><span class="expander">▶</span> 继承的属性,来自 <a href="#GeoJsonLayer">GeoJsonLayer</a></label><div class="accordion-overflow"><div class="accordion-content"><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>dataSource</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/GeoJsonDataSource.html?classFilter=GeoJsonDataSource">GeoJsonDataSource</a></code></td><td><p>GeoJsonDataSource图层对象</p></td></tr></tbody></table></section></div></div></div><div class="accordion"><label><span class="expander">▶</span> 继承的方法,来自 <a href="#BaseLayer">BaseLayer</a></label><div class="accordion-overflow"><div class="accordion-content"><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>config</b></code></td><td><code>Object</code></td><td><p>config.json中图层配置信息</p></td></tr><tr><td><code><b>viewer</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Viewer.html?classFilter=Viewer">Viewer</a></code></td><td><p></p></td></tr></tbody></table></section></div></div></div></section><section><h3 id="mars3dmap-method">方法</h3><section></section><div class="accordion"><label><span class="expander">▶</span> 继承的方法,来自 <a href="#BaseLayer">BaseLayer</a></label><div class="accordion-overflow"><div class="accordion-content"><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>getVisible</b>()</code></td><td><code></code></td><td><p>获取图层可见性</p></td></tr><tr><td><code><b>setVisible</b>(<nobr>Boolean</nobr> <i>value</i>)</code></td><td><code></code></td><td><p>设置图层可见性</p></td></tr><tr><td><code><b>centerAt(<nobr>Number</nobr> <i>duration</i>)</b></code></td><td><code></code></td><td><p>定位至数据区域,duration参数为动画时间,默认3秒;0表示没有动画;</p></td></tr><tr><td><code><b>setOpacity(<nobr>Number</nobr> <i>value</i>)</b></code></td><td><code></code></td><td><p>设置透明度</p></td></tr><tr><td><code><b>setZIndex(<nobr>Number</nobr> <i>value</i>)</b></code></td><td><code></code></td><td><p>设置叠加顺序</p></td></tr></tbody></table></section></div></div></div></section><h2 id="KmlLayer">KmlLayer KML格式数据</h2><p>mars3d.layer.KmlLayer是实体类, KML格式数据处理图层 处理图层,继承自<a href="#GeoJsonLayer"><code>mars3d.layer.GeoJsonLayer</code></a>。</p><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>其他</b></code></td><td><code></code></td><td><code></code></td><td>参考 <b>配置项手册</b></td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>dataSource</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/KmlDataSource.html?classFilter=KmlDataSource">KmlDataSource</a></code></td><td><p>KmlDataSource图层对象</p></td></tr></tbody></table></section><div class="accordion"><label><span class="expander">▶</span> 继承的属性,来自 <a href="#BaseLayer">BaseLayer</a></label><div class="accordion-overflow"><div class="accordion-content"><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>config</b></code></td><td><code>Object</code></td><td><p>config.json中图层配置信息</p></td></tr><tr><td><code><b>viewer</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Viewer.html?classFilter=Viewer">Viewer</a></code></td><td><p></p></td></tr></tbody></table></section></div></div></div></section><section><h3 id="mars3dmap-method">方法</h3><section></section><div class="accordion"><label><span class="expander">▶</span> 继承的方法,来自 <a href="#BaseLayer">BaseLayer</a></label><div class="accordion-overflow"><div class="accordion-content"><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>getVisible</b>()</code></td><td><code></code></td><td><p>获取图层可见性</p></td></tr><tr><td><code><b>setVisible</b>(<nobr>Boolean</nobr> <i>value</i>)</code></td><td><code></code></td><td><p>设置图层可见性</p></td></tr><tr><td><code><b>centerAt(<nobr>Number</nobr> <i>duration</i>)</b></code></td><td><code></code></td><td><p>定位至数据区域,duration参数为动画时间,默认3秒;0表示没有动画;</p></td></tr><tr><td><code><b>setOpacity(<nobr>Number</nobr> <i>value</i>)</b></code></td><td><code></code></td><td><p>设置透明度</p></td></tr><tr><td><code><b>setZIndex(<nobr>Number</nobr> <i>value</i>)</b></code></td><td><code></code></td><td><p>设置叠加顺序</p></td></tr></tbody></table></section></div></div></div></section><h2 id="CzmlLayer">CzmlLayer CZML格式数据</h2><p>mars3d.layer.CzmlLayer是实体类, CZML格式数据处理图层 处理图层,继承自<a href="#GeoJsonLayer"><code>mars3d.layer.GeoJsonLayer</code></a>。</p><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>其他</b></code></td><td><code></code></td><td><code></code></td><td>参考 <b>配置项手册</b></td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>dataSource</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/CzmlDataSource.html?classFilter=CzmlDataSource">CzmlDataSource</a></code></td><td><p>CzmlDataSource图层对象</p></td></tr></tbody></table></section><div class="accordion"><label><span class="expander">▶</span> 继承的属性,来自 <a href="#BaseLayer">BaseLayer</a></label><div class="accordion-overflow"><div class="accordion-content"><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>config</b></code></td><td><code>Object</code></td><td><p>config.json中图层配置信息</p></td></tr><tr><td><code><b>viewer</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Viewer.html?classFilter=Viewer">Viewer</a></code></td><td><p></p></td></tr></tbody></table></section></div></div></div></section><section><h3 id="mars3dmap-method">方法</h3><section></section><div class="accordion"><label><span class="expander">▶</span> 继承的方法,来自 <a href="#BaseLayer">BaseLayer</a></label><div class="accordion-overflow"><div class="accordion-content"><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>getVisible</b>()</code></td><td><code></code></td><td><p>获取图层可见性</p></td></tr><tr><td><code><b>setVisible</b>(<nobr>Boolean</nobr> <i>value</i>)</code></td><td><code></code></td><td><p>设置图层可见性</p></td></tr><tr><td><code><b>centerAt(<nobr>Number</nobr> <i>duration</i>)</b></code></td><td><code></code></td><td><p>定位至数据区域,duration参数为动画时间,默认3秒;0表示没有动画;</p></td></tr><tr><td><code><b>setOpacity(<nobr>Number</nobr> <i>value</i>)</b></code></td><td><code></code></td><td><p>设置透明度</p></td></tr><tr><td><code><b>setZIndex(<nobr>Number</nobr> <i>value</i>)</b></code></td><td><code></code></td><td><p>设置叠加顺序</p></td></tr></tbody></table></section></div></div></div></section><h2 id="TerrainLayer">TerrainLayer 地形图层</h2><p>mars3d.layer.TerrainLayer是实体类, 地形管理(地球对象有且仅有一个地形图层),继承自<a href="#BaseLayer"><code>mars3d.layer.BaseLayer</code></a>。</p><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>其他</b></code></td><td><code></code></td><td><code></code></td><td>参考 <b>配置项手册</b></td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>terrain</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/CesiumTerrainProvider.html?classFilter=CesiumTerrainProvider">CesiumTerrainProvider</a></code></td><td><p>CesiumTerrainProvider图层对象</p></td></tr></tbody></table></section><div class="accordion"><label><span class="expander">▶</span> 继承的属性,来自 <a href="#BaseLayer">BaseLayer</a></label><div class="accordion-overflow"><div class="accordion-content"><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>config</b></code></td><td><code>Object</code></td><td><p>config.json中图层配置信息</p></td></tr><tr><td><code><b>viewer</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Viewer.html?classFilter=Viewer">Viewer</a></code></td><td><p></p></td></tr></tbody></table></section></div></div></div></section><section><h3 id="mars3dmap-method">方法</h3><section></section><div class="accordion"><label><span class="expander">▶</span> 继承的方法,来自 <a href="#BaseLayer">BaseLayer</a></label><div class="accordion-overflow"><div class="accordion-content"><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>getVisible</b>()</code></td><td><code></code></td><td><p>获取图层可见性</p></td></tr><tr><td><code><b>setVisible</b>(<nobr>Boolean</nobr> <i>value</i>)</code></td><td><code></code></td><td><p>设置图层可见性</p></td></tr><tr><td><code><b>centerAt(<nobr>Number</nobr> <i>duration</i>)</b></code></td><td><code></code></td><td><p>定位至数据区域,duration参数为动画时间,默认3秒;0表示没有动画;</p></td></tr><tr><td><code><b>setOpacity(<nobr>Number</nobr> <i>value</i>)</b></code></td><td><code></code></td><td><p>设置透明度</p></td></tr><tr><td><code><b>setZIndex(<nobr>Number</nobr> <i>value</i>)</b></code></td><td><code></code></td><td><p>设置叠加顺序</p></td></tr></tbody></table></section></div></div></div></section><h2 id="CustomFeatureGridLayer">CustomFeatureGridLayer 分块加载图层基类</h2><p>mars3d.layer.CustomFeatureGridLayer是实体类, 按类似瓦片规则动态分块加载视域内矢量数据,公共基类,继承自<a href="#BaseLayer"><code>mars3d.layer.BaseLayer</code></a>。</p><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>其他</b></code></td><td><code></code></td><td><code></code></td><td>参考 <b>配置项手册</b></td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>dataSource</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/CustomDataSource.html?classFilter=CustomDataSource">CustomDataSource</a></code></td><td><p>用于存储管理图层内所有entity对象集合</p></td></tr><tr><td><code><b>primitives</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/PrimitiveCollection.html?classFilter=PrimitiveCollection">PrimitiveCollection</a></code></td><td><p>用于存储管理图层内所有primitive对象集合</p></td></tr></tbody></table></section><div class="accordion"><label><span class="expander">▶</span> 继承的属性,来自 <a href="#BaseLayer">BaseLayer</a></label><div class="accordion-overflow"><div class="accordion-content"><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>config</b></code></td><td><code>Object</code></td><td><p>config.json中图层配置信息</p></td></tr><tr><td><code><b>viewer</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Viewer.html?classFilter=Viewer">Viewer</a></code></td><td><p></p></td></tr></tbody></table></section></div></div></div></section><section><h3 id="mars3dmap-method">用于子类继承的方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>getDataForGrid</b>(<nobr>Object</nobr> <i>opts</i>,<nobr>Function</nobr> <i>calback</i>)</code></td><td><code>void</code></td><td><p>获取网格内的数据(opts包含具体网格信息),calback为回调方法,calback参数传回数据数组</p></td></tr><tr><td><code><b>createEntity</b>(<nobr>Object</nobr> <i>opts</i>,<nobr>Object</nobr> <i>attributes</i>,<nobr>Function</nobr> <i>calback?</i>)</code></td><td><code>Entity</code></td><td><p>根据数据创造entity,opts为当前网格信息,attributes为getDataForGrid返回的数组中单个对象,calback在异步构造时,调用回调,返回entity</p></td></tr><tr><td><code><b>updateEntity</b>(<nobr>Entity</nobr> <i>entity</i>,<nobr>Object</nobr> <i>attributes</i>)</code></td><td><code>void</code></td><td><p>更新entity(动态数据时有用),entity为图层中对应id的历史对象,attributes为getDataForGrid返回的数组中单个对象</p></td></tr><tr><td><code><b>removeEntity</b>(<nobr>Entity</nobr> <i>entity</i>)</code></td><td><code>void</code></td><td><p>移除entity,需要特殊处理时可以重写。entity为图层中对应id的历史对象,attributes为getDataForGrid返回的数组中单个对象</p></td></tr></tbody></table></section><h3 id="mars3dmap-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>reload</b>()</code></td><td><code>void</code></td><td><p>重新加载数据</p></td></tr><tr><td><code><b>getLength</b>()</code></td><td><code>Number</code></td><td><p>当前图层内所有矢量对象的数量</p></td></tr></tbody></table></section><div class="accordion"><label><span class="expander">▶</span> 继承的方法,来自 <a href="#BaseLayer">BaseLayer</a></label><div class="accordion-overflow"><div class="accordion-content"><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>getVisible</b>()</code></td><td><code></code></td><td><p>获取图层可见性</p></td></tr><tr><td><code><b>setVisible</b>(<nobr>Boolean</nobr> <i>value</i>)</code></td><td><code></code></td><td><p>设置图层可见性</p></td></tr><tr><td><code><b>centerAt(<nobr>Number</nobr> <i>duration</i>)</b></code></td><td><code></code></td><td><p>定位至数据区域,duration参数为动画时间,默认3秒;0表示没有动画;</p></td></tr><tr><td><code><b>setOpacity(<nobr>Number</nobr> <i>value</i>)</b></code></td><td><code></code></td><td><p>设置透明度</p></td></tr><tr><td><code><b>setZIndex(<nobr>Number</nobr> <i>value</i>)</b></code></td><td><code></code></td><td><p>设置叠加顺序</p></td></tr></tbody></table></section></div></div></div></section><h2 id="ArcFeatureGridLayer">ArcGIS矢量服务分块加载图层</h2><p>该类在插件不在mars3d.js主库中,在单独的插件mars3d-esri.js文件内。</p><p></p><p>mars3d.layer.ArcFeatureGridLayer是实体类, arcgis 矢量数据服务分块加载处理图层(按瓦片加载当前视域内数据,适合大量数据时),继承自<a href="#CustomFeatureGridLayer"><code>mars3d.layer.CustomFeatureGridLayer</code></a>。</p><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>其他</b></code></td><td><code></code></td><td><code></code></td><td>参考 <b>配置项手册</b></td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><div class="accordion"><label><span class="expander">▶</span> 继承的属性,来自 <a href="#CustomFeatureGridLayer">CustomFeatureGridLayer</a></label><div class="accordion-overflow"><div class="accordion-content"><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>dataSource</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/CustomDataSource.html?classFilter=CustomDataSource">CustomDataSource</a></code></td><td><p>用于存储管理图层内所有entity对象集合</p></td></tr><tr><td><code><b>primitives</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/PrimitiveCollection.html?classFilter=PrimitiveCollection">PrimitiveCollection</a></code></td><td><p>用于存储管理图层内所有primitive对象集合</p></td></tr></tbody></table></section></div></div></div><div class="accordion"><label><span class="expander">▶</span> 继承的属性,来自 <a href="#BaseLayer">BaseLayer</a></label><div class="accordion-overflow"><div class="accordion-content"><section><table><thead><tr><th>属性</th><th>参数类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>config</b></code></td><td><code>Object</code></td><td><p>config.json中图层配置信息</p></td></tr><tr><td><code><b>viewer</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Viewer.html?classFilter=Viewer">Viewer</a></code></td><td><p></p></td></tr></tbody></table></section></div></div></div></section><section><h3 id="mars3dmap-method">方法</h3><div class="accordion"><label><span class="expander">▶</span> 继承的方法,来自 <a href="#CustomFeatureGridLayer">CustomFeatureGridLayer</a></label><div class="accordion-overflow"><div class="accordion-content"><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>reload</b>()</code></td><td><code>void</code></td><td><p>重新加载数据</p></td></tr><tr><td><code><b>getLength</b>()</code></td><td><code>Number</code></td><td><p>当前图层内所有矢量对象的数量</p></td></tr></tbody></table></section></div></div></div><div class="accordion"><label><span class="expander">▶</span> 继承的方法,来自 <a href="#BaseLayer">BaseLayer</a></label><div class="accordion-overflow"><div class="accordion-content"><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>getVisible</b>()</code></td><td><code></code></td><td><p>获取图层可见性</p></td></tr><tr><td><code><b>setVisible</b>(<nobr>Boolean</nobr> <i>value</i>)</code></td><td><code></code></td><td><p>设置图层可见性</p></td></tr><tr><td><code><b>centerAt(<nobr>Number</nobr> <i>duration</i>)</b></code></td><td><code></code></td><td><p>定位至数据区域,duration参数为动画时间,默认3秒;0表示没有动画;</p></td></tr><tr><td><code><b>setOpacity(<nobr>Number</nobr> <i>value</i>)</b></code></td><td><code></code></td><td><p>设置透明度</p></td></tr><tr><td><code><b>setZIndex(<nobr>Number</nobr> <i>value</i>)</b></code></td><td><code></code></td><td><p>设置叠加顺序</p></td></tr></tbody></table></section></div></div></div></section><h2 id="draw">Draw标绘类</h2><p>mars3d.Draw是实体类,标绘控制处理类,提供文字、点、线、面、立体、模型等各类entity对象的绘制。</p><section><h3 id="draw-example">使用示例</h3><section><pre><code class="javascript">
|
var drawControl = new mars3d.Draw(viewer, {hasEdit: true });
|
//标绘文字
|
drawControl.startDraw({
|
type: "label",
|
style: {
|
text: "火星科技三维地球",
|
color: "#0081c2",
|
font_size: 50,
|
border: true,
|
border_color: "#ffffff",
|
border_width: 2
|
},
|
success: function (entity) {
|
//简单绘制时,绘制完成后回调,更多复杂回调可以注册事件监听
|
}
|
});
|
|
//事件监听(可以自行加相关代码实现业务需求,此处主要做示例)
|
drawControl.on(mars3d.draw.event.DrawStart, function (e) {
|
console.log('开始绘制');
|
});
|
drawControl.on(mars3d.draw.event.DrawAddPoint, function (e) {
|
console.log('绘制过程中增加了点');
|
});
|
drawControl.on(mars3d.draw.event.DrawRemovePoint, function (e) {
|
console.log('绘制过程中删除了点');
|
});
|
drawControl.on(mars3d.draw.event.DrawCreated, function (e) {
|
console.log('创建完成');
|
});
|
drawControl.on(mars3d.draw.event.EditStart, function (e) {
|
console.log('开始编辑');
|
});
|
drawControl.on(mars3d.draw.event.EditMovePoint, function (e) {
|
console.log('编辑修改了点');
|
});
|
drawControl.on(mars3d.draw.event.EditRemovePoint, function (e) {
|
console.log('编辑删除了点');
|
});
|
drawControl.on(mars3d.draw.event.EditStop, function (e) {
|
console.log('停止编辑');
|
});
|
drawControl.on(mars3d.draw.event.Delete, function (e) {
|
console.log('删除了对象');
|
});
|
</code></pre></section></section><section><h3 id="draw-factory">创建对象</h3><section><table><thead><tr><th>创建示例</th><th>说明</th></tr></thead><tbody><tr id="draw-l-marker"><td><code><b>mars3d.Draw</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Viewer.html?classFilter=Viewer">Viewer</a></nobr> <i>Viewer</i>,<nobr><<a href="#draw-option">Draw options</a>></nobr> <i>options</i>)</code></td><td>根据相关参数创建一个标绘控制器</td></tr></tbody></table></section></section><section><h3 id="draw-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr id="marker-autoSize"><td><code><b>hasEdit</b></code></td><td><code>Boolean</code></td><td><code>false</code></td><td>是否可以编辑</td></tr><tr id="marker-click"><td><code><b>nameTooltip</b></code></td><td><code>Boolean</code></td><td><code>true</code></td><td>是否在不可编辑状态时将 name名称 属性 绑定到tooltip</td></tr><tr id="marker-autoSize"><td><code><b>removeScreenSpaceEvent</b></code></td><td><code>Boolean</code></td><td><code>true</code></td><td>是否移除Cesium内部的双击事件,因为会影响标绘的事件交互。默认true,为true时,内部会执行:<pre><code class="javascript">
|
viewer.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK);
|
viewer.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK);
|
</code></pre></td></tr></tbody></table></section><h3 id="draw-DrawStyle-option">startDraw Options参数选项</h3><section>startDraw方法内参数值attribute说明,主要设置有type和style属性。<br>支持success:function(entity){ }标绘完成后的回调方法,适用于一些简单场景下,复杂的可以执行on方法用事件去监听。<br>完整的Options参数请参考基础项目或marsv示例的<code>widgets\plotAttr\config\attr.json</code>文件<table><thead><tr><th style="width:70px">名称</th><th>参数</th></tr></thead><tbody><tr id="marker-name"><td><code><b>文字</b></code></td><td><pre><code class="javascript">{
|
"type": "label",
|
"style": {
|
"text": "文字", //内容
|
"color": "#ffffff", //颜色
|
"opacity": 1, //透明度
|
"font_family": "楷体", //字体
|
"font_size": 30, //字体大小
|
"border": true, //是否衬色
|
"border_color": "#000000", //衬色颜色
|
"border_width": 3, //衬色宽度
|
"background": false, //是否背景
|
"background_color": "#000000", //背景颜色
|
"background_opacity": 0.5, //背景透明度
|
"font_weight": "normal", //是否加粗
|
"font_style": "normal", //是否斜体
|
"scaleByDistance": false, //是否按视距缩放
|
"scaleByDistance_far": 1000000, //上限
|
"scaleByDistance_farValue": 0.1, //比例值
|
"scaleByDistance_near": 1000, //下限
|
"scaleByDistance_nearValue": 1, //比例值
|
"distanceDisplayCondition": false, //是否按视距显示
|
"distanceDisplayCondition_far": 10000, //最大距离
|
"distanceDisplayCondition_near": 0, //最小距离
|
"clampToGround": false, //是否贴地
|
"visibleDepth": true, //是否被遮挡
|
}
|
}</code></pre></td></tr><tr id="marker-name"><td><code><b>点标记</b></code></td><td><pre><code class="javascript">{
|
"type": "point",
|
"style": {
|
"pixelSize": 10, //像素大小
|
"color": "#3388ff", //颜色
|
"opacity": 1, //透明度
|
"outline": true, //是否边框
|
"outlineColor": "#ffffff", //边框颜色
|
"outlineOpacity": 0.6, //边框透明度
|
"outlineWidth": 2, //边框宽度
|
"scaleByDistance": false, //是否按视距缩放
|
"scaleByDistance_far": 1000000, //上限
|
"scaleByDistance_farValue": 0.1, //比例值
|
"scaleByDistance_near": 1000, //下限
|
"scaleByDistance_nearValue": 1, //比例值
|
"distanceDisplayCondition": false, //是否按视距显示
|
"distanceDisplayCondition_far": 10000, //最大距离
|
"distanceDisplayCondition_near": 0, //最小距离
|
"clampToGround": false, //是否贴地
|
"visibleDepth": true, //是否被遮挡
|
|
}
|
}</code></pre></td></tr><tr id="marker-name"><td><code><b>图标点标记</b></code></td><td><pre><code class="javascript">{
|
"type": "billboard",
|
"style": {
|
"image": "img/marker.png", //图标
|
"opacity": 1, //透明度
|
"scale": 1, //大小比例
|
"rotation": 0, //旋转角度
|
"horizontalOrigin": "CENTER", //横向对齐
|
"verticalOrigin": "BOTTOM", //垂直对齐
|
"scaleByDistance": false, //是否按视距缩放
|
"scaleByDistance_far": 1000000, //上限
|
"scaleByDistance_farValue": 0.1, //比例值
|
"scaleByDistance_near": 1000, //下限
|
"scaleByDistance_nearValue": 1, //比例值
|
"distanceDisplayCondition": false, //是否按视距显示
|
"distanceDisplayCondition_far": 10000, //最大距离
|
"distanceDisplayCondition_near": 0, //最小距离
|
"clampToGround": false, //是否贴地
|
"visibleDepth": true, //是否被遮挡
|
|
}
|
}</code></pre></td></tr><tr id="marker-name"><td><code><b>模型</b></code></td><td><pre><code class="javascript">{
|
"type": "model",
|
"style": {
|
"modelUrl": "", //路径
|
"scale": 1, //比例
|
"heading": 0, //方向角
|
"pitch": 0, //俯仰角
|
"roll": 0, //翻滚角
|
"fill": false, //是否填充
|
"color": "#3388ff", //颜色
|
"opacity": 1, //透明度
|
"silhouette": false, //是否轮廓
|
"silhouetteColor": "#ffffff", //轮廓颜色
|
"silhouetteSize": 2, //轮廓宽度
|
"silhouetteAlpha": 0.8, //轮廓透明度
|
"clampToGround": false, //是否贴地
|
|
}
|
}</code></pre></td></tr><tr id="marker-name"><td><code><b>线</b></code></td><td><pre><code class="javascript">{
|
"type": "polyline",
|
"style": {
|
"lineType": "solid", //线型
|
"animationDuration": 1000, //速度
|
"animationImage": "img/textures/lineClr.png", //图片
|
"color": "#3388ff", //颜色
|
"width": 4, //线宽
|
"clampToGround": false, //是否贴地
|
"outline": false, //是否衬色
|
"outlineColor": "#ffffff", //衬色颜色
|
"outlineWidth": 2, //衬色宽度
|
"opacity": 1, //透明度
|
"zIndex": 0, //层级顺序
|
|
}
|
}</code></pre></td></tr><tr id="marker-name"><td><code><b>管道线</b></code></td><td><pre><code class="javascript">{
|
"type": "polylineVolume",
|
"style": {
|
"color": "#00FF00", //颜色
|
"radius": 10, //半径
|
"shape": "pipeline", //形状
|
"outline": false, //是否衬色
|
"outlineColor": "#ffffff", //衬色颜色
|
"opacity": 1, //透明度
|
|
}
|
}</code></pre></td></tr><tr id="marker-name"><td><code><b>墙体</b></code></td><td><pre><code class="javascript">{
|
"type": "wall",
|
"style": {
|
"extrudedHeight": 50, //墙高
|
"fill": true, //是否填充
|
"fillType": "color", //填充类型
|
"animationDuration": 1000, //速度
|
"animationImage": "img/textures/fence.png", //图片
|
"animationRepeatX": 1, //重复数量
|
"animationAxisY": false, //竖直方向
|
"grid_lineCount": 8, //网格数量
|
"grid_lineThickness": 2, //网格宽度
|
"grid_cellAlpha": 0.1, //填充透明度
|
"stripe_oddcolor": "#ffffff", //条纹衬色
|
"stripe_repeat": 6, //条纹数量
|
"checkerboard_oddcolor": "#ffffff", //棋盘衬色
|
"checkerboard_repeat": 4, //棋盘格数
|
"color": "#00FF00", //颜色
|
"opacity": 0.6, //透明度
|
"outline": true, //是否边框
|
"outlineWidth": 1, //边框宽度
|
"outlineColor": "#ffffff", //边框颜色
|
"outlineOpacity": 0.6, //边框透明度
|
}
|
}</code></pre></td></tr><tr id="marker-name"><td><code><b>走廊</b></code></td><td><pre><code class="javascript">{
|
"type": "corridor",
|
"style": {
|
"height": 0, //高程
|
"width": 100, //走廊宽度
|
"cornerType": "ROUNDED", //顶点样式
|
"fillType": "color", //填充类型
|
"grid_lineCount": 8, //网格数量
|
"grid_lineThickness": 2, //网格宽度
|
"grid_cellAlpha": 0.1, //填充透明度
|
"color": "#3388ff", //颜色
|
"opacity": 0.6, //透明度
|
"clampToGround": false, //是否贴地
|
"zIndex": 0, //层级顺序
|
"extrudedHeight": 50, //拉伸高度
|
}
|
}</code></pre></td></tr><tr id="marker-name"><td><code><b>面</b></code></td><td><pre><code class="javascript">{
|
"type": "polygon",
|
"style": {
|
"fill": true, //是否填充
|
"fillType": "color", //填充类型
|
"grid_lineCount": 8, //网格数量
|
"grid_lineThickness": 2, //网格宽度
|
"grid_cellAlpha": 0.1, //填充透明度
|
"stripe_oddcolor": "#ffffff", //条纹衬色
|
"stripe_repeat": 6, //条纹数量
|
"checkerboard_oddcolor": "#ffffff", //棋盘衬色
|
"checkerboard_repeat": 4, //棋盘格数
|
"color": "#3388ff", //颜色
|
"opacity": 0.6, //透明度
|
"stRotation": 0, //填充方向
|
"outline": true, //是否边框
|
"outlineWidth": 1, //边框宽度
|
"outlineColor": "#ffffff", //边框颜色
|
"outlineOpacity": 0.6, //边框透明度
|
"clampToGround": false, //是否贴地
|
"zIndex": 0, //层级顺序
|
"extrudedHeight": 100, //拉伸高度
|
}
|
}</code></pre></td></tr><tr id="marker-name"><td><code><b>矩形</b></code></td><td><pre><code class="javascript">{
|
"type": "rectangle",
|
"style": {
|
"height": 0, //高程
|
"fill": true, //是否填充
|
"fillType": "color", //填充类型
|
"grid_lineCount": 8, //网格数量
|
"grid_lineThickness": 2, //网格宽度
|
"grid_cellAlpha": 0.1, //填充透明度
|
"stripe_oddcolor": "#ffffff", //条纹衬色
|
"stripe_repeat": 6, //条纹数量
|
"checkerboard_oddcolor": "#ffffff", //棋盘衬色
|
"checkerboard_repeat": 4, //棋盘格数
|
"color": "#3388ff", //颜色
|
"opacity": 0.6, //透明度
|
"outline": true, //是否边框
|
"outlineWidth": 1, //边框宽度
|
"outlineColor": "#ffffff", //边框颜色
|
"outlineOpacity": 0.6, //边框透明度
|
"rotation": 0, //旋转角度
|
"stRotation": 0, //材质角度
|
"clampToGround": false, //是否贴地
|
"zIndex": 0, //层级顺序
|
"extrudedHeight": 100, //高度
|
}
|
}</code></pre></td></tr><tr id="marker-name"><td><code><b>圆</b></code></td><td><pre><code class="javascript">{
|
"type": "circle",
|
"style": {
|
"radius": 100, //半径
|
"height": 0, //高程
|
"fill": true, //是否填充
|
"fillType": "color", //填充类型
|
"animationDuration": 1000, //速度
|
"animationCount": 1, //圈数
|
"animationGradient": 0.1, //圈间系数
|
"grid_lineCount": 8, //网格数量
|
"grid_lineThickness": 2, //网格宽度
|
"grid_cellAlpha": 0.1, //填充透明度
|
"stripe_oddcolor": "#ffffff", //条纹衬色
|
"stripe_repeat": 6, //条纹数量
|
"checkerboard_oddcolor": "#ffffff", //棋盘衬色
|
"checkerboard_repeat": 4, //棋盘格数
|
"color": "#3388ff", //填充颜色
|
"opacity": 0.6, //透明度
|
"stRotation": 0, //填充方向
|
"outline": true, //是否边框
|
"outlineWidth": 1, //边框宽度
|
"outlineColor": "#ffffff", //边框颜色
|
"outlineOpacity": 0.6, //边框透明度
|
"rotation": 0, //旋转角度
|
"clampToGround": false, //是否贴地
|
"zIndex": 0, //层级顺序
|
"extrudedHeight": 100, //拉伸高度
|
|
}
|
}</code></pre></td></tr><tr id="marker-name"><td><code><b>椭圆</b></code></td><td><pre><code class="javascript">{
|
"type": "ellipse",
|
"style": {
|
"semiMinorAxis": 100, //短半径
|
"semiMajorAxis": 100, //长半径
|
"height": 0, //高程
|
"fill": true, //是否填充
|
"fillType": "color", //填充类型
|
"animationDuration": 1000, //速度
|
"animationCount": 1, //圈数
|
"animationGradient": 0.1, //圈间系数
|
"grid_lineCount": 8, //网格数量
|
"grid_lineThickness": 2, //网格宽度
|
"grid_cellAlpha": 0.1, //填充透明度
|
"stripe_oddcolor": "#ffffff", //条纹衬色
|
"stripe_repeat": 6, //条纹数量
|
"checkerboard_oddcolor": "#ffffff", //棋盘衬色
|
"checkerboard_repeat": 4, //棋盘格数
|
"color": "#3388ff", //填充颜色
|
"opacity": 0.6, //透明度
|
"stRotation": 0, //填充方向
|
"outline": true, //是否边框
|
"outlineWidth": 1, //边框宽度
|
"outlineColor": "#ffffff", //边框颜色
|
"outlineOpacity": 0.6, //边框透明度
|
"rotation": 0, //旋转角度
|
"clampToGround": false, //是否贴地
|
"zIndex": 0, //层级顺序
|
"extrudedHeight": 100, //拉伸高度
|
}
|
}</code></pre></td></tr><tr id="marker-name"><td><code><b>圆锥体</b></code></td><td><pre><code class="javascript">{
|
"type": "cylinder",
|
"style": {
|
"topRadius": 0, //顶部半径
|
"bottomRadius": 100, //底部半径
|
"length": 100, //高度
|
"fill": true, //是否填充
|
"fillType": "color", //填充类型
|
"animationDuration": 1000, //速度
|
"animationCount": 1, //圈数
|
"animationGradient": 0.1, //圈间系数
|
"color": "#00FF00", //填充颜色
|
"opacity": 0.6, //透明度
|
"outline": false, //是否边框
|
"outlineWidth": 1, //边框宽度
|
"outlineColor": "#ffffff", //边框颜色
|
"outlineOpacity": 0.6, //边框透明度
|
}
|
}</code></pre></td></tr><tr id="marker-name"><td><code><b>球体</b></code></td><td><pre><code class="javascript">{
|
"type": "ellipsoid",
|
"style": {
|
"extentRadii": 100, //长半径
|
"widthRadii": 100, //宽半径
|
"heightRadii": 100, //高半径
|
"fill": true, //是否填充
|
"fillType": "color", //填充类型
|
"grid_lineCount": 8, //网格数量
|
"grid_lineThickness": 2, //网格宽度
|
"grid_cellAlpha": 0.1, //填充透明度
|
"stripe_oddcolor": "#ffffff", //条纹衬色
|
"stripe_repeat": 6, //条纹数量
|
"checkerboard_oddcolor": "#ffffff", //棋盘衬色
|
"checkerboard_repeat": 4, //棋盘格数
|
"color": "#00FF00", //颜色
|
"opacity": 0.6, //透明度
|
"outline": true, //是否边框
|
"outlineWidth": 1, //边框宽度
|
"outlineColor": "#ffffff", //边框颜色
|
"outlineOpacity": 0.6, //边框透明度
|
}
|
}</code></pre></td></tr><tr id="marker-name"><td><code><b>平面</b></code></td><td><pre><code class="javascript">{
|
"type": "plane",
|
"style": {
|
"dimensionsX": 100, //长度
|
"dimensionsY": 100, //宽度
|
"plane_normal": "z", //方向
|
"plane_distance": 0, //偏移距离
|
"fill": true, //是否填充
|
"fillType": "color", //填充类型
|
"grid_lineCount": 8, //网格数量
|
"grid_lineThickness": 2, //网格宽度
|
"grid_cellAlpha": 0.1, //填充透明度
|
"stripe_oddcolor": "#ffffff", //条纹衬色
|
"stripe_repeat": 6, //条纹数量
|
"checkerboard_oddcolor": "#ffffff", //棋盘衬色
|
"checkerboard_repeat": 4, //棋盘格数
|
"color": "#00FF00", //颜色
|
"opacity": 0.6, //透明度
|
"outline": true, //是否边框
|
"outlineWidth": 1, //边框宽度
|
"outlineColor": "#ffffff", //边框颜色
|
"outlineOpacity": 0.6, //边框透明度
|
"distanceDisplayCondition": false, //是否按视距显示
|
"distanceDisplayCondition_far": 10000, //最大距离
|
"distanceDisplayCondition_near": 0, //最小距离
|
}
|
}</code></pre></td></tr><tr id="marker-name"><td><code><b>盒子</b></code></td><td><pre><code class="javascript">{
|
"type": "box",
|
"style": {
|
"dimensionsX": 100, //盒子长度
|
"dimensionsY": 100, //盒子宽度
|
"dimensionsZ": 100, //盒子高度
|
"fill": true, //是否填充
|
"fillType": "color", //填充类型
|
"grid_lineCount": 8, //网格数量
|
"grid_lineThickness": 2, //网格宽度
|
"grid_cellAlpha": 0.1, //填充透明度
|
"stripe_oddcolor": "#ffffff", //条纹衬色
|
"stripe_repeat": 6, //条纹数量
|
"checkerboard_oddcolor": "#ffffff", //棋盘衬色
|
"checkerboard_repeat": 4, //棋盘格数
|
"color": "#00FF00", //颜色
|
"opacity": 0.6, //透明度
|
"outline": true, //是否边框
|
"outlineWidth": 1, //边框宽度
|
"outlineColor": "#ffffff", //边框颜色
|
"outlineOpacity": 0.6, //边框透明度
|
"distanceDisplayCondition": false, //是否按视距显示
|
"distanceDisplayCondition_far": 10000, //最大距离
|
"distanceDisplayCondition_near": 0, //最小距离
|
"clampToGround": false, //是否贴地
|
}
|
}</code></pre></td></tr></tbody></table></section></section><section><h3 id="draw-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>startDraw</b>(<nobr><a href="#draw-DrawStyle-option">DrawStyle-option</a></nobr> <i>option</i>)</code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></code></td><td><p>激活开始绘制</p></td></tr><tr><td><code><b>endDraw</b>()</code></td><td><code>this</code></td><td><p>外部控制,完成绘制,比如手机端无法双击结束</p></td></tr><tr><td><code><b>stopDraw</b>()</code></td><td><code>this</code></td><td><p>停止绘制</p></td></tr><tr><td><code><b>clearDraw</b>()</code></td><td><code>this</code></td><td><p>清除所有绘制,等同deleteAll</p></td></tr><tr><td><code><b>getCurrentEntity</b>()</code></td><td><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr></td><td><p>获取当前编辑的要素</p></td></tr><tr><td><code><b>hasEdit</b>(<nobr>Boolean</nobr> <i>value</i>)</code></td><td><code></code></td><td><p>设置是否在绘制完成后可以编辑修改entity</p></td></tr><tr><td><code><b>startEditing</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code></code></td><td><p>激活编辑entity</p></td></tr><tr><td><code><b>stopEditing</b>()</code></td><td></td><td><p>停止编辑entity</p></td></tr><tr><td><code><b>updateAttribute</b>(<nobr>Object</nobr> <i>attribute</i>,<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity?</i>)</code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></code></td><td><p>修改的Entity的属性,entit为空时为当前正在编辑的对象</p></td></tr><tr><td><code><b>setPositions</b>(<nobr>Array</nobr> <i>positions</i>,<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity?</i>)</code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></code></td><td><p>修改Entity的坐标、高程,entit为空时为当前正在编辑的对象</p></td></tr><tr><td><code><b>deleteEntity</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity?</i>)</code></td><td><code></code></td><td><p>删除单个entity,entit为空时为当前正在编辑的对象。兼容remove方法名</p></td></tr><tr><td><code><b>deleteAll</b>()</code></td><td><code></code></td><td><p>删除所有entity。 兼容removeAll方法名</p></td></tr><tr><td><code><b>toGeoJSON</b>()</code></td><td><code>String</code></td><td><p>转换所有标绘的Entity为geojson标准格式,用于保存</p></td></tr><tr><td><code><b>loadJson</b>(<nobr>GeoJson Object</nobr> <i>json</i>,<nobr>Object</nobr> <i>options</i>)</code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a>[]</code></td><td><p>转换保存过的geojson数据为entity,并添加到Draw进行控制</p><p>options参数支持:{ clear: true, //是否清除, flyTo: true, //是否定位至数据所在视域 style: objcet //默认样式 }</p></td></tr><tr><td><code><b>addPoint</b>(<nobr>Array</nobr> <i>point</i>,<nobr><a href="#draw-DrawStyle-option">DrawStyle-option</a></nobr> <i>style</i>)</code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></code></td><td><p>外部添加 billboard图标点 数据</p><pre><code class="javascript">var entity = viewer.mars.draw.addPoint([112.145,31.346], {
|
"image": "img/marker.png", //图标
|
"opacity": 1, //透明度
|
}); </code></pre></td></tr><tr><td><code><b>addPolyline</b>(<nobr>Array</nobr> <i>coords</i>,<nobr><a href="#draw-DrawStyle-option">DrawStyle-option</a></nobr> <i>style</i>)</code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></code></td><td><p>外部添加 线 数据</p><pre><code class="javascript">//线坐标
|
var coordinates = [
|
[116.069898, 31.303655],
|
[116.098708, 31.322126]
|
];
|
var entity = viewer.mars.draw.addPolyline(coordinates, { "width": 3, "color": "#00ff00" });
|
</code></pre></td></tr><tr><td><code><b>addPolygon</b>(<nobr>Array</nobr> <i>coords</i>,<nobr><a href="#draw-DrawStyle-option">DrawStyle-option</a></nobr> <i>style</i>)</code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></code></td><td><p>外部添加 面 数据</p><pre><code class="javascript">//面坐标
|
var coordinates = [
|
[116.069898, 31.303655],
|
[116.098708, 31.322126],
|
[116.108063, 31.311256],
|
[116.079317, 31.292959]
|
];
|
var entity = viewer.mars.draw.addPolygon(coordinates, { "color": "#00ff00" });
|
</code></pre></td></tr><tr><td><code><b>attributeToEntity</b>(<nobr><a href="#draw-DrawStyle-option">DrawStyle-option</a></nobr> <i>attribute</i>,<nobr><<a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian">Cartesian3 []</a>></nobr> <i>positions</i>)</code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></code></td><td><p>通过属性和坐标,代码控制来生成entity(不是通过图上绘制的方式)</p></td></tr><tr><td><code><b>bindExtraEntity</b>(<nobr><<a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Entity">Entity</a>></nobr> <i>entity</i>,<nobr><a href="#draw-DrawStyle-option">DrawStyle-option</a></nobr> <i>attribute</i>)</code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></code></td><td><p>绑定外部非Draw产生的entity到标绘进行编辑</p></td></tr><tr><td><code><b>setVisible</b>(<nobr>Boolean</nobr> <i>value</i>)</code></td><td><code></code></td><td><p>设置所有绘制数据的可见性</p></td></tr><tr><td><code><b>hasDraw</b>()</code></td><td><code>Boolean</code></td><td><p>是否存在有绘制的entity</p></td></tr><tr><td><code><b>getEntityById</b>(<nobr>String</nobr> <i>id</i>)</code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></code></td><td><p>获取指定id的实体对象(根据entity.attribute.attr.id校验)</p></td></tr><tr><td><code><b>getEntitys</b>()</code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a>[]</code></td><td><p>获取所有绘制的实体对象列表</p></td></tr><tr><td><code><b>getDataSource</b>()</code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/DataSource.html?classFilter=DataSource">DataSource</a>[]</code></td><td><p>获取内部保存绘制Entity的DataSource对象。</p></td></tr><tr><td><code><b>getCoordinates</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code>[]</code></td><td><p>获取实体的经纬度坐标数组</p></td></tr><tr><td><code><b>getPositions</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code>[]</code></td><td><p>获取实体的笛卡尔坐标数组</p></td></tr><tr><td><code><b>flyTo</b>(<nobr> <a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Entity">Entity</a></nobr> <i>entity</i>,<nobr>Object</nobr> <i>options?</i>)</code></td><td><code></code></td><td><p>视角飞行定位到entiy处</p>options支持:scale控制线面数据边界的放大比例,radius控制点数据视距距离</td></tr><tr><td><code><b>destroy</b>()</code></td><td><code></code></td><td>销毁释放对象</td></tr></tbody></table></section><div class="accordion"><label><span class="expander">▶</span> 继承的方法,来自 <a href="#evented">Evented</a></label><div class="accordion-overflow"><div class="accordion-content"><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="evented-on"><td><code><b>on</b>(<nobr><String></nobr> <i>type</i>, <nobr><Function></nobr> <i>fn</i>, <nobr><Object></nobr> <i>context?</i>)</code></td><td><code>this</code></td><td><p>将一个监听器函数(fn)添加到对象的特定事件类型。您可以选择指定侦听器的context(该事件方法内的this关键字将指向的对象)。您还可以传递几个空格分隔的类型(例如'click dblclick')。</p></td></tr><tr id="evented-on"><td><code><b>on</b>(<nobr><Object></nobr> <i>eventMap</i>)</code></td><td><code>this</code></td><td><p>添加一组类型/侦听器对,例如 {click: onClick, mousemove: onMouseMove}</p></td></tr><tr id="evented-off"><td><code><b>off</b>(<nobr><String></nobr> <i>type</i>, <nobr><Function></nobr> <i>fn?</i>, <nobr><Object></nobr> <i>context?</i>)</code></td><td><code>this</code></td><td><p>删除以前添加的监听器功能。如果没有指定函数,它将从对象中删除该特定事件的所有侦听器。请注意,如果您传递了一个自定义context参数进行on,则必须传递相同的context参数off才能删除该侦听器。</p></td></tr><tr id="evented-off"><td><code><b>off</b>(<nobr><Object></nobr> <i>eventMap</i>)</code></td><td><code>this</code></td><td><p>删除一组类型/侦听器对。</p></td></tr><tr id="evented-off"><td><code><b>off</b>()</code></td><td><code>this</code></td><td><p>删除绑定到对象上的所有事件。</p></td></tr><tr id="evented-fire"><td><code><b>fire</b>(<nobr><String></nobr> <i>type</i>, <nobr><Object></nobr> <i>data?</i>, <nobr><Boolean></nobr> <i>propagate?</i>)</code></td><td><code>this</code></td><td><p>触发指定类型的事件。您可以选择提供数据对象 - 监听器函数的第一个参数将包含其属性。该事件可以可选地传播到事件的父级。</p></td></tr><tr id="evented-listens"><td><code><b>listens</b>(<nobr><String></nobr> <i>type</i>)</code></td><td><code>Boolean</code></td><td><p>如果特定事件类型具有附加的侦听器,则返回true。</p></td></tr><tr id="evented-once"><td><code><b>once</b>(<i>…</i>)</code></td><td><code>this</code></td><td><p>与<a href="#evented-on"><code>on(…)</code></a>类似,区别在于监听器只执行1次,并且执行后自动释放。</p></td></tr><tr id="evented-addeventparent"><td><code><b>addEventParent</b>(<nobr><<a href="#evented">Evented</a>></nobr> <i>obj</i>)</code></td><td><code>this</code></td><td><p>添加一个它的父级将接收传播的事件</p></td></tr><tr id="evented-removeeventparent"><td><code><b>removeEventParent</b>(<nobr><<a href="#evented">Evented</a>></nobr> <i>obj</i>)</code></td><td><code>this</code></td><td><p>删除一个绑定的addEventParent事件,删除后它将停止接收传播的事件</p></td></tr><tr id="evented-addeventlistener"><td><code><b>addEventListener</b>(<i>…</i>)</code></td><td><code>this</code></td><td><p><a href="#evented-on"><code>on(…)</code></a>的别名,兼容不同用户的命名习惯</p></td></tr><tr id="evented-removeeventlistener"><td><code><b>removeEventListener</b>(<i>…</i>)</code></td><td><code>this</code></td><td><p><a href="#evented-off"><code>off(…)</code></a>的别名,兼容不同用户的命名习惯</p></td></tr><tr id="evented-clearalleventlisteners"><td><code><b>clearAllEventListeners</b>(<i>…</i>)</code></td><td><code>this</code></td><td><p><a href="#evented-off"><code>off()</code></a>的别名,兼容不同用户的命名习惯</p></td></tr><tr id="evented-addonetimeeventlistener"><td><code><b>addOneTimeEventListener</b>(<i>…</i>)</code></td><td><code>this</code></td><td><p><a href="#evented-once"><code>once(…)</code></a>的别名,兼容不同用户的命名习惯</p></td></tr><tr id="evented-fireevent"><td><code><b>fireEvent</b>(<i>…</i>)</code></td><td><code>this</code></td><td><p><a href="#evented-fire"><code>fire(…)</code></a>的别名,兼容不同用户的命名习惯</p></td></tr><tr id="evented-haseventlisteners"><td><code><b>hasEventListeners</b>(<i>…</i>)</code></td><td><code>Boolean</code></td><td><p><a href="#evented-listens"><code>listens(…)</code></a>的别名,兼容不同用户的命名习惯</p></td></tr></tbody></table></section></div></div></div></section><h2 id="mars3d-drawingutils">draw常用方法静态类</h2><p>mars3d.draw.util 该类是静态类。绘制相关的常用工具方法集合。</p><section><h3 id="mars3dmap-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="util-extend"><td><code><b>getDefStyle</b>(<nobr><String></nobr> <i>type</i>, <nobr><Object></nobr> <i>style?</i>)</code></td><td><code>Object</code></td><td>获取指定type的默认的标绘样式。</td></tr><tr id="util-extend"><td><code><b>extend</b>(<nobr><Object></nobr> <i>dest</i>, <nobr><Object></nobr> <i>src?</i>)</code></td><td><code>Object</code></td><td>将src对象(或多个对象)的属性合并到dest对象中并返回后者。</td></tr><tr id="util-isarray"><td><code><b>isArray</b>(<i>obj</i>)</code></td><td><code>Boolean</code></td><td>兼容polyfill的 <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray">Array.isArray</a></td></tr><tr id="util-indexof"><td><code><b>indexOf</b>(<nobr><Array></nobr> <i>array</i>, <nobr><Object></nobr> <i>el</i>)</code></td><td><code>Number</code></td><td>兼容polyfill的 <a href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf">Array.prototype.indexOf</a></td></tr></tbody></table></section></section><h2 id="mars3d-draw-event">event标绘事件类型</h2><p>mars3d.draw.event 该类是静态类。主要是Draw可以使用的事件类型常量</p><section><h3 id="mars3dmap-method">常量</h3><table><thead><tr><th>Event名称</th><th>说明</th></tr></thead><tbody><tr id="draggable-down"><td><code><b>DrawStart</b></code></td><td>当 开始绘制 时触发。</td></tr><tr id="draggable-down"><td><code><b>DrawAddPoint</b></code></td><td>当 绘制过程中增加了点 时触发。</td></tr><tr id="draggable-down"><td><code><b>DrawRemovePoint</b></code></td><td>当 绘制过程中删除了点 时触发。</td></tr><tr id="draggable-down"><td><code><b>DrawMouseMove</b></code></td><td>当 绘制过程中鼠标移动了点 时触发。</td></tr><tr id="draggable-down"><td><code><b>DrawCreated</b></code></td><td>当 绘制结束创建完成 时触发。</td></tr><tr id="draggable-down"><td><code><b>EditStart</b></code></td><td>当 开始编辑 时触发。</td></tr><tr id="draggable-down"><td><code><b>EditMovePoint</b></code></td><td>当 编辑修改了点 时触发。</td></tr><tr id="draggable-down"><td><code><b>EditRemovePoint</b></code></td><td>当 编辑删除了点 时触发。</td></tr><tr id="draggable-down"><td><code><b>EditStop</b></code></td><td>当 停止编辑 时触发。</td></tr><tr id="draggable-down"><td><code><b>Delete</b></code></td><td>当 删除了对象 时触发。</td></tr></tbody></table></section><h2 id="mars3d-draw-tooltip">tooltip标绘鼠标提示</h2><p>mars3d.draw.tooltip 该类是静态类。主要是Draw标绘过程中的鼠标提示信息,可以赋值后自定义设置提示文本。</p><section><h3 id="mars3dmap-method">提示信息 自定义设置</h3><pre><code class="javascript">mars3d.draw.tooltip.draw.point.start = '单击 完成绘制';
|
mars3d.draw.tooltip.draw.polyline.start = '单击 开始绘制';
|
mars3d.draw.tooltip.draw.polyline.cont = '单击增加点,右击删除点';
|
mars3d.draw.tooltip.draw.polyline.end = '单击增加点,右击删除点<br />双击完成绘制';
|
mars3d.draw.tooltip.draw.polyline.end2 = '单击完成绘制'; //已到达最大点数时提示
|
|
mars3d.draw.tooltip.edit.start = '单击后 激活编辑';
|
mars3d.draw.tooltip.edit.end = '释放后 完成修改';
|
|
mars3d.draw.tooltip.dragger.def = '拖动 修改位置'; //默认拖拽时提示
|
mars3d.draw.tooltip.dragger.addMidPoint = '拖动 增加点';
|
mars3d.draw.tooltip.dragger.moveHeight = '拖动 修改高度';
|
mars3d.draw.tooltip.dragger.editRadius = '拖动 修改半径';
|
mars3d.draw.tooltip.dragger.editHeading = '拖动 修改方向';
|
mars3d.draw.tooltip.dragger.editScale = '拖动 修改缩放比例';
|
|
mars3d.draw.tooltip.del.def = '<br />右击 删除该点';
|
mars3d.draw.tooltip.del.min = '无法删除,点数量不能少于';
|
</code></pre></section><h2 id="mars3d-draw-dragger">dragger拖拽点控制类</h2><p>mars3d.draw.dragger 该类是静态类。主要是拖拽点控制处理。可以重新设置编辑时拖拽点颜色等。</p><section><h3 id="mars3dmap-method">编辑时拖拽点颜色 自定义设置</h3><pre><code class="javascript">mars3d.draw.dragger.PointColor.Control = new Cesium.Color.fromCssColorString("#1c197d"); //位置控制拖拽点
|
mars3d.draw.dragger.PointColor.MoveHeight = new Cesium.Color.fromCssColorString("#9500eb"); //上下移动高度的拖拽点
|
mars3d.draw.dragger.PointColor.EditAttr = new Cesium.Color.fromCssColorString("#f73163"); //辅助修改属性(如半径)的拖拽点
|
mars3d.draw.dragger.PointColor.AddMidPoint = new Cesium.Color.fromCssColorString("#04c2c9").withAlpha(0.3); //增加新点,辅助拖拽点
|
</code></pre></section><section><h3 id="mars3dmap-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>createDragger</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/CustomDataSource.html?classFilter=CustomDataSource">CustomDataSource</a></nobr> <i>dataSource</i>,<nobr><Objcet></nobr> <i>options</i>)</code></td><td><code>Point Entity</code></td><td><p>创建Dragger拖动点的公共方法</p></td></tr></tbody></table></section></section><h2 id="mars3d-draw-attr">attr属性统一处理类</h2><p>mars3d.draw.attr 该类是静态类。用于entity通用相关属性处理,不用判断entity类型,内部自动处理,是对后续其他单个指定类型entity的属性处理的进一步便捷封装。</p><section><h3 id="mars3dmap-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>getPositions</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr></code></td><td><p>获取entity的坐标</p></td></tr><tr><td><code><b>getCenterPosition</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr></code></td><td><p>获取entity的的中心点坐标</p></td></tr><tr><td><code><b>getCoordinates</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr>Array []</nobr></code></td><td><p>获取entity的坐标(geojson规范的格式)</p></td></tr><tr><td><code><b>toGeoJSON</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr>JSON Object</nobr></code></td><td><p>将entity转换为GeoJSON对象,用于保存</p></td></tr><tr><td><code><b>style2Entity</b>(<nobr><Objcet></nobr> <i>style</i>,<nobr><Entity.billboard></nobr> <i>entityattr?</i>)</code></td><td><code>Entity.billboard</code></td><td><p>将style属性配置信息更新至entity对象中</p><pre><code class="javascript">//创建entity时
|
var addattr = mars3d.draw.attr.billboard.style2Entity({image: "img/mark.png"});
|
var entity = viewer.entities.add(addattr);
|
|
//更新entity时
|
mars3d.draw.attr.billboard.style2Entity({image: "img/mark2.png"}, entity.billboard);
|
</code></pre></td></tr></tbody></table></section></section><h2 id="mars3d-draw-attr-label">label对象属性处理类</h2><p>mars3d.draw.attr.label 该类是静态类。用于label entity相关属性处理。</p><section><h3 id="mars3dmap-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>style2Entity</b>(<nobr><Objcet></nobr> <i>style</i>,<nobr><Entity.label></nobr> <i>entityattr?</i>)</code></td><td><code>Entity.label</code></td><td><p>将style属性配置信息更新至entity对象中</p><pre><code class="javascript">//创建entity时
|
var addattr = mars3d.draw.attr.label.style2Entity({text: "火星科技三维地球"});
|
var entity = viewer.entities.add(addattr);
|
|
//更新entity时
|
mars3d.draw.attr.label.style2Entity({text: "MarsGIS三维地球"}, entity.label);
|
</code></pre></td></tr><tr><td><code><b>getPositions</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr></code></td><td><p>获取label entity的坐标</p></td></tr><tr><td><code><b>getCoordinates</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr>Array []</nobr></code></td><td><p>获取label entity的坐标(geojson规范的格式)</p></td></tr><tr><td><code><b>toGeoJSON</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr>JSON Object</nobr></code></td><td><p>将label entity转换为GeoJSON对象,用于保存</p></td></tr></tbody></table></section></section><h2 id="mars3d-draw-attr-point">point对象属性处理类</h2><p>mars3d.draw.attr.point 该类是静态类。用于point entity相关属性处理。</p><section><h3 id="mars3dmap-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>style2Entity</b>(<nobr><Objcet></nobr> <i>style</i>,<nobr><Entity.point></nobr> <i>entityattr?</i>)</code></td><td><code>Entity.point</code></td><td><p>将style属性配置信息更新至entity对象中</p><pre><code class="javascript">//创建entity时
|
var addattr = mars3d.draw.attr.point.style2Entity({color: "#ff0000"});
|
var entity = viewer.entities.add(addattr);
|
|
//更新entity时
|
mars3d.draw.attr.point.style2Entity({color: "#0000ff"}, entity.point);
|
</code></pre></td></tr><tr><td><code><b>getPositions</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr></code></td><td><p>获取point entity的坐标</p></td></tr><tr><td><code><b>getCoordinates</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr>Array []</nobr></code></td><td><p>获取point entity的坐标(geojson规范的格式)</p></td></tr><tr><td><code><b>toGeoJSON</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr>JSON Object</nobr></code></td><td><p>将point entity转换为GeoJSON对象,用于保存</p></td></tr></tbody></table></section></section><h2 id="mars3d-draw-attr-billboard">billboard对象属性处理类</h2><p>mars3d.draw.attr.billboard 该类是静态类。用于billboard entity相关属性处理。</p><section><h3 id="mars3dmap-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>style2Entity</b>(<nobr><Objcet></nobr> <i>style</i>,<nobr><Entity.billboard></nobr> <i>entityattr?</i>)</code></td><td><code>Entity.billboard</code></td><td><p>将style属性配置信息更新至entity对象中</p><pre><code class="javascript">//创建entity时
|
var addattr = mars3d.draw.attr.billboard.style2Entity({image: "img/mark.png"});
|
var entity = viewer.entities.add(addattr);
|
|
//更新entity时
|
mars3d.draw.attr.billboard.style2Entity({image: "img/mark2.png"}, entity.billboard);
|
</code></pre></td></tr><tr><td><code><b>getPositions</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr></code></td><td><p>获取billboard entity的坐标</p></td></tr><tr><td><code><b>getCoordinates</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr>Array []</nobr></code></td><td><p>获取billboard entity的坐标(geojson规范的格式)</p></td></tr><tr><td><code><b>toGeoJSON</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr>JSON Object</nobr></code></td><td><p>将billboard entity转换为GeoJSON对象,用于保存</p></td></tr></tbody></table></section></section><h2 id="mars3d-draw-attr-model">model对象属性处理类</h2><p>mars3d.draw.attr.model 该类是静态类。用于model entity相关属性处理。</p><section><h3 id="mars3dmap-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>style2Entity</b>(<nobr><Objcet></nobr> <i>style</i>,<nobr><Entity.model></nobr> <i>entityattr?</i>)</code></td><td><code>Entity.model</code></td><td><p>将style属性配置信息更新至entity对象中</p><pre><code class="javascript">//创建entity时
|
var addattr = mars3d.draw.attr.model.style2Entity({scale: 1});
|
var entity = viewer.entities.add(addattr);
|
|
//更新entity时
|
mars3d.draw.attr.model.style2Entity({scale: 3}, entity.model);
|
</code></pre></td></tr><tr><td><code><b>getPositions</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr></code></td><td><p>获取model entity的坐标</p></td></tr><tr><td><code><b>getCoordinates</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr>Array []</nobr></code></td><td><p>获取model entity的坐标(geojson规范的格式)</p></td></tr><tr><td><code><b>toGeoJSON</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr>JSON Object</nobr></code></td><td><p>将model entity转换为GeoJSON对象,用于保存</p></td></tr></tbody></table></section></section><h2 id="mars3d-draw-attr-polyline">polyline对象属性处理类</h2><p>mars3d.draw.attr.polyline 该类是静态类。用于polyline entity相关属性处理。</p><section><h3 id="mars3dmap-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>style2Entity</b>(<nobr><Objcet></nobr> <i>style</i>,<nobr><Entity.polyline></nobr> <i>entityattr?</i>)</code></td><td><code>Entity.polyline</code></td><td><p>将style属性配置信息更新至entity对象中</p><pre><code class="javascript">//创建entity时
|
var addattr = mars3d.draw.attr.polyline.style2Entity({color: "#ff0000"});
|
var entity = viewer.entities.add(addattr);
|
|
//更新entity时
|
mars3d.draw.attr.polyline.style2Entity({color: "#0000ff"}, entity.polyline);
|
</code></pre></td></tr><tr><td><code><b>getPositions</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr></code></td><td><p>获取polyline entity的坐标</p></td></tr><tr><td><code><b>getCoordinates</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr>Array []</nobr></code></td><td><p>获取polyline entity的坐标(geojson规范的格式)</p></td></tr><tr><td><code><b>toGeoJSON</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr>JSON Object</nobr></code></td><td><p>将polyline entity转换为GeoJSON对象,用于保存</p></td></tr><tr><td><code><b>line2curve</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr> <i>positions_draw</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr></code></td><td><p>坐标点数组 转为 贝塞尔曲线坐标点数组</p></td></tr></tbody></table></section></section><h2 id="mars3d-draw-attr-polygon">polygon对象属性处理类</h2><p>mars3d.draw.attr.polygon 该类是静态类。用于polygon entity相关属性处理。</p><section><h3 id="mars3dmap-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>style2Entity</b>(<nobr><Objcet></nobr> <i>style</i>,<nobr><Entity.polygon></nobr> <i>entityattr?</i>)</code></td><td><code>Entity.polygon</code></td><td><p>将style属性配置信息更新至entity对象中</p><pre><code class="javascript">//创建entity时
|
var addattr = mars3d.draw.attr.polygon.style2Entity({color: "#ff0000"});
|
var entity = viewer.entities.add(addattr);
|
|
//更新entity时
|
mars3d.draw.attr.polygon.style2Entity({color: "#0000ff"}, entity.polygon);
|
</code></pre></td></tr><tr><td><code><b>getPositions</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr></code></td><td><p>获取polygon entity的坐标</p></td></tr><tr><td><code><b>getCoordinates</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr>Array []</nobr></code></td><td><p>获取polygon entity的坐标(geojson规范的格式)</p></td></tr><tr><td><code><b>toGeoJSON</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr>JSON Object</nobr></code></td><td><p>将polygon entity转换为GeoJSON对象,用于保存</p></td></tr></tbody></table></section></section><h2 id="mars3d-draw-attr-ellipse">ellipse对象属性处理类</h2><p>mars3d.draw.attr.ellipse 该类是静态类。用于 圆及椭圆 ellipse entity相关属性处理。</p><section><h3 id="mars3dmap-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>style2Entity</b>(<nobr><Objcet></nobr> <i>style</i>,<nobr><Entity.ellipse></nobr> <i>entityattr?</i>)</code></td><td><code>Entity.ellipse</code></td><td><p>将style属性配置信息更新至entity对象中</p><pre><code class="javascript">//创建entity时
|
var addattr = mars3d.draw.attr.ellipse.style2Entity({color: "#ff0000"});
|
var entity = viewer.entities.add(addattr);
|
|
//更新entity时
|
mars3d.draw.attr.ellipse.style2Entity({color: "#0000ff"}, entity.ellipse);
|
</code></pre></td></tr><tr><td><code><b>getPositions</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr></code></td><td><p>获取ellipse entity的坐标</p></td></tr><tr><td><code><b>getCoordinates</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr>Array []</nobr></code></td><td><p>获取ellipse entity的坐标(geojson规范的格式)</p></td></tr><tr><td><code><b>toGeoJSON</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr>JSON Object</nobr></code></td><td><p>将ellipse entity转换为GeoJSON对象,用于保存</p></td></tr><tr><td><code><b>getOutlinePositions</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>,<nobr><boolean></nobr> <i>noAdd?</i>,<nobr><Number></nobr> <i>count?</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr></code></td><td><p>获取圆对应的 边界 的坐标,noAdd标识是否闭合</p><p>count控制返回的点数量, 传入参数后共返回coutn*4个点,默认360个点</p></td></tr><tr><td><code><b>getOutlineCoordinates</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>,<nobr><boolean></nobr> <i>noAdd?</i>,<nobr><Number></nobr> <i>count?</i>)</code></td><td><code><nobr>Array []</nobr></code></td><td><p>获取圆对应的 边界 的坐标(geojson规范的格式),noAdd标识是否闭合</p><p>count控制返回的点数量, 传入参数后共返回coutn*4个点,默认360个点</p></td></tr></tbody></table></section></section><h2 id="mars3d-draw-attr-rectangle">rectangle对象属性处理类</h2><p>mars3d.draw.attr.rectangle 该类是静态类。用于rectangle entity相关属性处理。</p><section><h3 id="mars3dmap-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>style2Entity</b>(<nobr><Objcet></nobr> <i>style</i>,<nobr><Entity.rectangle></nobr> <i>entityattr?</i>)</code></td><td><code>Entity.rectangle</code></td><td><p>将style属性配置信息更新至entity对象中</p><pre><code class="javascript">//创建entity时
|
var addattr = mars3d.draw.attr.rectangle.style2Entity({color: "#ff0000"});
|
var entity = viewer.entities.add(addattr);
|
|
//更新entity时
|
mars3d.draw.attr.rectangle.style2Entity({color: "#0000ff"}, entity.rectangle);
|
</code></pre></td></tr><tr><td><code><b>getPositions</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr></code></td><td><p>获取rectangle entity的坐标</p></td></tr><tr><td><code><b>getCoordinates</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr>Array []</nobr></code></td><td><p>获取rectangle entity的坐标(geojson规范的格式)</p></td></tr><tr><td><code><b>toGeoJSON</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>)</code></td><td><code><nobr>JSON Object</nobr></code></td><td><p>将rectangle entity转换为GeoJSON对象,用于保存</p></td></tr><tr><td><code><b>getOutlinePositions</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>,<nobr><boolean></nobr> <i>noAdd?</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr></code></td><td><p>获取矩形对应的 四个顶点边界 的坐标 ,noAdd标识是否闭合</p></td></tr><tr><td><code><b>getOutlineCoordinates</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>,<nobr><boolean></nobr> <i>noAdd?</i>)</code></td><td><code><nobr>Array []</nobr></code></td><td><p>获取矩形对应的 四个顶点边界 的坐标(geojson规范的格式),noAdd标识是否闭合</p></td></tr></tbody></table></section></section><h2 id="mars3d-draw-attr-rectangle">其他对象属性处理类</h2><p>mars3d.draw.attr.**** 除了上面列举的外,其他entity均有对应的相关属性处理类,名称与entity对象相同。</p><h2 id="RectangularSensorGraphics">雷达Entity</h2><p>mars3d.RectangularSensorGraphics是实体类,提供自定义雷达效果的Entity对象展示。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript">varsensorEntity = viewer.entities.add({
|
position: position,
|
orientation: Cesium.Transforms.headingPitchRollQuaternion(position, hpr), //同gltf的一样,设置方向
|
rectangularSensor: new mars3d.RectangularSensorGraphics({
|
radius: radius, //传感器的半径
|
xHalfAngle: Cesium.Math.toRadians(xHalfAngle), //传感器水平半角
|
yHalfAngle: Cesium.Math.toRadians(yHalfAngle), //传感器垂直半角
|
|
material: new Cesium.Color(0.0, 1.0, 1.0, 0.4), //目前用的统一材质
|
lineColor: new Cesium.Color(0.0, 1.0, 1.0, 1.0), //线的颜色
|
|
showScanPlane: showScanPlane, //是否显示扫描面
|
scanPlaneColor: new Cesium.Color(0.0, 1.0, 1.0, 1.0), //扫描面颜色
|
scanPlaneMode: 'vertical', // 扫描面模式 垂直vertical/水平horizontal
|
scanPlaneRate: 3, //扫描速率,
|
showThroughEllipsoid: false //此参数控制深度检测
|
})
|
})</code></pre></section></section><section><h3 id="measureTool-option">Options及属性选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>show</b></code></td><td><code>boolean</code></td><td><code>true</code></td><td>是否显示</td></tr><tr><td><code><b>radius</b></code></td><td><code>Number</code></td><td><code></code></td><td>传感器的半径</td></tr><tr><td><code><b>xHalfAngle</b></code></td><td><code>Number</code></td><td><code></code></td><td>传感器水平半角</td></tr><tr><td><code><b>yHalfAngle</b></code></td><td><code>Number</code></td><td><code></code></td><td>传感器垂直半角</td></tr><tr><td><code><b>material</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Color.html?classFilter=Color">Color</a></nobr></code></td><td><code></code></td><td>材质,一般传颜色</td></tr><tr><td><code><b>lineColor</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Color.html?classFilter=Color">Color</a></nobr></code></td><td><code></code></td><td>框线颜色</td></tr><tr><td><code><b>showScanPlane</b></code></td><td><code>boolean</code></td><td><code>true</code></td><td>是否显示扫描面</td></tr><tr><td><code><b>scanPlaneColor</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Color.html?classFilter=Color">Color</a></nobr></code></td><td><code></code></td><td>扫描面颜色</td></tr><tr><td><code><b>scanPlaneMode</b></code></td><td><code>String</code></td><td><code>vertical</code></td><td>扫描面模式 垂直vertical/水平horizontal</td></tr><tr><td><code><b>scanPlaneRate</b></code></td><td><code>Number</code></td><td><code></code></td><td>扫描速率</td></tr><tr><td><code><b>showThroughEllipsoid</b></code></td><td><code>boolean</code></td><td><code>true</code></td><td>此参数控制深度检测,为false启用深度检测,可以解决雷达一半在地球背面时显示的问题</td></tr><tr><td><code><b>slice</b></code></td><td><code>Number</code></td><td><code>32</code></td><td>切分程度</td></tr><tr><td><code><b>showSectorLines</b></code></td><td><code>boolean</code></td><td><code>true</code></td><td>是否显示扇面的线</td></tr><tr><td><code><b>showSectorSegmentLines</b></code></td><td><code>boolean</code></td><td><code>true</code></td><td>是否显示扇面和圆顶面连接的线</td></tr><tr><td><code><b>showLateralSurfaces</b></code></td><td><code>boolean</code></td><td><code>true</code></td><td>是否显示侧面</td></tr><tr><td><code><b>lateralSurfaceMaterial</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Color.html?classFilter=Color">Color</a></nobr></code></td><td><code>undefined</code></td><td>侧面材质(Material)</td></tr><tr><td><code><b>showDomeSurfaces</b></code></td><td><code>boolean</code></td><td><code>true</code></td><td>是否显示圆顶表面</td></tr><tr><td><code><b>domeSurfaceMaterial</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Color.html?classFilter=Color">Color</a></nobr></code></td><td><code>undefined</code></td><td>圆顶表面材质(Material)</td></tr><tr><td><code><b>showDomeLines</b></code></td><td><code>boolean</code></td><td><code>true</code></td><td>是否显示圆顶面线</td></tr><tr><td><code><b>showIntersection</b></code></td><td><code>boolean</code></td><td><code>true</code></td><td>是否显示与地球相交的线</td></tr><tr><td><code><b>intersectionColor</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Color.html?classFilter=Color">Color</a></nobr></code></td><td><code>Color.WHITE</code></td><td>与地球相交的线的颜色</td></tr><tr><td><code><b>intersectionWidth</b></code></td><td><code>Number</code></td><td><code>5.0</code></td><td>与地球相交的线的宽度(像素)</td></tr></tbody></table></section></section><h2 id="DivPoint">Div点</h2><p>mars3d.DivPoint是实体类,提供div点,用于自定义动态效果的点对象展示,div中可以绑定任意html。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript">var divpoint = new mars3d.DivPoint(viewer, {
|
html: "任意html",
|
position: Cesium.Cartesian3.fromDegrees(118.810112, 31.231319),
|
anchor: [0, 0],
|
data: item, //item为需要绑定的数据
|
click: function (e) {//单击后的回调
|
|
}
|
});</code></pre></section></section><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>html</b></code></td><td><code>String</code></td><td><code></code></td><td>绑定的html代码,一般为div</td></tr><tr><td><code><b>position</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr></code></td><td><code></code></td><td>坐标</td></tr><tr><td><code><b>anchor</b></code></td><td><code>[Number,Number]</code></td><td><code>[0,0]</code></td><td>展示位置的横、纵偏移量</td></tr><tr><td><code><b>click</b></code></td><td><code>function</code></td><td><code></code></td><td>绑定的单击事件回调</td></tr><tr><td><code><b>popup</b></code></td><td><code>html</code></td><td><code></code></td><td>绑定框架支持的popup鼠标单击信息提示</td></tr><tr><td><code><b>tooltip</b></code></td><td><code>html</code></td><td><code></code></td><td>绑定框架支持的tootip鼠标移入信息提示</td></tr><tr><td><code><b>distanceDisplayCondition</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/DistanceDisplayCondition.html?classFilter=DistanceDisplayCondition">DistanceDisplayCondition</a></nobr></code></td><td><code></code></td><td>在指定的相机视距范围内显示</td></tr><tr><td><code><b>scaleByDistance</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/NearFarScalar.html?classFilter=NearFarScalar">NearFarScalar</a></nobr></code></td><td><code></code></td><td>按指定缩放规则进行缩放处理</td></tr><tr><td><code><b>heightReference</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/HeightReference.html?classFilter=HeightReference">HeightReference</a></nobr></code></td><td><code></code></td><td>高度模式,主要用于无高度值时可以指定贴地</td></tr><tr><td><code><b>depthTest</b></code></td><td><code>boolean</code></td><td><code>true</code></td><td>是否进行深度检测,false时地球遮挡等情况下一直可见</td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性名</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>dom</b></code></td><td><code><nobr>DOM对象(只读)</nobr></code></td><td><p>该html对应的DOM对象,可以进行其他自定义操作</p></td></tr><tr><td><code><b>visible</b></code></td><td><code><nobr>Boolean</nobr></code></td><td><p>设置点的显示或隐藏状态</p></td></tr><tr><td><code><b>html</b></code></td><td><code>String</code></td><td>绑定的html代码,一般为div</td></tr><tr><td><code><b>popup</b></code></td><td><code>html</code></td><td>绑定框架支持的popup鼠标单击信息提示</td></tr><tr><td><code><b>tooltip</b></code></td><td><code>html</code></td><td>绑定框架支持的tootip鼠标移入信息提示</td></tr><tr><td><code><b>depthTest</b></code></td><td><code>boolean</code></td><td>是否进行深度检测,false时地球遮挡等情况下一直可见</td></tr></tbody></table></section></section><section><h3 id="marker-method">方法</h3><section><div class="section-comments">包括模块释放时相关方法。</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="marker-getData"><td><code><b>showPopup</b>()</code></td><td><code>void</code></td><td><p>如有绑定popup时,将popup弹出显示</p></td></tr><tr id="marker-getData"><td><code><b>closePopup</b>()</code></td><td><code>void</code></td><td><p>如有绑定popup时,将popup关闭</p></td></tr><tr id="marker-getData"><td><code><b>destroy</b>()</code></td><td><code>void</code></td><td><p>释放销毁对象</p></td></tr></tbody></table></section></section><h2 id="DynamicRiver">动态河流</h2><p>mars3d.DynamicRiver是实体类,提供动态河流效果的矢量对象展示。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript">var river = new mars3d.DynamicRiver(viewer, {
|
image: './img/textures/movingRiver.png',
|
positions: pots,
|
width: 200,
|
height: 10,
|
speed: 10,
|
});</code></pre></section></section><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>position</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr></code></td><td><code></code></td><td>坐标</td></tr><tr><td><code><b>image</b></code></td><td><code>String</code></td><td><code></code></td><td>材质图片url路径</td></tr><tr><td><code><b>flipY</b></code></td><td><code>boolean</code></td><td><code>false</code></td><td>是否Y方向,用于控制图片横纵方向</td></tr><tr><td><code><b>width</b></code></td><td><code>Number</code></td><td><code>10</code></td><td>河宽度</td></tr><tr><td><code><b>height</b></code></td><td><code>Number</code></td><td><code>0</code></td><td>高程高度值</td></tr><tr><td><code><b>alpha</b></code></td><td><code>Number</code></td><td><code>0.5</code></td><td>透明度</td></tr><tr><td><code><b>move</b></code></td><td><code>boolean</code></td><td><code>true</code></td><td>是否流动</td></tr><tr><td><code><b>speed</b></code></td><td><code>Number</code></td><td><code>1.0</code></td><td>流动时的流速</td></tr><tr><td><code><b>moveDir</b></code></td><td><code>boolean</code></td><td><code>true</code></td><td>控制流速的方向</td></tr><tr><td><code><b>moveVar</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr></code></td><td><code>Cesium.Cartesian3(50, 1, 100)</code></td><td>控制流速的水面动画</td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性名</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>flipY</b></code></td><td><code>boolean</code></td><td>是否Y方向,用于控制图片横纵方向</td></tr><tr><td><code><b>width</b></code></td><td><code>Number</code></td><td>河宽度</td></tr><tr><td><code><b>height</b></code></td><td><code>Number</code></td><td>高程高度值</td></tr><tr><td><code><b>alpha</b></code></td><td><code>Number</code></td><td>透明度</td></tr><tr><td><code><b>move</b></code></td><td><code>boolean</code></td><td>是否流动</td></tr><tr><td><code><b>speed</b></code></td><td><code>Number</code></td><td>流动时的流速</td></tr><tr><td><code><b>moveDir</b></code></td><td><code>boolean</code></td><td>控制流速的方向</td></tr><tr><td><code><b>moveVar</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr></code></td><td>控制流速的水面动画</td></tr></tbody></table></section></section><section><h3 id="marker-method">方法</h3><section><div class="section-comments">包括模块释放时相关方法。</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="marker-getData"><td><code><b>setPositions</b>(<nobr> <a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr> positions)</code></td><td><code>void</code></td><td><p>初始化没传坐标时,可后续设置坐标</p></td></tr><tr id="marker-getData"><td><code><b>destroy</b>()</code></td><td><code>void</code></td><td><p>释放销毁对象</p></td></tr></tbody></table></section></section><h2 id="ParticleSystemEx">粒子效果扩展</h2><p>mars3d.ParticleSystemEx是实体类,提供对Cesium原生的ParticleSystem进一步封装,达到简化使用的目的。</p><section><h3 id="ParticleSystemEx-example">使用示例</h3><section><pre><code class="javascript">var particleSystemEx = new mars3d.ParticleSystemEx(viewer, {
|
//ParticleSystem原生属性
|
image: './img/particle/smoke.png',
|
startColor: Cesium.Color.LIGHTCYAN.withAlpha(0.3), //粒子出生时的颜色
|
endColor: Cesium.Color.WHITE.withAlpha(0.0), //当粒子死亡时的颜色
|
|
particleSize: 20, //粒子图片的Size大小(单位:像素)
|
startScale: 2.0, //粒子在出生时的比例(单位:相对于imageSize大小的倍数)
|
endScale: 4.0, //粒子在死亡时的比例(单位:相对于imageSize大小的倍数)
|
|
minimumParticleLife: 1.0,//粒子可能存在的最短寿命时间,实际寿命将随机生成(单位:秒)
|
maximumParticleLife: 3.0,//粒子可能存在的最长寿命时间,实际寿命将随机生成(单位:秒)
|
|
emissionRate: 200, //粒子发射器的发射速率 (单位:次/秒)
|
|
//mars扩展的属性
|
position: Cesium.Cartesian3.fromDegrees(117.221844, 31.813857, 28.5), //位置
|
gravity: -11, //重力因子,会修改速度矢量以改变方向或速度(基于物理的效果)
|
target: new Cesium.Cartesian3(-0.151, 0.294, 0.225), // 粒子的方向
|
maxHeight: 5000, //超出该高度后不显示粒子效果
|
})</code></pre></section></section><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>image</b></code></td><td><code>String</code></td><td><code></code></td><td>粒子对象的图片url路径</td></tr><tr><td><code><b>particleSize</b></code></td><td><code>Number</code></td><td><code>25</code></td><td>粒子对象的大小(像素值)</td></tr><tr><td><code><b>其他ParticleSystem原生属性</b></code></td><td><code></code></td><td><code></code></td><td>Cesium.ParticleSystem原生所有属性均支持</td></tr><tr><td><code><b>position</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr></code></td><td><code></code></td><td>当粒子是固定位置时,传入的具体坐标</td></tr><tr><td><code><b>modelMatrix</b></code></td><td><code>function</code></td><td><code></code></td><td>当粒子是基于运动的对象时,可以传入modelMatrix来控制粒子的实时运动位置<pre><code class="javascript">modelMatrix(time) {
|
//entity是运动的小汽车对象
|
return entity.computeModelMatrix(time, new Cesium.Matrix4());
|
}</code></pre></td></tr><tr><td><code><b>gravity</b></code></td><td><code>Number</code></td><td><code>0</code></td><td>重力因子,会修改速度矢量以改变方向或速度(基于物理的效果)</td></tr><tr><td><code><b>target</b></code></td><td><code>Cesium.Cartesian3</code></td><td><code>Cesium.Cartesian3(0, 0, 0)</code></td><td>粒子的运动方向</td></tr><tr><td><code><b>maxHeight</b></code></td><td><code>Number</code></td><td><code>5000</code></td><td>超出该高度后不显示粒子效果,因为超出一定高度后粒子都拥挤在一起,很不美观。</td></tr><tr><td><code><b>transX</b></code></td><td><code>Number</code></td><td><code>0</code></td><td>在粒子系统本地坐标系中转换粒子系统发射器时的x方向值</td></tr><tr><td><code><b>transY</b></code></td><td><code>Number</code></td><td><code>0</code></td><td>在粒子系统本地坐标系中转换粒子系统发射器时的y方向值</td></tr><tr><td><code><b>transZ</b></code></td><td><code>Number</code></td><td><code>0</code></td><td>在粒子系统本地坐标系中转换粒子系统发射器时的z方向值</td></tr><tr><td><code><b>hasDefUpdate</b></code></td><td><code>boolean</code></td><td><code>true</code></td><td>控制内部是否进行 updateCallback 回调处理</td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性名</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>particleSystem</b></code></td><td><code>Cesium.ParticleSystem</code></td><td>Cesium原生的粒子对象</td></tr><tr><td><code><b>show</b></code></td><td><code>boolean</code></td><td>粒子对象的显示隐藏状态</td></tr><tr><td><code><b>particleSize</b></code></td><td><code>Number</code></td><td>粒子对象的大小(像素值)</td></tr><tr><td><code><b>position</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr></code></td><td>当粒子是固定位置时,传入的具体坐标</td></tr><tr><td><code><b>modelMatrix</b></code></td><td><code>function</code></td><td>当粒子是基于运动的对象时,可以传入modelMatrix来控制粒子的实时运动位置<pre><code class="javascript">modelMatrix(time) {
|
//entity是运动的小汽车对象
|
return entity.computeModelMatrix(time, new Cesium.Matrix4());
|
}</code></pre></td></tr><tr><td><code><b>target</b></code></td><td><code>Cesium.Cartesian3</code></td><td>粒子的运动方向</td></tr></tbody></table></section></section><section><h3 id="marker-method">方法</h3><section><div class="section-comments">包括模块释放时相关方法。</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="marker-getData"><td><code><b>destroy</b>()</code></td><td><code>void</code></td><td><p>释放销毁对象</p></td></tr></tbody></table></section></section><h2 id="createWaterPrimitive">水面对象</h2><p>mars3d.water.createWaterPrimitive是一个创建动态水面primitive对象的方法</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript">//水效果
|
var polygon = new Cesium.PolygonGeometry({
|
height: height, //水面高
|
perPositionHeight: true,
|
extrudedHeight: height, //底部高
|
polygonHierarchy: new Cesium.PolygonHierarchy(positions),
|
});
|
var primitive = mars3d.water.createWaterPrimitive(polygon, {
|
normalMap: './img/textures/waterNormals.jpg', //水正常扰动的法线图
|
frequency: 9000.0, //控制波数的数字。
|
animationSpeed: 0.03, //控制水的动画速度的数字。
|
amplitude: 5.0, //控制水波振幅的数字。
|
specularIntensity: 0.2, //控制镜面反射强度的数字。
|
baseWaterColor: "#123e59", //rgba颜色对象基础颜色的水。#00ffff,#00baff,#006ab4
|
blendColor: "#123e59" //从水中混合到非水域时使用的rgba颜色对象。
|
})
|
viewer.scene.primitives.add(primitive);</code></pre></section></section><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>normalMap</b></code></td><td><code>String</code></td><td><code></code></td><td>水正常扰动的法线图url路径</td></tr><tr><td><code><b>frequency</b></code></td><td><code>Number</code></td><td><code>8000</code></td><td>控制波数的数字。</td></tr><tr><td><code><b>animationSpeed</b></code></td><td><code>Number</code></td><td><code>0.03</code></td><td>控制水的动画速度的数字。</td></tr><tr><td><code><b>amplitude</b></code></td><td><code>Number</code></td><td><code>5.0</code></td><td>控制水波振幅的数字。</td></tr><tr><td><code><b>specularIntensity</b></code></td><td><code>Number</code></td><td><code>0.8</code></td><td>控制镜面反射强度的数字。</td></tr><tr><td><code><b>baseWaterColor</b></code></td><td><code>String</code></td><td><code>#123e59</code></td><td>rgba颜色对象基础颜色的水。</td></tr><tr><td><code><b>blendColor</b></code></td><td><code>String</code></td><td><code>#123e59</code></td><td>从水中混合到非水域时使用的rgba颜色对象。</td></tr><tr><td><code><b>clampToGround</b></code></td><td><code>boolean</code></td><td><code>false</code></td><td>是否贴地</td></tr></tbody></table></section></section><h2 id="LineFlowMaterial">动画线材质</h2><p>mars3d.LineFlowMaterial是实体类,提供动画线材质扩展,可以用于polyline、wall等Etnity的material绑定。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript">//示例:箭头动态特效
|
viewer.entities.add({
|
polyline: {
|
positions: Cesium.Cartesian3.fromDegreesArrayHeights([
|
117.150141, 31.833051, 33.9,
|
117.166225, 31.819655, 44.6,
|
117.195088, 31.807772, 42.3
|
]),
|
width: 5,
|
material: new mars3d.LineFlowMaterial({//动画线材质
|
color: Cesium.Color.CHARTREUSE,
|
duration: 1000, //时长,控制速度
|
url: 'img/textures/ArrowOpacity.png'
|
}),
|
}
|
});</code></pre></section></section><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>color</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Color.html?classFilter=Color">Color</a></nobr></code></td><td><code>new Cesium.Color(0, 0, 0, 0)</code></td><td>颜色</td></tr><tr><td><code><b>duration</b></code></td><td><code>Number</code></td><td><code>1000</code></td><td>动画时长,单位:毫秒</td></tr><tr><td><code><b>url</b></code></td><td><code>String</code></td><td><code></code></td><td>贴图url地址</td></tr><tr><td><code><b>repeat</b></code></td><td><code>Cesium.Cartesian2</code></td><td><code>new Cesium.Cartesian2(1.0, 1.0)</code></td><td>横纵方向的贴图,重复次数</td></tr><tr><td><code><b>axisY</b></code></td><td><code>Boolean</code></td><td><code>false</code></td><td>是否为Y轴方向,用于指定横纵方向</td></tr></tbody></table></section></section><h2 id="CircleFadeMaterial">动态波纹材质</h2><p>mars3d.CircleFadeMaterial是实体类,提供动态波纹效果材质扩展,可以用于ellipse Etnity的material绑定,模拟动态点波纹。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript">var center = Cesium.Cartesian3.fromDegrees(117.29, 32.0581, 1);
|
viewer.entities.add({
|
position: center,
|
ellipse: {
|
height: 0.0,
|
semiMinorAxis: 80000.0,
|
semiMajorAxis: 80000.0,
|
material: new mars3d.CircleFadeMaterial({
|
color: new Cesium.Color(77 / 255, 201 / 255, 255 / 255, 0.9)
|
}),
|
}
|
});</code></pre></section></section><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>color</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Color.html?classFilter=Color">Color</a></nobr></code></td><td><code></code></td><td>颜色</td></tr><tr><td><code><b>duration</b></code></td><td><code>Number</code></td><td><code>1000</code></td><td>动画时长,单位:毫秒</td></tr></tbody></table></section></section><h2 id="CircleWaveMaterial">多圈动态波纹材质</h2><p>mars3d.CircleWaveMaterial是实体类,提供动态波纹效果材质扩展,可以用于ellipse Etnity的material绑定,模拟动态点波纹(多个圈)。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript">var center = Cesium.Cartesian3.fromDegrees(117.29, 32.0581, 1);
|
viewer.entities.add({
|
position: center,
|
ellipse: {
|
height: 0.0,
|
semiMinorAxis: 500.0,
|
semiMajorAxis: 500.0,
|
material: new mars3d.CircleWaveMaterial({
|
duration:2000,//动画时长,单位:毫秒
|
color: Cesium.Color.CHARTREUSE,
|
gradient:0,
|
count:3
|
}),
|
}
|
});</code></pre></section></section><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>color</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Color.html?classFilter=Color">Color</a></nobr></code></td><td><code></code></td><td>颜色</td></tr><tr><td><code><b>duration</b></code></td><td><code>Number</code></td><td><code>1000</code></td><td>动画时长,单位:毫秒</td></tr><tr><td><code><b>count</b></code></td><td><code>Number</code></td><td><code>2</code></td><td>圆圈个数</td></tr><tr><td><code><b>gradient</b></code></td><td><code>Number</code></td><td><code>0.1</code></td><td>透明度的幂方(0-1),0表示无虚化效果,1表示虚化成均匀渐变</td></tr></tbody></table></section></section><h2 id="TextMaterial">文字贴图材质</h2><p>mars3d.TextMaterial是实体类,提供文字贴图材质扩展,可以用于面状Etnity的material绑定,模拟不同文字效果。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript"> viewer.entities.add({
|
name: '路面文字',
|
rectangle: {
|
coordinates: Cesium.Rectangle.fromDegrees(121.479989, 29.791162, 121.480114, 29.791201),
|
classificationType: Cesium.ClassificationType.BOTH,
|
material: new mars3d.TextMaterial({
|
text: '火 星 路',
|
textStyles: {
|
font: '50px 楷体',
|
fill: true,
|
fillColor: Cesium.Color.DARKGREEN,
|
stroke: true,
|
strokeWidth: 3,
|
strokeColor: Cesium.Color.WHITE,
|
backgroundColor: new Cesium.Color(0.0, 0.0, 0.0, 0),
|
},
|
}),
|
rotation: Cesium.Math.toRadians(163),
|
stRotation: Cesium.Math.toRadians(163),
|
}
|
});</code></pre></section></section><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>color</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Color.html?classFilter=Color">Color</a></nobr></code></td><td><code></code></td><td>颜色</td></tr><tr><td><code><b>text</b></code></td><td><code>String</code></td><td><code></code></td><td>显示的文本</td></tr><tr><td><code><b>textStyles</b></code></td><td><code>Object</code></td><td><pre><code class="javascript">{
|
font: '50px 楷体',
|
fill: true,
|
fillColor: new Cesium.Color(1.0, 1.0, 0.0, 1.0),
|
stroke: true,
|
strokeWidth: 2,
|
strokeColor: new Cesium.Color(1.0, 1.0, 1.0, 0.8),
|
backgroundColor: new Cesium.Color(1.0, 1.0, 1.0, 0.1),
|
textBaseline: 'top',
|
padding: 40,
|
}</code></pre></td><td>设置文本的相关配置及样式,具体参数参考 <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/writeTextToCanvas.html?classFilter=writeTextToCanvas">writeTextToCanvas</a></nobr></td></tr></tbody></table></section></section><h2 id="measure">Measure量算类</h2><p>mars3d.analysi.Measure是实体类,提供测量长度、面积、高度等处理类。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript">this.measureSurface = new mars3d.analysi.Measure({
|
viewer: viewer,
|
terrain: false
|
});
|
measureSurface.measuerLength();//测量长度
|
measureSurface.measureArea();//测量面积
|
measureSurface.measureHeight();//测量高度
|
measureSurface.clearMeasure();//清除</code></pre></section></section><section><h3 id="measureTool-factory">创建对象</h3><section><table><thead><tr><th>创建示例</th><th>说明</th></tr></thead><tbody><tr id="measureTool-l-marker"><td><code><b>mars3d.analysi.Measure</b>(<nobr><<a href="#measureTool-option">measure options</a>></nobr> <i>options</i>)</code></td><td>根据相关参数创建一个量算控制器</td></tr></tbody></table></section></section><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr id="marker-map"><td><code><b>viewer</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Viewer.html?classFilter=viewer">viewer</a></code></td><td><code>必须传入</code></td><td>当前的地球对象viewer</td></tr><tr id="map-isCluster"><td><code><b>font</b></code></td><td><code>String</code></td><td><code>'16px SimHei'</code></td><td>显示测量结果文本的字体</td></tr></tbody></table></section><h3 id="measure-fun-option">测量方法中 Options参数选项</h3><section>measureLength、measureHeight、measureArea方法参数值,可选Options参数选项<table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr id="marker-autoSize"><td><code><b>unit</b></code></td><td><code>String</code></td><td><code>null</code></td><td>指定显示测试结果的的计量单位,未指定时内部会自动处理显示。<br>长度高度可选值有:km(公里)、mile(海里)、m(米)、zhang(丈)<br>面积可选值有: m(平方米)、km(平方公里)、mu(亩)、ha(公顷)</td></tr><tr id="marker-name"><td><code><b>calback</b></code></td><td><code>function</code></td><td><code>null</code></td><td>返回测量结果的回调方法,用于在其他界面显示测量结果。<pre><code class="javascript">calback: function (text, value) {
|
//text为带计量单位的结果,value为数值(米,平方米)
|
}</code></pre></td></tr><tr id="marker-autoSize"><td><code><b>terrain</b></code></td><td><code>Boolean</code></td><td><code>null</code></td><td>测量长度、面积时标识是否贴地模式</td></tr><tr id="marker-autoSize"><td><code><b>isSuper</b></code></td><td><code>Boolean</code></td><td><code>null</code></td><td>measureHeight高度测量时标识不同模式</td></tr></tbody></table></section></section><section><h3 id="measure-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>measuerLength</b>(<nobr><a href="#measure-fun-option">MeasureFun Options</a></nobr> <i>options</i>)</code></td><td><code>void</code></td><td><p>长度测量,terrain参数控制是否贴地测量</p></td></tr><tr><td><code><b>measureArea</b>(<nobr><a href="#measure-fun-option">MeasureFun Options</a></nobr> <i>options</i>)</code></td><td><code>void</code></td><td><p>面积测量,terrain参数控制是否贴地测量</p></td></tr><tr><td><code><b>measureHeight</b>(<nobr><a href="#measure-fun-option">MeasureFun Options</a></nobr> <i>options</i>)</code></td><td><code>void</code></td><td><p>高度测量,isSuper参数控制是否三角测量</p></td></tr><tr><td><code><b>measureAngle</b>(<nobr><a href="#measure-fun-option">MeasureFun Options</a></nobr> <i>options</i>)</code></td><td><code>void</code></td><td><p>角度测量</p></td></tr><tr><td><code><b>measureSection</b>(<nobr><a href="#measure-fun-option">MeasureFun Options</a></nobr> <i>options</i>)</code></td><td><code>void</code></td><td><p>剖面分析</p></td></tr><tr><td><code><b>measurePoint</b>(<nobr><a href="#measure-fun-option">MeasureFun Options</a></nobr> <i>options</i>)</code></td><td><code>void</code></td><td><p>坐标测量</p></td></tr><tr><td><code><b>updateUnit</b>(<nobr>String</nobr> <i>thisType</i>,<nobr><a href="#measure-fun-option">MeasureFun Options</a></nobr> <i>options</i>)</code></td><td><code>void</code></td><td><p>更新单位,thisType标识类型,如area、length、height</p></td></tr><tr><td><code><b>clearMeasure</b>()</code></td><td><code>void</code></td><td><p>清除所有测量结果</p></td></tr><tr><td><code><b>stopDraw</b>()</code></td><td><code>void</code></td><td><p>停止绘制,但不清除已有的绘制。</p></td></tr><tr><td><code><b>endDraw</b>()</code></td><td><code>void</code></td><td><p>外部控制,等价于双击完成绘制,比如手机端无法双击结束</p></td></tr><tr><td><code><b>formatArea</b>(<nobr><Number></nobr> <i>val</i>,<nobr><String></nobr> <i>unit?</i>)</code></td><td><code>String</code></td><td><p>进行单位换算,格式化显示面积</p>unit可选值有: m(平方米)、km(平方公里)、mu(亩)、ha(公顷)</td></tr><tr><td><code><b>formatLength</b>(<nobr><Number></nobr> <i>val</i>,<nobr><String></nobr> <i>unit?</i>)</code></td><td><code>String</code></td><td><p>进行单位换算,格式化显示长度</p>unit可选值有: km(公里)、mile(海里)、m(米)、zhang(丈)</td></tr></tbody></table></section></section><h2 id="MeasureVolume">方量分析</h2><p>mars3d.analysi.MeasureVolume是实体类,提供基于方量分析测量填挖方体积的计算。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript">var measureObj = new mars3d.analysi.MeasureVolume(viewer,{
|
callBack:function(){
|
|
}
|
}); </code></pre></section></section><section><h3 id="MeasureVolume-option">start方法Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>heightLabel</b></code></td><td><code>boolean</code></td><td><code>true</code></td><td>是否显示各坐标的海拔高度值</td></tr><tr><td><code><b>offsetLabel</b></code></td><td><code>boolean</code></td><td><code>false</code></td><td>是否显示各坐标的离地高度值</td></tr><tr><td><code><b>onStart</b></code></td><td><code>function</code></td><td><code></code></td><td>分析前回调方法</td></tr><tr><td><code><b>onStop</b></code></td><td><code>function</code></td><td><code></code></td><td>分析完成后回调</td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性名</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>height</b></code></td><td><code>Number</code></td><td>基准面高度,默认为最低点的高度值</td></tr><tr><td><code><b>maxheight</b></code></td><td><code>Number</code></td><td>最大高度,主要用于显示墙高度</td></tr><tr><td><code><b>heightLabel</b></code></td><td><code>boolean</code></td><td>是否显示各坐标的海拔高度值</td></tr><tr><td><code><b>offsetLabel</b></code></td><td><code>boolean</code></td><td>是否显示各坐标的离地高度值</td></tr></tbody></table></section></section><section><h3 id="marker-method">方法</h3><section><div class="section-comments">包括模块释放时相关方法。</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="marker-getData"><td><code><b>startDraw</b>()</code></td><td><code>void</code></td><td><p>激活绘制面,进行分析绘制区域结果的体积</p></td></tr><tr id="marker-getData"><td><code><b>selecteHeight</b>()</code></td><td><code>void</code></td><td><p>激活图上绘制,点选基准面</p></td></tr><tr id="marker-getData"><td><code><b>start</b>(<nobr> <a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr> positions)</code></td><td><code>void</code></td><td><p>通过传入坐标进行分析</p></td></tr><tr id="marker-getData"><td><code><b>clear</b>()</code></td><td><code>void</code></td><td><p>清除分析</p></td></tr><tr id="marker-getData"><td><code><b>destroy</b>()</code></td><td><code>void</code></td><td><p>销毁释放对象</p></td></tr></tbody></table></section></section><h2 id="Slope">坡度坡向分析</h2><p>mars3d.analysi.Slope是实体类,提供基于计算绘制的范围内的插值点的坡度坡向值。</p><section><h3 id="Slope-example">使用示例</h3><section><pre><code class="javascript">var slope = new mars3d.analysi.Slope({
|
viewer: viewer,
|
point: {
|
show: true,
|
pixelSize: 9,
|
color: Cesium.Color.RED.withAlpha(0.5),
|
disableDepthTestDistance: Number.POSITIVE_INFINITY,
|
},
|
arrow: {
|
show: true,
|
scale: 0.3, //箭头长度的比例(范围0.1-0.9)
|
width: 15, //箭头宽度
|
color: Cesium.Color.YELLOW
|
},
|
tooltip: function (entity) {//自定义tooltip显示内容
|
var attr = entity.properties;
|
return `坡度: ${attr.slopeStr1} (${attr.slopeStr2}) 坡向: ${attr.direction}°`
|
},
|
}) </code></pre></section></section><section><h3 id="Slope-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>viewer</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Viewer">Viewer</a></code></td><td><code></code></td><td>地球对象</td></tr><tr><td><code><b>arrow</b></code></td><td><code>Object</code></td><td><code>{show:true, scale:0.3, width:1.5, color:Cesium.Color.YELLOW}</code></td><td>箭头的显示对象相关属性</td></tr><tr><td><code><b>point</b></code></td><td><code>Object</code></td><td><code>{show:true, pixelSize:9, width:1.5, color:Cesium.Color.RED.withAlpha(0.5)}</code></td><td>坡度点的显示对象相关属性</td></tr><tr><td><code><b>tooltip</b></code></td><td><code>String/function</code></td><td><code></code></td><td>绑定的tooltip显示对象,格式参考tooltip示例规范</td></tr><tr><td><code><b>positions</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr> positions)</code></td><td><code>null</code></td><td>需要分析的面的边界点</td></tr><tr><td><code><b>calbak</b></code></td><td><code>function</code></td><td><code></code></td><td>分析完成的回调方法,传回分析结果的所有点<pre><code class="javascript"> calbak: function (arr) {
|
// 数组内返回值说明: {
|
// position:position, //坐标位置
|
// slope: slopeValDou, //度数法值,α(坡度)=arc tan (高程差/水平距离)
|
// slopeStr1: text1, //度数法值字符串
|
// slopeStr2: text2, //百分比法值字符串,坡度 = (高程差/水平距离)x100%
|
// direction: slopeAngle //坡向值(0-360度)
|
// }
|
console.log(arr);
|
} </code></pre></td></tr></tbody></table></section></section><section><h3 id="marker-method">方法</h3><section><div class="section-comments">包括模块释放时相关方法。</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="marker-getData"><td><code><b>add</b>( <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a> []</nobr> <i>positions</i>,<nobr> Object</nobr> <i>options</i>)</code></td><td><code>void</code></td><td><p>通过传入坐标进行分析</p>options支出下面参数:<pre><code class="javascript">slope.add(positions, {
|
splitNum: splitNum, //splitNum插值分割的个数
|
radius: 1, //缓冲半径(影响精度)
|
count: 4 //缓冲的数量,会求周边(count*4)个点(影响精度)
|
});</code></pre></td></tr><tr id="marker-getData"><td><code><b>clear</b>()</code></td><td><code>void</code></td><td><p>清除分析</p></td></tr><tr id="marker-getData"><td><code><b>destroy</b>()</code></td><td><code>void</code></td><td><p>销毁释放对象</p></td></tr></tbody></table></section></section><h2 id="Underground">地下模式</h2><p>mars3d.analysi.Underground是实体类,提供开启地下模式浏览方式。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript">var underObj = new mars3d.analysi.Underground(viewer, {
|
alpha: 0.5,
|
enable: true,
|
}); </code></pre></section></section><section><h3 id="FloodByTerrain-option">start方法Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>alpha</b></code></td><td><code>Number</code></td><td><code>0.5</code></td><td>地表透明度 0-1</td></tr><tr><td><code><b>enable</b></code></td><td><code>boolean</code></td><td><code>false</code></td><td>是否开启地表透明</td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性名</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>depth</b></code></td><td><code>Number</code></td><td>允许相机地下深度(相对于地表海拔)</td></tr><tr><td><code><b>alpha</b></code></td><td><code>Number</code></td><td>地表透明度 0-1</td></tr><tr><td><code><b>enable</b></code></td><td><code>boolean</code></td><td>是否开启地表透明</td></tr></tbody></table></section></section><h2 id="FloodByEntity">淹没分析(Entity)</h2><p>mars3d.analysi.FloodByEntity是实体类,提供polygon Entity模拟的平面 淹没分析效果。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript">var floodControl = new mars3d.analysi.FloodByEntity(viewer);
|
//开始分析
|
floodControl.start(drawEntity, {
|
height: minValue,
|
maxHeight: maxValue,
|
speed: speed,
|
onChange: function (height) {
|
$("#msg").html('当前高度:' + height.toFixed(1));
|
},
|
onStop: function () {
|
$("#msg").html('已完成分析');
|
}
|
}); </code></pre></section></section><section><h3 id="FloodByEntity-option">start方法Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>height</b></code></td><td><code>Number</code></td><td><code></code></td><td>当前海拔高度,一般为分析的最低点高程</td></tr><tr><td><code><b>maxHeight</b></code></td><td><code>Number</code></td><td><code></code></td><td>分析的最高点高程</td></tr><tr><td><code><b>speed</b></code></td><td><code>Number</code></td><td><code></code></td><td>淹没速度 ,单位 :米/秒</td></tr><tr><td><code><b>onChange</b></code></td><td><code>function</code></td><td><code></code></td><td>高程变化回调</td></tr><tr><td><code><b>onStop</b></code></td><td><code>function</code></td><td><code></code></td><td>分析完成,到达最高海拔后回调</td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性名</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>height</b></code></td><td><code><nobr>Number</nobr></code></td><td><p>当前淹没到的海拔高度</p></td></tr></tbody></table></section></section><section><h3 id="marker-method">方法</h3><section><div class="section-comments">包括模块释放时相关方法。</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="marker-getData"><td><code><b>start</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html?classFilter=entity">Entity</a></nobr> <i>entity</i>, <nobr>Object</nobr> <i>options</i>)</code></td><td><code>void</code></td><td><p>开始分析</p></td></tr><tr id="marker-getData"><td><code><b>clear</b>()</code></td><td><code>void</code></td><td><p>停止并清除分析结果</p></td></tr></tbody></table></section></section><h2 id="FloodByTerrain">淹没分析(Terrain)</h2><p>mars3d.analysi.FloodByTerrain是实体类,提供基于Globel材质处理的淹没分析效果。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript">var floodObj = new mars3d.analysi.FloodByTerrain(viewer, {
|
positions: positions,
|
minHeight: minValue,
|
maxHeight: maxValue,
|
speed: speed,
|
visibleOutArea: visibleOutArea
|
});; </code></pre></section></section><section><h3 id="FloodByTerrain-option">start方法Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>height</b></code></td><td><code>Number</code></td><td><code></code></td><td>当前海拔高度,一般为分析的最低点高程</td></tr><tr><td><code><b>minHeight</b></code></td><td><code>Number</code></td><td><code></code></td><td>分析的最低点高程</td></tr><tr><td><code><b>maxHeight</b></code></td><td><code>Number</code></td><td><code></code></td><td>分析的最高点高程</td></tr><tr><td><code><b>speed</b></code></td><td><code>Number</code></td><td><code></code></td><td>淹没速度 ,单位 :米/秒</td></tr><tr><td><code><b>visibleOutArea</b></code></td><td><code>boolean</code></td><td><code></code></td><td>非淹没区域显示</td></tr><tr><td><code><b>onStop</b></code></td><td><code>function</code></td><td><code></code></td><td>分析完成,到达最高海拔后回调</td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性名</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>show</b></code></td><td><code>boolean</code></td><td>显示隐藏</td></tr><tr><td><code><b>speed</b></code></td><td><code>Number</code></td><td>淹没速度 ,单位 :米/秒</td></tr><tr><td><code><b>visibleOutArea</b></code></td><td><code>boolean</code></td><td>非淹没区域显示</td></tr></tbody></table></section></section><section><h3 id="marker-method">方法</h3><section><div class="section-comments">包括模块释放时相关方法。</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="marker-getData"><td><code><b>setPositions</b>(<nobr> <a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr> positions)</code></td><td><code>void</code></td><td><p>初始化没传区域坐标时,可后续设置区域坐标</p></td></tr><tr id="marker-getData"><td><code><b>cancelFloodSpeed</b>()</code></td><td><code>void</code></td><td><p>暂停淹没动画</p></td></tr><tr id="marker-getData"><td><code><b>reFlood</b>()</code></td><td><code>void</code></td><td><p>重新淹没</p></td></tr><tr id="marker-getData"><td><code><b>destroy</b>()</code></td><td><code>void</code></td><td><p>销毁释放对象</p></td></tr></tbody></table></section></section><h2 id="TerrainClipPlan">地形开挖(平面)</h2><p>mars3d.analysi.TerrainClipPlan是实体类,提供基于ClippingPlane裁剪地形的开挖分析效果。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript">var terrainClip = new mars3d.analysi.TerrainClipPlan(viewer, {
|
positions: positions,
|
height: height, //高度
|
splitNum: 50, //wall边界插值数
|
wallImg: './img/textures/excavate_side_min.jpg', //边界墙材质
|
bottomImg: './img/textures/excavate_bottom_min.jpg'//底部区域材质
|
}); </code></pre></section></section><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>height</b></code></td><td><code>Number</code></td><td><code></code></td><td>当前海拔高度,一般为分析的最低点高程</td></tr><tr><td><code><b>positions</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr></code></td><td><code></code></td><td>挖地区域边界坐标数组</td></tr><tr><td><code><b>splitNum</b></code></td><td><code>Number</code></td><td><code></code></td><td>边界墙 插值个数</td></tr><tr><td><code><b>wallImg</b></code></td><td><code>String</code></td><td><code></code></td><td>边界墙材质 图片url</td></tr><tr><td><code><b>bottomImg</b></code></td><td><code>String</code></td><td><code></code></td><td>底部区域材质 图片url</td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性名</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>show</b></code></td><td><code><nobr>Boolean</nobr></code></td><td><p>显示隐藏开挖区域</p></td></tr><tr><td><code><b>height</b></code></td><td><code><nobr>Number</nobr></code></td><td><p>当前淹没到的海拔高度</p></td></tr></tbody></table></section></section><section><h3 id="marker-method">方法</h3><section><div class="section-comments">包括模块释放时相关方法。</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="marker-getData"><td><code><b>updateData</b>(<nobr> <a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr> positions)</code></td><td><code>void</code></td><td><p>更新开挖区域</p></td></tr><tr id="marker-getData"><td><code><b>clear</b>()</code></td><td><code>void</code></td><td><p>清除开挖区域结果</p></td></tr></tbody></table></section></section><h2 id="TerrainClip">地形开挖(材质)</h2><p>mars3d.analysi.TerrainClip是实体类,提供基于Globe材质的裁剪地形的开挖分析效果。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript"> var terrainExcavate = new mars3d.analysi.TerrainClip(viewer, {
|
positions: positions,
|
height: height,
|
splitNum: 50, //wall边界插值数
|
wallImg: './img/textures/excavate_side_min.jpg',
|
bottomImg: './img/textures/excavate_bottom_min.jpg'
|
}); </code></pre></section></section><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>height</b></code></td><td><code>Number</code></td><td><code></code></td><td>当前海拔高度,一般为分析的最低点高程</td></tr><tr><td><code><b>positions</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr></code></td><td><code></code></td><td>挖地区域边界坐标数组</td></tr><tr><td><code><b>splitNum</b></code></td><td><code>Number</code></td><td><code></code></td><td>边界墙 插值个数</td></tr><tr><td><code><b>wallImg</b></code></td><td><code>String</code></td><td><code></code></td><td>边界墙材质 图片url</td></tr><tr><td><code><b>bottomImg</b></code></td><td><code>String</code></td><td><code></code></td><td>底部区域材质 图片url</td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性名</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>show</b></code></td><td><code><nobr>Boolean</nobr></code></td><td><p>显示隐藏开挖区域</p></td></tr><tr><td><code><b>showSelfOnly</b></code></td><td><code><nobr>Boolean</nobr></code></td><td><p>仅显示自己</p></td></tr><tr><td><code><b>height</b></code></td><td><code><nobr>Number</nobr></code></td><td><p>当前淹没到的海拔高度</p></td></tr><tr><td><code><b>boundingSwell</b></code></td><td><code><nobr>Number</nobr></code></td><td><p>点集合的包围盒膨胀数值</p></td></tr></tbody></table></section></section><section><h3 id="marker-method">方法</h3><section><div class="section-comments">包括模块释放时相关方法。</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="marker-getData"><td><code><b>setPositions</b>(<nobr> <a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr> positions)</code></td><td><code>void</code></td><td><p>初始化没传区域坐标时,可后续设置区域坐标</p></td></tr><tr id="marker-getData"><td><code><b>destroy</b>()</code></td><td><code>void</code></td><td><p>释放清除开挖区域结果</p></td></tr></tbody></table></section></section><h2 id="HeightCounterByTerrain">等高线</h2><p>mars3d.analysi.HeightCounterByTerrain是实体类,提供基于Globe材质的等高线限定范围分析效果。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript"> var heightCounterByTerrain = new mars3d.analysi.HeightCounterByTerrain(viewer, {
|
positions: positions
|
});</code></pre></section></section><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>positions</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr></code></td><td><code></code></td><td>等高线区域边界坐标数组</td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性名</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>show</b></code></td><td><code><nobr>Boolean</nobr></code></td><td><p>显示隐藏等高线区域</p></td></tr></tbody></table></section></section><section><h3 id="marker-method">方法</h3><section><div class="section-comments">包括模块释放时相关方法。</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="marker-getData"><td><code><b>setPositions</b>(<nobr> <a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr> positions)</code></td><td><code>void</code></td><td><p>初始化没传区域坐标时,可后续设置区域坐标</p></td></tr><tr id="marker-getData"><td><code><b>destroy</b>()</code></td><td><code>void</code></td><td><p>释放清除结果</p></td></tr></tbody></table></section></section><h2 id="TilesClipPlan">模型剖切</h2><p>mars3d.tiles.TilesClipPlan是实体类,提供基于ClippingPlane裁剪模型的剖切分析效果。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript"> var clipTileset = new mars3d.tiles.TilesClipPlan(tileset,{
|
type:mars3d.tiles.TilesClipPlan.Type.Z,//切顶部
|
distance:10//裁剪距离
|
}); </code></pre></section></section><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>type</b></code></td><td><code>mars3d.tiles.TilesClipPlan.Type</code></td><td><code></code></td><td>剖切方向</td></tr><tr><td><code><b>distance</b></code></td><td><code>Number</code></td><td><code></code></td><td>剖切距离 ,离模型中心原点的距离,单位:米</td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性名</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>type</b></code></td><td><code><nobr>mars3d.tiles.TilesClipPlan.Type</nobr></code></td><td><p>剖切方向</p></td></tr><tr><td><code><b>distance</b></code></td><td><code><nobr>Number</nobr></code></td><td><p>剖切距离 ,离模型中心原点的距离,单位:米</p></td></tr></tbody></table></section></section><section><h3 id="marker-method">方法</h3><section><div class="section-comments">包括模块释放时相关方法。</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="marker-getData"><td><code><b>clear</b>()</code></td><td><code>void</code></td><td><p>清除剖切结果</p></td></tr></tbody></table></section></section><h2 id="MixedOcclusion">建筑物混合遮挡</h2><p>mars3d.tiles.MixedOcclusion是实体类,提供建筑物混合遮挡效果。 1.楼块不能遮挡道路、水系、绿地和标注等地图元素; 2.楼快之间,需要实现不透明的实际遮挡效果。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript"> var fuseTileAndBG = new mars3d.tiles.MixedOcclusion(viewer, {
|
alpha: 0.5
|
}); </code></pre></section></section><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>enabled</b></code></td><td><code>Boolean</code></td><td><code>true</code></td><td>是否启用</td></tr><tr><td><code><b>alpha</b></code></td><td><code>Number</code></td><td><code>0.5</code></td><td>透明度</td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性名</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>enabled</b></code></td><td><code>Boolean</code></td><td>是否启用</td></tr><tr><td><code><b>alpha</b></code></td><td><code>Number</code></td><td>透明度</td></tr></tbody></table></section></section><section><h3 id="marker-method">方法</h3><section><div class="section-comments">包括模块释放时相关方法。</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="marker-getData"><td><code><b>destroy</b>()</code></td><td><code>void</code></td><td><p>清除销毁对象</p></td></tr></tbody></table></section></section><h2 id="TilesClip">模型裁剪</h2><p>mars3d.tiles.TilesClip是实体类,提供倾斜摄影模型的模型裁剪功能。该功能对3dtiles数据有要求,仅适用于无自带着色器的模型。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript"> var tilesetClip = new mars3d.tiles.TilesClip({
|
viewer: viewer,
|
tileset: tileset,
|
positions: positions,
|
clipOutSide: false
|
}); </code></pre></section></section><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>viewer</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Viewer">Viewer</a></code></td><td><code></code></td><td>地球对象</td></tr><tr><td><code><b>tileset</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cesium3DTileset">Cesium3DTileset</a></code></td><td><code></code></td><td>3dtiles模型对象</td></tr><tr><td><code><b>positions</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></code></td><td><code></code></td><td>裁剪模型的区域边界坐标</td></tr><tr><td><code><b>clipOutSide</b></code></td><td><code>boolean</code></td><td><code>false</code></td><td>true裁剪区域外部部分,false裁剪区域内部部分</td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性名</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>tileset</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cesium3DTileset">Cesium3DTileset</a></code></td><td>3dtiles模型对象</td></tr><tr><td><code><b>clipOutSide</b></code></td><td><code>boolean</code></td><td>true裁剪区域外部部分,false裁剪区域内部部分</td></tr></tbody></table></section></section><section><h3 id="marker-method">方法</h3><section><div class="section-comments">包括模块释放时相关方法。</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="marker-getData"><td><code><b>destroy</b>()</code></td><td><code>void</code></td><td><p>清除销毁对象</p></td></tr></tbody></table></section></section><h2 id="TilesFlat">模型压平</h2><p>mars3d.tiles.TilesFlat是实体类,提供倾斜摄影模型的模型压平功能。该功能对3dtiles数据有要求,仅适用于无自带着色器的模型。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript"> var tilesetClip = new mars3d.tiles.TilesFlat({
|
viewer: viewer,
|
tileset: tileset,
|
positions: positions,
|
flatHeight: 0
|
}); </code></pre></section></section><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>viewer</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Viewer">Viewer</a></code></td><td><code></code></td><td>地球对象</td></tr><tr><td><code><b>tileset</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cesium3DTileset">Cesium3DTileset</a></code></td><td><code></code></td><td>3dtiles模型对象</td></tr><tr><td><code><b>positions</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></code></td><td><code></code></td><td>压平模型的区域边界坐标</td></tr><tr><td><code><b>flatHeight</b></code></td><td><code>Number</code></td><td><code>0</code></td><td>压平区高度</td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性名</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>tileset</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cesium3DTileset">Cesium3DTileset</a></code></td><td>3dtiles模型对象</td></tr><tr><td><code><b>flatHeight</b></code></td><td><code>Number</code></td><td>压平区高度</td></tr></tbody></table></section></section><section><h3 id="marker-method">方法</h3><section><div class="section-comments">包括模块释放时相关方法。</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="marker-getData"><td><code><b>destroy</b>()</code></td><td><code>void</code></td><td><p>清除销毁对象</p></td></tr></tbody></table></section></section><h2 id="TilesFlood">模型淹没</h2><p>mars3d.tiles.TilesFlood是实体类,提供倾斜摄影模型的模型模型淹没功能。该功能对3dtiles数据有要求,仅适用于无自带着色器的模型。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript"> var tilesetClip = new mars3d.tiles.TilesFlood({
|
viewer: viewer,
|
tileset: tileset,
|
positions: positions,
|
floodAll: false
|
}); </code></pre></section></section><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>viewer</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Viewer">Viewer</a></code></td><td><code></code></td><td>地球对象</td></tr><tr><td><code><b>tileset</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cesium3DTileset">Cesium3DTileset</a></code></td><td><code></code></td><td>3dtiles模型对象</td></tr><tr><td><code><b>positions</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></code></td><td><code></code></td><td>淹没分析的区域边界坐标</td></tr><tr><td><code><b>floodAll</b></code></td><td><code>Boolean</code></td><td><code>false</code></td><td>是否模型全局淹没</td></tr><tr><td><code><b>floodSpeed</b></code></td><td><code>Number</code></td><td><code>5.5</code></td><td>淹没速度,米/秒(默认刷新频率为55Hz)</td></tr><tr><td><code><b>floodColor</b></code></td><td><code>array</code></td><td><code>[0.15, 0.7, 0.95, 0.5]</code></td><td>淹没颜色数组</td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性名</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>tileset</b></code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cesium3DTileset">Cesium3DTileset</a></code></td><td>3dtiles模型对象</td></tr><tr><td><code><b>floodAll</b></code></td><td><code>Boolean</code></td><td>是否模型全局淹没</td></tr></tbody></table></section></section><section><h3 id="marker-method">方法</h3><section><div class="section-comments">包括模块释放时相关方法。</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="marker-getData"><td><code><b>destroy</b>()</code></td><td><code>void</code></td><td><p>清除销毁对象</p></td></tr></tbody></table></section></section><h2 id="Video2D">视频投射Video2D</h2><p>mars3d.video.Video2D是实体类,提供html5 video视频源投射到三维场景中。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript">var selectedView = new mars3d.video.Video2D(viewer, videoElement, {
|
aspectRatio: viewer.scene.camera.frustum.aspectRatio,
|
fov: viewer.scene.camera.frustum.fov,
|
dis: 2000
|
}); </code></pre></section></section><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>aspectRatio</b></code></td><td><code>Number</code></td><td><code></code></td><td>宽高比</td></tr><tr><td><code><b>fov</b></code></td><td><code>Number</code></td><td><code></code></td><td>相机水平张角</td></tr><tr><td><code><b>dis</b></code></td><td><code>Number</code></td><td><code>10</code></td><td>视角距离</td></tr><tr><td><code><b>stRotation</b></code></td><td><code>Number</code></td><td><code>0</code></td><td>材质方向 0-360</td></tr><tr><td><code><b>frustumShow</b></code></td><td><code>Boolean</code></td><td><code>true</code></td><td>投射的视椎体是否显示</td></tr><tr><td><code><b>camera</b></code></td><td><code></code></td><td><code></code></td><td>相机位置等参数</td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性名</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>play</b></code></td><td><code>Boolean</code></td><td>视频播放机暂停</td></tr><tr><td><code><b>aspectRatio</b></code></td><td><code>Number</code></td><td>宽高比</td></tr><tr><td><code><b>fov</b></code></td><td><code>Number</code></td><td>相机水平张角</td></tr><tr><td><code><b>dis</b></code></td><td><code>Number</code></td><td>视角距离</td></tr><tr><td><code><b>stRotation</b></code></td><td><code>Number</code></td><td>材质方向 0-360</td></tr><tr><td><code><b>frustumShow</b></code></td><td><code>Boolean</code></td><td>投射的视椎体是否显示</td></tr><tr><td><code><b>params</b></code></td><td><code>object 只读</code></td><td>所有相机的参数</td></tr></tbody></table></section></section><section><h3 id="marker-method">方法</h3><section><div class="section-comments">包括模块释放时相关方法。</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="marker-getData"><td><code><b>locate</b>()</code></td><td><code>void</code></td><td><p>切换相机到 呈现投影相机的第一视角</p></td></tr><tr id="marker-getData"><td><code><b>rotateCamera</b>(String axis, Number deg)</code></td><td><code>void</code></td><td><p>往axis方向旋转相机deg步长</p></td></tr><tr id="marker-getData"><td><code><b>destroy</b>()</code></td><td><code>void</code></td><td><p>释放销毁资源</p></td></tr></tbody></table></section></section><h2 id="Video3D">视频投射Video3D</h2><p>mars3d.video.Video3D是实体类,提供html5 video视频源投射到三维场景中,同时也支持投射图片或颜色对象。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript"> var selectedView = new mars3d.video.Video3D(viewer, {
|
type: mars3d.video.Video3D.Type.Video,
|
url: "http://data.marsgis.cn/video/lukou.mp4",
|
cameraPosition: cameraPosition,
|
position: position,
|
alpha: alpha,
|
}); </code></pre></section></section><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>type</b></code></td><td><code>mars3d.video.Video3D.Type</code></td><td><code>*.Type.Video</code></td><td>类型,视频、图片、颜色</td></tr><tr><td><code><b>cameraPosition</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr></code></td><td><code></code></td><td>相机位置</td></tr><tr><td><code><b>position</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr></code></td><td><code></code></td><td>目标视点位置</td></tr><tr><td><code><b>alpha</b></code></td><td><code>Number</code></td><td><code>1.0</code></td><td>透明度 0 - 1</td></tr><tr><td><code><b>url</b></code></td><td><code>String</code></td><td><code></code></td><td>视频或图片的url地址</td></tr><tr><td><code><b>color</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Color.html?classFilter=Color">Color</a></nobr></code></td><td><code></code></td><td>颜色投放时的,颜色值</td></tr><tr><td><code><b>debugFrustum</b></code></td><td><code>Boolean</code></td><td><code>true</code></td><td>投射的视椎体是否显示</td></tr><tr><td><code><b>aspectRatio</b></code></td><td><code>Number</code></td><td><code></code></td><td>宽高比</td></tr><tr><td><code><b>fov</b></code></td><td><code>Number</code></td><td><code></code></td><td>相机水平张角</td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性名</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>cameraPosition</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr></code></td><td>相机位置</td></tr><tr><td><code><b>position</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr></code></td><td>目标视点位置</td></tr><tr><td><code><b>alpha</b></code></td><td><code>Number</code></td><td>透明度 0 - 1</td></tr><tr><td><code><b>debugFrustum</b></code></td><td><code>Boolean</code></td><td>投射的视椎体是否显示</td></tr><tr><td><code><b>aspectRatio</b></code></td><td><code>Number</code></td><td>宽高比</td></tr><tr><td><code><b>fov</b></code></td><td><code>Number</code></td><td>相机水平张角</td></tr><tr><td><code><b>show</b></code></td><td><code>Boolean</code></td><td>显示和隐藏</td></tr><tr><td><code><b>videoPlay</b></code></td><td><code>Boolean</code></td><td>切换视频 播放/暂停</td></tr></tbody></table></section></section><section><h3 id="marker-method">方法</h3><section><div class="section-comments">包括模块释放时相关方法。</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="marker-getData"><td><code><b>locate</b>()</code></td><td><code>void</code></td><td><p>切换相机到 呈现投影相机的第一视角</p></td></tr><tr id="marker-getData"><td><code><b>destroy</b>()</code></td><td><code>void</code></td><td><p>释放销毁资源</p></td></tr></tbody></table></section></section><h2 id="Sightline">通视分析</h2><p>mars3d.analysi.Sightline是实体类,提供通视分析功能。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript">var sightline = new mars3d.analysi.Sightline(viewer);
|
sightline.add(positions1, positions2);//添加需要分析的起止点 </code></pre></section></section><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>originPoint</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr></code></td><td><code></code></td><td>通视分析 起始点位置</td></tr><tr><td><code><b>targetPoint</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr></code></td><td><code></code></td><td>通视分析 目标点位置</td></tr><tr><td><code><b>visibleAreaColor</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Color.html?classFilter=Color">Color</a></nobr></code></td><td>可视区域颜色</td></tr><tr><td><code><b>hiddenAreaColor</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Color.html?classFilter=Color">Color</a></nobr></code></td><td>不可视区域颜色</td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性名</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>visibleAreaColor</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Color.html?classFilter=Color">Color</a></nobr></code></td><td>可视区域颜色</td></tr><tr><td><code><b>hiddenAreaColor</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Color.html?classFilter=Color">Color</a></nobr></code></td><td>不可视区域颜色</td></tr></tbody></table></section></section><section><h3 id="marker-method">方法</h3><section><div class="section-comments">包括模块释放时相关方法。</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="marker-getData"><td><code><b>add</b>(<nobr> <a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> origin, <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> target)</code></td><td><code>void</code></td><td><p>添加分析</p></td></tr><tr id="marker-getData"><td><code><b>clear</b>()</code></td><td><code>void</code></td><td><p>清除所有分析结果</p></td></tr><tr id="marker-getData"><td><code><b>destroy</b>()</code></td><td><code>void</code></td><td><p>释放销毁资源</p></td></tr></tbody></table></section></section><h2 id="ViewShed3D">可视域分析</h2><p>mars3d.analysi.ViewShed3D是实体类,提供可视域分析功能。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript"> var selectedView = new mars3d.analysi.ViewShed3D(viewer, {
|
horizontalAngle: horizontalAngle,
|
verticalAngle: verticalAngle,
|
distance: distance,
|
}) </code></pre></section></section><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>cameraPosition</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr></code></td><td><code></code></td><td>相机位置 ,无值时通过鼠标绘制获取</td></tr><tr><td><code><b>viewPosition</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr></code></td><td><code></code></td><td>目标视点位置,无值时通过鼠标绘制获取</td></tr><tr><td><code><b>calback</b></code></td><td><code>function</code></td><td><code></code></td><td>未传入相机位置和视点位置时,手动图上绘制结束后的回调方法</td></tr><tr><td><code><b>alpha</b></code></td><td><code>Number</code></td><td><code>0.5</code></td><td>透明度 0 - 1</td></tr><tr><td><code><b>horizontalAngle</b></code></td><td><code>Number</code></td><td><code></code></td><td>水平张角</td></tr><tr><td><code><b>verticalAngle</b></code></td><td><code>Number</code></td><td><code></code></td><td>垂直张角</td></tr><tr><td><code><b>frustum</b></code></td><td><code>Boolean</code></td><td><code>true</code></td><td>投射的视椎体是否显示</td></tr><tr><td><code><b>distance</b></code></td><td><code>Number</code></td><td><code></code></td><td>可视距离 , 已传viewPosition值时,该参数无效</td></tr><tr><td><code><b>visibleAreaColor</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Color.html?classFilter=Color">Color</a></nobr></code></td><td><code>new Cesium.Color(0, 1, 0)</code></td><td>可视区域颜色</td></tr><tr><td><code><b>hiddenAreaColor</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Color.html?classFilter=Color">Color</a></nobr></code></td><td><code>new Cesium.Color(1, 0, 0)</code></td><td>不可视区域颜色</td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性名</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>cameraPosition</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr></code></td><td>相机位置 ,无值时通过鼠标绘制获取</td></tr><tr><td><code><b>viewPosition</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr></code></td><td>目标视点位置,无值时通过鼠标绘制获取</td></tr><tr><td><code><b>alpha</b></code></td><td><code>Number</code></td><td>透明度 0 - 1</td></tr><tr><td><code><b>horizontalAngle</b></code></td><td><code>Number</code></td><td>水平张角</td></tr><tr><td><code><b>verticalAngle</b></code></td><td><code>Number</code></td><td>垂直张角</td></tr><tr><td><code><b>frustum</b></code></td><td><code>Boolean</code></td><td>投射的视椎体是否显示</td></tr><tr><td><code><b>distance</b></code></td><td><code>Number</code></td><td>可视距离</td></tr><tr><td><code><b>visibleAreaColor</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Color.html?classFilter=Color">Color</a></nobr></code></td><td>可视区域颜色</td></tr><tr><td><code><b>hiddenAreaColor</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Color.html?classFilter=Color">Color</a></nobr></code></td><td>不可视区域颜色</td></tr><tr><td><code><b>show</b></code></td><td><code>Boolean</code></td><td>显示和隐藏</td></tr></tbody></table></section></section><section><h3 id="marker-method">方法</h3><section><div class="section-comments">包括模块释放时相关方法。</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="marker-getData"><td><code><b>destroy</b>()</code></td><td><code>void</code></td><td><p>释放销毁资源</p></td></tr></tbody></table></section></section><h2 id="FlyLine">飞行漫游路线</h2><p>mars3d.FlyLine是实体类,提供飞行漫游路线控制。参数建议从“基础项目” 的“飞行漫游”功能界面操作后保存JSON后拷贝传入。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript">//flydata数据值可以从“基础项目” 的“飞行漫游”功能界面操作后保存JSON
|
var flydata = {
|
"id": "1",
|
"name": "城市飞行",
|
"points": [
|
[117.245989, 31.852285, 100],
|
[117.246347, 31.834418, 300],
|
[117.246703, 31.816635, 500]
|
],
|
"speed": 100,
|
"camera": { "type": "gs", "followedX": 50, "followedZ": 10 },
|
"model": {
|
"show": true,
|
"uri": "http://data.marsgis.cn/gltf/mars/zhanji.glb",
|
"scale": 0.01,
|
"minimumPixelSize": 100
|
},
|
"path": { "show": true, "color": "#ffff00", "opacity": 0.5, "width": 1,"isAll":false },
|
"interpolation": false, //setInterpolationOptions插值
|
"shadow": [{ "show": true, "type": "wall" }]
|
};
|
flyLine = new mars3d.FlyLine(viewer, flydata);
|
flyLine.start();</code></pre></section></section><section><h3 id="measureTool-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>id</b></code></td><td><code>String</code></td><td><code>0</code></td><td>标识路线唯一值,无特殊意义</td></tr><tr><td><code><b>name</b></code></td><td><code>String</code></td><td><code></code></td><td>路线名称,无特殊意义</td></tr><tr><td><code><b>points</b></code></td><td><code>[[x, y, z],[x, y, z]…]</code></td><td><code></code></td><td>路线坐标数组,按坐标路线进行漫游</td></tr><tr><td><code><b>speed</b></code></td><td><code>Number/Array</code></td><td><code></code></td><td>飞行速度 ,km/h</td></tr><tr><td><code><b>camera</b></code></td><td><code>Object</code></td><td><code>{ "type": "gs", "followedX": 50, "followedZ": 10 }</code></td><td>对漫游时空中飞行时的相机视角进行设置,可以设置跟随视角、锁定第一视角等效果</td></tr><tr><td><code><b>shadow</b></code></td><td><code>[Object]</code></td><td><code></code></td><td>对一些辅助的漫游效果的额外entity对象的控制配置,如空中飞行时的对地投影显示效果进行配置,支持墙和圆锥</td></tr><tr><td><code><b>interpolation</b></code></td><td><code>boolean</code></td><td><code>false</code></td><td>是否对路线进行setInterpolationOptions插值</td></tr><tr><td><code><b>interpolationDegree</b></code></td><td><code>Number</code></td><td><code>2</code></td><td>对路线进行插值时的interpolationDegree参数设置</td></tr><tr><td><code><b>clockRange</b></code></td><td><code>Cesium.ClockRange</code></td><td><code>Cesium.ClockRange.UNBOUNDED</code></td><td>赋值给viewer.clock.clockRange ,控制播放结束后的行为。如:<br><pre><code class="javascript">Cesium.ClockRange.CLAMPED, // 到达终点后停止
|
Cesium.ClockRange.LOOP_STOP, //到达终止时间后 循环从头播放 </code></pre></td></tr><tr><td><code><b>clockLoop</b></code></td><td><code>boolean</code></td><td><code>false</code></td><td>是否结束后继续循环漫游路线,等价于clockRange:Cesium.ClockRange.LOOP_STOP</td></tr><tr><td><code><b>autoStop</b></code></td><td><code>boolean</code></td><td><code>false</code></td><td>到达结束时间后,是否自动stop ,仅限在clockRange:Cesium.ClockRange.UNBOUNDED</td></tr><tr><td><code><b>showGroundHeight</b></code></td><td><code>boolean</code></td><td><code>false</code></td><td>是否在label中显示离地高度</td></tr><tr><td><code><b>model</b></code></td><td><code>Object</code></td><td><code>{ "show": false, "scale": 1, "minimumPixelSize": 50 }</code></td><td>对漫游时显示的gltf模型进行配置,支持Draw中的所有可配置属性</td></tr><tr><td><code><b>label</b></code></td><td><code>Object</code></td><td><code>{ "show": false, "color": "#ffffff", "font_family": "楷体", "font_size": 20 }</code></td><td>对漫游时显示的文字注记进行配置,支持Draw中的所有可配置属性</td></tr><tr><td><code><b>path</b></code></td><td><code>Object</code></td><td><code>{ "show": false, "lineType": "solid", "color": "#3388ff", "opacity": 0.5, "width": 1 }</code></td><td>对漫游时显示的轨迹路线进行配置,支持Draw中的所有可配置属性</td></tr><tr><td><code><b>pauseTime</b></code></td><td><code>Number/function</code></td><td><code></code></td><td>在漫游到各点时暂停的时间(单位:秒)</td></tr><tr><td><code><b>onStep</b></code></td><td><code>function</code></td><td><code></code></td><td>播放到每一个坐标时的回调方法<pre><code class="javascript">"onStep": function (currIndex, allCount) {
|
console.log('已漫游过点:' + currIndex);
|
}</code></pre></td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性名</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>popup</b></code></td><td><code></code></td><td>设置或获取漫游的模型关联的popup弹窗配置</td></tr><tr><td><code><b>info</b></code></td><td><code>objcet 只读</code></td><td>获取实时的漫游点信息,包含:已飞行时间time,已飞行距离len,所在坐标x、y、z</td></tr><tr><td><code><b>position</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> 只读</code></td><td>当前实时坐标位置</td></tr><tr><td><code><b>hdr</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/HeadingPitchRoll.html?classFilter=HeadingPitchRoll">HeadingPitchRoll</a></nobr></code></td><td>获取当前实时hdr方向信息</td></tr><tr><td><code><b>orientation</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Quaternion.html?classFilter=Quaternion">Quaternion</a></nobr></code></td><td>获取当前实时orientation方向信息</td></tr><tr><td><code><b>matrix</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Quaternion.html?classFilter=Matrix4">Matrix4</a></nobr></code></td><td>获取当前实时矩阵信息</td></tr></tbody></table></section></section><section><h3 id="marker-method">方法</h3><section><div class="section-comments">包括模块释放时相关方法。</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="marker-getData"><td><code><b>start</b>(<nobr>function</nobr> <i>onEnd</i> )</code></td><td><code>void</code></td><td><p>开始漫游</p></td></tr><tr id="marker-getData"><td><code><b>pause</b>()</code></td><td><code>void</code></td><td><p>暂停漫游</p></td></tr><tr id="marker-getData"><td><code><b>proceed</b>()</code></td><td><code>void</code></td><td><p>继续漫游</p></td></tr><tr id="marker-getData"><td><code><b>stop</b>()</code></td><td><code>void</code></td><td><p>停止漫游</p></td></tr><tr id="marker-getData"><td><code><b>centerAt</b>(<nobr>Object</nobr> <i>opts?</i>)</code></td><td><code>void</code></td><td><p>相机视角定位至 路线全视角的 矩形范围内</p></td></tr><tr id="marker-getData"><td><code><b>flyTo</b>(<nobr>Object</nobr> <i>opts?</i>)</code></td><td><code>void</code></td><td><p>相机视角定位至移动的目标点当前位置</p></td></tr><tr id="marker-getData"><td><code><b>clampToGround</b>(<nobr>function</nobr> <i>onEnd</i>,<nobr>Object</nobr> <i>opts?</i> )</code></td><td><code>void</code></td><td><p>贴地漫游时,计算并生成贴地路线</p><p>opts控制参数:has3dtiles是否贴模型,splitNum插值次数</p><pre><code class="javascript">//贴地时,异步计算完成后开始
|
flyLine.clampToGround(function () {//异步计算完成贴地后再启动
|
flyLine.start();
|
|
}, { has3dtiles: true }); //has3dtiles为true时贴模型表面</code></pre></td></tr><tr id="marker-getData"><td><code><b>updateStyle</b>(<nobr>FlyLine Options</nobr> <i>params</i>)</code></td><td><code>void</code></td><td><p>更新参数,支持Options所有值</p></td></tr><tr id="marker-getData"><td><code><b>updateAngle</b>( <nobr>boolean</nobr> <i>isAuto</i>, <nobr>object</nobr> <i>opts</i>)</code></td><td><code>void</code></td><td><p>更新角度(opts支持heading, pitch, roll),isAuto时基于移动位置自动计算方位</p></td></tr><tr id="marker-getData"><td><code><b>toGeoJSON</b>()</code></td><td><code>Object</code></td><td><p>生成json格式规范的路线数据,与传入Flyline时的options是一致的。</p></td></tr><tr id="marker-getData"><td><code><b>toCZML</b>()</code></td><td><code>Object</code></td><td><p>生成CZML格式规范的路线数据。</p></td></tr><tr id="marker-getData"><td><code><b>destroy</b>()</code></td><td><code>void</code></td><td><p>释放所有资源</p></td></tr></tbody></table></section></section><h2 id="FogEffect">场景雾效果</h2><p>mars3d.scene.FogEffect是实体类,提供场景雾效果。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript">var fogEffect = new mars3d.scene.FogEffect(viewer, {
|
color: new Cesium.Color(0.8, 0.8, 0.8, 0.5)
|
});</code></pre></section></section><section><h3 id="FloodByTerrain-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>show</b></code></td><td><code>boolean</code></td><td><code>true</code></td><td>是否开启效果</td></tr><tr><td><code><b>fogByDistance</b></code></td><td><code>Cesium.Cartesian4</code></td><td><code>new Cesium.Cartesian4(10, 0.0, 1000, 0.9)</code></td><td>雾强度</td></tr><tr><td><code><b>color</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Color.html?classFilter=Color">Color</a></nobr></code></td><td><code>new Cesium.Color(0.8,0.8,0.8,0.5)</code></td><td>颜色</td></tr><tr><td><code><b>maxHeight</b></code></td><td><code>Number</code></td><td><code>9000</code></td><td>大于此高度时不显示效果</td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性名</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>show</b></code></td><td><code>boolean</code></td><td>是否开启效果</td></tr><tr><td><code><b>fogByDistance</b></code></td><td><code>Cesium.Cartesian4</code></td><td>雾强度</td></tr><tr><td><code><b>color</b></code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Color.html?classFilter=Color">Color</a></nobr></code></td><td>颜色</td></tr></tbody></table></section></section><section><h3 id="marker-method">方法</h3><section><div class="section-comments">包括模块释放时相关方法。</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="marker-getData"><td><code><b>destroy</b>()</code></td><td><code>void</code></td><td><p>释放销毁对象</p></td></tr></tbody></table></section></section><h2 id="InvertedScene">倒影效果</h2><p>mars3d.scene.InvertedScene是实体类,提供倒影效果。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript">var inverted = new mars3d.scene.InvertedScene(viewer);</code></pre></section></section><section><h3 id="FloodByTerrain-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>show</b></code></td><td><code>boolean</code></td><td><code>true</code></td><td>是否开启效果</td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性名</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>show</b></code></td><td><code>boolean</code></td><td>是否开启效果</td></tr></tbody></table></section></section><section><h3 id="marker-method">方法</h3><section><div class="section-comments">包括模块释放时相关方法。</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="marker-getData"><td><code><b>destroy</b>()</code></td><td><code>void</code></td><td><p>释放销毁对象</p></td></tr></tbody></table></section></section><h2 id="SnowCover">雪覆盖效果</h2><p>mars3d.scene.SnowCover是实体类,提供雪覆盖效果。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript"> var snowCover = new mars3d.scene.SnowCover(viewer,{
|
alpha:0.5
|
});</code></pre></section></section><section><h3 id="FloodByTerrain-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>show</b></code></td><td><code>boolean</code></td><td><code>true</code></td><td>是否开启效果</td></tr><tr><td><code><b>alpha</b></code></td><td><code>Number</code></td><td><code>1.0</code></td><td>雪覆盖强度</td></tr></tbody></table></section></section><section><h3 id="mars3dmap-method">属性</h3><section><table><thead><tr><th>属性名</th><th>类型</th><th>说明</th></tr></thead><tbody><tr><td><code><b>show</b></code></td><td><code>boolean</code></td><td>是否开启效果</td></tr><tr><td><code><b>alpha</b></code></td><td><code>Number</code></td><td>雪覆盖强度</td></tr></tbody></table></section></section><section><h3 id="marker-method">方法</h3><section><div class="section-comments">包括模块释放时相关方法。</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="marker-getData"><td><code><b>destroy</b>()</code></td><td><code>void</code></td><td><p>释放销毁对象</p></td></tr></tbody></table></section></section><h2 id="ZoomNavigation">地图放大缩小控制</h2><p>mars3d.ZoomNavigation是实体类,提供地图放大或缩小的控制。</p><section><h3 id="ZoomNavigation-example">使用示例</h3><section><pre><code class="javascript">//放大
|
var zoomIn = new mars3d.ZoomNavigation(viewer, true);
|
$("#btn-zommIn").click(function () {
|
zoomIn.activate();
|
});
|
|
//缩小
|
var zoomOut = new mars3d.ZoomNavigation(viewer, false);
|
$("#btn-ZoomOut").click(function () {
|
zoomOut.activate();
|
}); </code></pre></section></section><section><h3 id="marker-method">方法</h3><section><div class="section-comments">包括模块释放时相关方法。</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="marker-getData"><td><code><b>activate</b>()</code></td><td><code>void</code></td><td><p>放大或缩小地图</p></td></tr></tbody></table></section></section><h2 id="mars3d-latlng">point坐标处理类</h2><p>mars3d.point 该类是静态类。坐标转换处理类。</p><section><h3 id="mars3dmap-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>formatNum</b>( <nobr>Number</nobr> <i>num</i>,<nobr>Int</nobr> <i>digits</i>)</code></td><td><code><nobr>Number</nobr></code></td><td><p>格式化数字,返回指定digits长度的小数位数,比如经纬度通常6位小数</p></td></tr><tr><td><code><b>formatPositon</b>( <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> <i>position</i>)</code></td><td><code><nobr>Object</nobr></code></td><td><p>格式化坐标点为可显示的可理解格式,返回值示例:{ "x": 117.222228,"y": 31.787488, "z": 224 }。</p></td></tr><tr><td><code><b>getPositionValue</b>( <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> <i>position</i>)</code></td><td><code><nobr>Cartesian3</nobr></code></td><td><p>获取position的最终value值,因为cesium经常属性或绑定一层,通过该方法可以内部去判断是否有getValue或_value进行取最终value值。</p></td></tr><tr><td><code><b>formatRectangle</b>( <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Rectangle.html?classFilter=Rectangle">Rectangle</a></nobr> <i>position</i>)</code></td><td><code><nobr>Object</nobr></code></td><td><p>格式化Rectangle为可显示的可理解格式,返回值示例:{ "xmin": 115.123456,"xmax": 119.222228,"ymin": 30.123456,"ymax": 33.787488}。</p></td></tr><tr><td><code><b>getMaxHeight</b>( <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr> <i>positions</i>, <nobr>Number</nobr> <i>defaultVal?</i>)</code></td><td><code><nobr>Number</nobr></code></td><td><p>获取坐标数组中最高高程值,defaultVal为默认高度值,没有传入时为0。</p></td></tr><tr><td><code><b>addPositionsHeight</b>( <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr> <i>positions</i>, <nobr>Number</nobr> <i>addHeight</i>)</code></td><td><code><nobr>Cartesian3 []</nobr></code></td><td><p>在坐标基础海拔上增加指定的addHeight海拔高度值</p></td></tr><tr><td><code><b>setPositionsHeight</b>( <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3 []</a></nobr> <i>positions</i>, <nobr>Number</nobr> <i>height</i>)</code></td><td><code><nobr>Cartesian3 []</nobr></code></td><td><p>设置坐标中海拔高度为指定的height高度值</p></td></tr><tr><td><code><b>getSurfaceHeight</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Scene.html">Scene</a></nobr> <i>scene</i>, <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> <i>position</i>, <nobr>Object</nobr> <i>opts</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian2.html?classFilter=Cartesian3">Cartesian3</a></nobr></code></td><td><p>获取坐标的贴地(或贴模型)高度</p>opts支持: 是否在has3dtiles:true , 是否异步 asyn:true 异步回调方法calback<p></p><pre><code>//点贴地或贴模型(异步)
|
var position = entity.position.getValue();
|
position = mars3d.point.getSurfaceHeight(viewer.scene, position, {
|
asyn: true, //是否异步求准确高度
|
has3dtiles: true, //是否先求贴模型上(无模型时改为false,提高效率)
|
calback: function (newHeight, cartOld) {
|
console.log("原始高度为:" + cartOld.height.toFixed(2) + ",贴地高度:" + newHeight.toFixed(2))
|
var positionNew = Cesium.Cartesian3.fromRadians(cartOld.longitude, cartOld.latitude, newHeight);
|
entity.position.setValue(positionNew)
|
}
|
}); </code></pre></td></tr><tr><td><code><b>getSurface3DTilesHeight</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Scene.html">Scene</a></nobr> <i>scene</i>, <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> <i>position</i>, <nobr>Object</nobr> <i>opts</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian2.html?classFilter=Cartesian3">Cartesian3</a></nobr></code></td><td><p>获取坐标的贴地高度 ,与getSurfaceHeight的has3dtiles:true相同</p>opts支持: 是否异步 asyn:true 异步回调方法calback<p></p></td></tr><tr><td><code><b>getSurfaceTerrainHeight</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Scene.html">Scene</a></nobr> <i>scene</i>, <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> <i>position</i>, <nobr>Object</nobr> <i>opts</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian2.html?classFilter=Cartesian3">Cartesian3</a></nobr></code></td><td><p>获取坐标的贴模型高度 ,与getSurfaceHeight的has3dtiles:true相同</p>opts支持: 是否异步 asyn:true 异步回调方法calback<p></p><pre><code>//求地面海拔 (异步)
|
mars3d.point.getSurfaceTerrainHeight(viewer.scene, position, {
|
asyn: true, //是否异步求准确高度
|
calback: function (newHeight, cartOld) {
|
if (newHeight == null) return;
|
console.log("地面海拔:" + newHeight.toFixed(2))
|
|
}
|
});</code></pre></td></tr><tr><td><code><b>setPositionSurfaceHeight</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Scene.html">Scene</a></nobr> <i>scene</i>, <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> <i>position</i>, <nobr>Object</nobr> <i>opts</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian2.html?classFilter=Cartesian3">Cartesian3</a></nobr></code></td><td><p>设置坐标中海拔高度为贴地或贴模型的高度,(同步时需要数据在视域内),内部逻辑是先getSurfaceHeight求高度后更新position的</p>opts支持: 是否异步 asyn:true 异步回调方法calback<p></p></td></tr><tr><td><code><b>getCurrentMousePosition</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Scene.html?classFilter=Scene">Scene</a></nobr> <i>scene</i>, <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian2.html?classFilter=Cartesian2">Cartesian2</a></nobr> <i>position</i>, <nobr>Entity</nobr> <i>noPickEntity?</i> )</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr></code></td><td><p>获取鼠标当前位置,返回Cartesian3类型的笛卡尔坐标(可拾取模型,地形高度),常用于ScreenSpaceEventType事件处理中,noPickEntity为可选参数,表示不在noPickEntity表面拾取</p><pre><code>var handler = new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas)
|
handler.setInputAction(event => {
|
var point = mars3d.point.getCurrentMousePosition(viewer.scene, event.position);
|
|
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
|
</code></pre></td></tr><tr><td><code><b>getCenter</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Viewer.html">Viewer</a></nobr> <i>viewer</i>, <nobr>Boolean</nobr> <i>isToWgs?</i>)</code></td><td><code><nobr>Object</nobr></code></td><td><p>提取屏幕中心点坐标,返回值示例:{ "y": 31.787488, "x": 117.222228, "z": 229 }。</p><p>当地球是高德等gcj坐标时,isToWgs设置是否转换为wgs84坐标</p></td></tr><tr><td><code><b>pickCenterPoint</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Scene.html">Scene</a></nobr> <i>scene</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr></code></td><td><p>提取屏幕中心点坐标,返回Cartesian3值</p></td></tr><tr><td><code><b>getExtent</b>(<nobr>Viewer/Entity</nobr> <i>target </i>, <nobr>Object</nobr> <i>opts?</i>)</code></td><td><code><nobr>Object</nobr></code></td><td><p>获取当前地球或Entity的视域边界{xmin: 113.23422, xmax: 125.23452, ymin: 30.23436, ymax: 33.234252}。</p><p>支持opts:{scale:缩放比例}</p></td></tr><tr><td><code><b>getCameraView</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Viewer.html">Viewer</a></nobr> <i>viewer</i>, <nobr>Boolean</nobr> <i>isToWgs?</i>)</code></td><td><code><nobr>Object</nobr></code></td><td><p>获取当前相机视角范围参数坐标值,返回值示例:{ "y": 31.787488, "x": 117.222228, "z": 224, "heading": 56, "pitch": -29, "roll": 45 }。</p><p>当地球是高德等gcj坐标时,isToWgs设置是否转换为wgs84坐标</p></td></tr><tr><td><code><b>centerOfMass</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html">Cartesian3[]</a></nobr> <i>positions</i>, <nobr>Number</nobr> <i>height</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html">Cartesian3</a></nobr></code></td><td><p>求面的中心点,基于Turf</p></td></tr><tr><td><code><b>isInPoly</b>(<nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html">Cartesian3</a></nobr> <i>position</i>, <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Entity.html">Entity</a></nobr> <i>entity</i>)</code></td><td><code>boolean</code></td><td><p>点是否在Entity内(面、圆、矩形)</p></td></tr></tbody></table></section></section><section><h3 id="map-example">使用示例 getCurrentMousePosition</h3><section><pre><code>var handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
|
handler.setInputAction(function (movement) {
|
//通过鼠标当前的二维屏幕坐标获取椭球笛卡尔坐标
|
var cartesian = mars3d.point.getCurrentMousePosition(scene, movement.position);
|
if (cartesian) {
|
//将笛卡尔坐标转为地理坐标
|
var cartographic = scene.globe.ellipsoid.cartesianToCartographic(cartesian);
|
var longitudeString = Cesium.Math.toDegrees(cartographic.longitude);
|
var latitudeString = Cesium.Math.toDegrees(cartographic.latitude);
|
var height = Math.ceil(cartographic.height);
|
//输出地理坐标值
|
console.log("经度:" + longitudeString + "纬度:" + latitudeString + "高度:" + height);
|
}
|
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
|
</code></pre></section><section><h3 id="mars3dpoint-method">类</h3><section><table><thead><tr><th>类名</th><th>说明</th><th>方法</th></tr></thead><tbody><tr><td><code><b>windingPoint</b></code></td><td><p>绕点 环绕飞行</p></td><td>mars3d.point.windingPoint.start(viewer,point);//开始飞行<br>mars3d.point.windingPoint.stop();//停止飞行</td></tr><tr><td><code><b>aroundPoint</b></code></td><td><p>固定点 向四周旋转</p></td><td>mars3d.point.aroundPoint.start(viewer,point?);//开始飞行 ,point未传入时默认当前点<br>mars3d.point.aroundPoint.stop();//停止飞行</td></tr></tbody></table></section></section></section><h2 id="mars3d-polyline">polyline线相关处理类</h2><p>mars3d.polyline该类是静态类。线相关的处理类。</p><section><h3 id="mars3dmap-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>interPolyline</b>(<nobr>Object</nobr> <i>params</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr>[]</code></td><td><p>对线进行插值</p><pre><code class="javascript">var arrLine = mars3d.polyline.interPolyline({
|
scene: viewer.scene,
|
positions: positions,//原始路线坐标
|
splitNum: 100, // 插值分割的个数
|
}); </code></pre></td></tr><tr><td><code><b>computeSurfaceLine</b>(<nobr>Object</nobr> <i>params</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr>[]</code></td><td><p>计算贴地路线</p><pre><code class="javascript">mars3d.polyline.computeSurfaceLine({
|
viewer: viewer,
|
positions: positions,//需要计算的源路线坐标数组
|
splitNum: 100, // 插值分割的个数
|
calback: function (raisedPositions, noHeight) {
|
//raisedPositions为含高程信息的新坐标数组,noHeight为标识是否存在无地形数据。
|
|
}
|
});
|
</code></pre></td></tr><tr><td><code><b>computeSurfacePoints</b>(<nobr>Object</nobr> <i>params</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr>[]</code></td><td><p>求多个点的的贴地新坐标(不插值)</p><pre><code class="javascript">mars3d.polyline.computeSurfacePoints({
|
viewer: viewer,
|
positions: positions,//需要计算的源路线坐标数组
|
calback: function (raisedPositions, noHeight) {
|
//raisedPositions为含高程信息的新坐标数组,noHeight为标识是否存在无地形数据。
|
|
}
|
});
|
</code></pre></td></tr><tr><td><code><b>computeStepSurfaceLine</b>(<nobr>Object</nobr> <i>params</i>)</code></td><td>void</td><td><p>按2个坐标点分段计算 求路线的贴地线</p><pre><code class="javascript">mars3d.polyline.computeStepSurfaceLine({
|
viewer: viewer,
|
positions: positions,
|
has3dtiles: false, //是否只在3dtiles模型上计算
|
splitNum: 10, //插值次数
|
//计算每个分段后的回调方法
|
calbakStep: function (raisedPositions, noHeight, index) {
|
|
},
|
//计算全部完成的回调方法
|
calbakEnd: function () {
|
|
}
|
});</code></pre></td></tr><tr><td><code><b>getLinkedPointList</b>(<nobr> <a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> <i>startPoint</i>,<nobr> <a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> <i>endPoint</i>,<nobr>Number</nobr> <i>angularityFactor</i>,<nobr>Number</nobr> <i>numOfSingleLine</i>)</code></td><td>void</td><td><p>计算曲线链路的点集(a点到b点的,空中曲线)</p><p>startPoint 开始节点,endPoint 结束节点, angularityFactor 曲率,numOfSingleLine 点集数量</p><pre><code class="javascript">var startPoint = Cesium.Cartesian3.fromDegrees(117.169804, 31.842798, 211.9);
|
var endPoint = Cesium.Cartesian3.fromDegrees(117.327325, 31.869438, 31.8);
|
var positions = mars3d.polyline.getLinkedPointList(startPoint, endPoint, 20000, 50);//计算曲线点
|
</code></pre></td></tr></tbody></table></section></section><h2 id="mars3d-polygon">polygon面相关处理类</h2><p>mars3d.polygon该类是静态类。面相关的处理类。</p><section><h3 id="mars3dmap-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>interPolygon</b>(<nobr>Object</nobr> <i>params</i>)</code></td><td><code><nobr>Object</nobr></code></td><td><p>面内进行贴地(或贴模型)插值, 返回三角网等计算结果</p><pre><code class="javascript">var resultInter = mars3d.polygon.interPolygon({
|
scene: viewer.scene,
|
positions: positions, //原始面边界坐标
|
splitNum: 9, //splitNum 插值分割的格数
|
}); </code></pre></td></tr><tr><td><code><b>getHeightRange</b>( <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3[]</a></nobr> <i>positions</i>,<nobr> <a href="http://mars3d.cn/forcesium/Build/Documentation/Scene.html?classFilter=Scene">Scene</a></nobr> <i>scene</i>)</code></td><td><code><nobr>Object</nobr></code></td><td><p>计算面内最大、最小高度值。</p></td></tr><tr><td><code><b>computeVolume</b>(<nobr>Object</nobr> <i>params</i>)</code></td><td><code><nobr>Object</nobr></code></td><td><p>计算 体积(挖方方量) ,返回单位是立方米</p><pre><code class="javascript">var resultInter = mars3d.polygon.computeVolume({
|
scene: viewer.scene,
|
positions: positions, //原始面边界坐标
|
splitNum: 9, //splitNum 插值分割的格数
|
});
|
var volume = resultInter.totalVolume //总体积
|
</code></pre></td></tr><tr><td><code><b>updateVolumeByMinHeight</b>(<nobr>Object</nobr> <i>resultInter</i>)</code></td><td><code><nobr>Object</nobr></code></td><td><p>根据minHeight最低底面高度, 重新计算填挖方体积</p><p>resultInter为computeVolume初始计算完成的结果对象</p></td></tr><tr><td><code><b>updateVolume</b>(<nobr>Object</nobr> <i>resultInter</i>,<nobr>Number</nobr> <i>cutHeight</i>)</code></td><td><code><nobr>Object</nobr></code></td><td><p>根据cutHeight基准面高度, 重新计算填挖方体积</p><p>resultInter为computeVolume初始计算完成的结果对象</p></td></tr><tr><td><code><b>getEllipseOuterPositions</b>(<nobr>Object</nobr> <i>opts</i>)</code></td><td><code><nobr>[position]</nobr></code></td><td><p>获取圆(或椭圆)边线上的坐标点数组</p><pre><code class="javascript">var outerPositions = mars3d.polygon.getEllipseOuterPositions({
|
position: position, //圆中心点
|
semiMajorAxis: semiMajorAxis, //长半轴
|
semiMinorAxis: semiMajorAxis, //短半轴
|
rotation:0, //旋转的方向
|
count: 90 //共返回360(count*4)个点
|
}); </code></pre></td></tr></tbody></table></section></section><h2 id="pointconvert">pointconvert 坐标转换</h2><p>mars3d.pointconvert 该类是静态类,提供Cesium内部不同坐标系之间的坐标转换算法。<br>也提供百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、WGS84坐标系、Web墨卡托 等坐标之间的转换算法,所有方法的“传入参数”和“返回结果”均是数组:[经度,纬度]</p><section><h3 id="pointconvert-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>cartesian2lonlat</b>(<nobr><<a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian">Cartesian3</a>></nobr> <i>position</i>)</code></td><td><code>Array</code></td><td><p>将 笛卡尔空间坐标 转换为 经纬度值,主要用于转geojson(返回数组:[longitude,latitude,height])</p></td></tr><tr><td><code><b>cartesians2lonlats</b>([<nobr><<a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian">Cartesian3</a>></nobr> <i>positions]</i>)</code></td><td><code>Array Array</code></td><td><p>【数组】将 笛卡尔空间坐标数组 转换为 经纬度值数组,主要用于转geojson(返回数组:[[longitude,latitude,height],...,[longitude,latitude,height]])</p></td></tr><tr><td><code><b>cartesian2mercator</b>(<nobr><<a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian">Cartesian3</a>></nobr> <i>position</i>)</code></td><td><code>Array</code></td><td><p>cesium笛卡尔空间坐标 转 web mercator投影坐标(返回数组:[x,y,z])</p></td></tr><tr><td><code><b>cartesians2mercators</b>([<nobr><<a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian">Cartesian3</a>></nobr> <i>positions]</i>)</code></td><td><code>Array Array</code></td><td><p>【数组】cesium笛卡尔空间坐标 转 web mercator投影坐标(返回数组:[[x,y,z],...,[x,y,z]])</p></td></tr><tr><td><code><b>lonlat2cartesian</b>(<nobr>Array</nobr> <i>[longitude,latitude,height]</i>)</code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian">Cartesian3</a></code></td><td><p>将 GeoJSON中的geometry格式的坐标 转换为 笛卡尔空间坐标</p></td></tr><tr><td><code><b>lonlats2cartesians</b>(<nobr>Array Array</nobr> <i>coordinates</i>)</code></td><td><code>[<a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian">Cartesian3</a>]</code></td><td><p>【数组】将 GeoJSON中的geometry格式的坐标数组 转换为 笛卡尔空间坐标数组</p></td></tr><tr><td><code><b>lonlat2mercator</b>(<nobr>Array</nobr> <i>[longitude,latitude,height]</i>)</code></td><td><code>Array</code></td><td><p>地理坐标 转 投影坐标</p></td></tr><tr><td><code><b>lonlats2mercators</b>(<nobr>Array Array</nobr> <i>coordinates</i>)</code></td><td><code>Array Array</code></td><td><p>【数组】地理坐标 转 投影坐标数组</p></td></tr><tr><td><code><b>mercator2cartesian</b>(<nobr>Array</nobr> <i>[longitude,latitude,height]</i>)</code></td><td><code><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian">Cartesian3</a></code></td><td><p>将 投影坐标 转 cesium笛卡尔空间坐标</p></td></tr><tr><td><code><b>mercators2cartesians</b>(<nobr>Array Array</nobr> <i>coordinates</i>)</code></td><td><code>[<a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian">Cartesian3</a>]</code></td><td><p>【数组】将 投影坐标数组 转 cesium笛卡尔空间坐标数组</p></td></tr><tr><td><code><b>mercator2lonlat</b>(<nobr>Array</nobr> <i>[x,y,z]</i>)</code></td><td><code>Array</code></td><td><p>投影坐标 转 地理坐标</p></td></tr><tr><td><code><b>mercators2lonlats</b>(<nobr>Array Array</nobr> <i>coordinates</i>)</code></td><td><code>Array Array</code></td><td><p>【数组】投影坐标数组 转 地理坐标数组</p></td></tr><tr><td><code><b>wgs2gcj</b>([<nobr>Number</nobr> <i>longitude</i>,<nobr>Number</nobr> <i>latitude</i>])</code></td><td><code>[longitude,latitude]</code></td><td><p>加偏:标准WGS84坐标 转 国测局偏移坐标</p></td></tr><tr><td><code><b>gcj2wgs</b>([<nobr>Number</nobr> <i>longitude</i>,<nobr>Number</nobr> <i>latitude</i>])</code></td><td><code>[longitude,latitude]</code></td><td><p>纠偏:国测局偏移坐标 转 标准WGS84坐标</p></td></tr><tr><td><code><b>gcj2bd</b>([<nobr>Number</nobr> <i>longitude</i>,<nobr>Number</nobr> <i>latitude</i>])</code></td><td><code>[longitude,latitude]</code></td><td><p>国测局偏移坐标 转 百度经纬度坐标</p></td></tr><tr><td><code><b>bd2gcj</b>([<nobr>Number</nobr> <i>longitude</i>,<nobr>Number</nobr> <i>latitude</i>])</code></td><td><code>[longitude,latitude]</code></td><td><p>百度经纬度坐标 转 国测局偏移坐标</p></td></tr><tr><td><code><b>wgs2bd</b>([<nobr>Number</nobr> <i>longitude</i>,<nobr>Number</nobr> <i>latitude</i>])</code></td><td><code>[longitude,latitude]</code></td><td><p>标准WGS84坐标 转 百度经纬度坐标</p></td></tr><tr><td><code><b>bd2wgs</b>([<nobr>Number</nobr> <i>longitude</i>,<nobr>Number</nobr> <i>latitude</i>])</code></td><td><code>[longitude,latitude]</code></td><td><p>百度经纬度坐标 转 标准WGS84坐标</p></td></tr><tr><td><code><b>jwd2mct</b>([<nobr>Number</nobr> <i>longitude</i>,<nobr>Number</nobr> <i>latitude</i>])</code></td><td><code>[longitude,latitude]</code></td><td><p>经纬度坐标 转为 Web墨卡托坐标</p></td></tr><tr><td><code><b>mct2jwd</b>([<nobr>Number</nobr> <i>longitude</i>,<nobr>Number</nobr> <i>latitude</i>])</code></td><td><code>[longitude,latitude]</code></td><td><p>Web墨卡托坐标 转为 经纬度坐标</p></td></tr></tbody></table></section></section><h2 id="mars3d-matrix">matrix矩阵计算类</h2><p>mars3d.matrix 该类是静态类。矩阵换算转换处理类。</p><section><h3 id="mars3dmap-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>getHeadingPitchRollByOrientation</b>( <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> <i>position</i>, <nobr>VelocityOrientationProperty</nobr> <i>orientation</i>, <nobr>Ellipsoid</nobr> <i>ellipsoid?</i>, <nobr>Transforms function</nobr> <i>fixedFrameTransform?</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/HeadingPitchRoll.html?classFilter=HeadingPitchRoll">HeadingPitchRoll</a></nobr></code></td><td><p>根据位置和当前Orientation求HeadingPitchRoll方向,用于模型反求其方向值</p></td></tr><tr><td><code><b>getHeadingPitchRollByMatrix</b>( <nobr>Matrix4</nobr> <i>matrix</i>, <nobr>Ellipsoid</nobr> <i>ellipsoid?</i>, <nobr>Transforms function</nobr> <i>fixedFrameTransform?</i>, <nobr>HeadingPitchRoll</nobr> <i>result?</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/HeadingPitchRoll.html?classFilter=HeadingPitchRoll">HeadingPitchRoll</a></nobr></code></td><td><p>根据位置和矩阵求HeadingPitchRoll方向</p></td></tr><tr><td><code><b>getHeadingPitchRollForLine</b>( <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> <i>localStart</i>, <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> <i>localEnd</i>, <nobr>Ellipsoid</nobr> <i>ellipsoid?</i>, <nobr>Transforms function</nobr> <i>fixedFrameTransform?</i>)</code></td><td><code><nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/HeadingPitchRoll.html?classFilter=HeadingPitchRoll">HeadingPitchRoll</a></nobr></code></td><td><p>求localStart点到localEnd点的方向</p></td></tr><tr><td><code><b>getRotateCenterPoint</b>( <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> <i>center</i>, <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> <i>point</i>, <nobr>Number</nobr> <i>angle</i>)</code></td><td><code><nobr>Cartesian3</nobr></code></td><td><p>获取点point绕点center的地面法向量旋转顺时针angle角度后新坐标</p></td></tr><tr><td><code><b>getOnLinePointByLen</b>( <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> <i>p1</i>, <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> <i>p2</i>, <nobr>Number</nobr> <i>len, addBS</i>,<nobr>boolean</nobr> <i>addBS?</i>)</code></td><td><code><nobr>Cartesian3</nobr></code></td><td><p>求p1指向p2方向线上,距离p1指定len长度的新的点 ,addBS:true时为距离p2</p></td></tr><tr><td><code><b>getPositionTranslation</b>( <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> <i>position</i>, <nobr>Object</nobr> <i>offest</i>, <nobr>Number</nobr> <i>degree?</i>, <nobr>String</nobr> <i>type?</i>, <nobr>Transforms function</nobr> <i>fixedFrameTransform?</i>)</code></td><td><code><nobr>Cartesian3</nobr></code></td><td><p>获取点的offest平移矩阵后点</p><pre><code>var position = Cesium.Cartesian3.fromDegrees(113.158,31.15,100);
|
var newPoint = mars3d.matrix.getPositionTranslation(position, { x: 100, y: 10, z: 0 }, 0, "z");
|
</code></pre></td></tr><tr><td><code><b>getOffsetLine</b>( <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3[]</a></nobr> <i>positions</i>, <nobr>Number</nobr> <i>offest</i>)</code></td><td><code><nobr>Cartesian3 []</nobr></code></td><td><p>计算平行线,offset正负决定方向(单位米)</p></td></tr></tbody></table></section></section><h2 id="mars3d-model">gltf小模型相关</h2><p>mars3d.model 该类是静态类。Gltf小模型相关处理类。</p><section><h3 id="mars3dmap-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>move</b>( <nobr>Entity</nobr> <i>entity</i>, <nobr>Object</nobr> <i>options</i></code></td><td><code><nobr>Cartesian3</nobr></code></td><td><p>移动模型</p><pre><code> mars3d.model.move(entity, {
|
viewer:viewer,
|
position: new Cesium.Cartesian3.fromDegrees(125.134654, 43.826725, 0.26),
|
time: 3,
|
onEnd: function () {
|
|
}
|
});</code></pre></td></tr></tbody></table></section><section><h3 id="mars3dpoint-method">类</h3><section><table><thead><tr><th>类名</th><th>说明</th><th>方法</th></tr></thead><tbody><tr><td><code><b>rotate</b></code></td><td><p>自旋转效果</p></td><td>mars3d.model.rotate.start(entity, { viewer: viewer });//开始<br>mars3d.model.rotate.stop();//停止</td></tr></tbody></table></section></section></section><h2 id="mars3d-tileset">3dtiles模型相关</h2><p>mars3d.tileset 该类是静态类。3dtiles模型相关处理类。</p><section><h3 id="mars3dmap-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>getCenter</b>(<nobr>Cesium3DTileset</nobr> <i>tileset</i>,<nobr>Booean</nobr> <i>transform</i>)</code></td><td><code>Model Entity</code></td><td><p>获取模型的(0,0,0)原点坐标位置</p></td></tr><tr><td><code><b>updateMatrix</b>( <nobr>Cesium3DTileset</nobr> <i>tileset</i>, <nobr>Object</nobr> <i>options</i></code></td><td><code><nobr>Cartesian3</nobr></code></td><td><p>修改模型位置</p><pre><code>var originalCenter = mars3d.tileset.getCenter(tileset);
|
|
originalCenter.z = -originalCenter.z + 10;
|
mars3d.tileset.updateMatrix(tileset, originalCenter);</code></pre></td></tr><tr><td><code><b>pick3DTileset</b>( <nobr>Scene</nobr> <i>scene</i>, <nobr>Cartesian3[]</nobr> <i>positions</i></code></td><td><code><nobr>Cesium3DTileset</nobr></code></td><td><p>拾取positions坐标点处的3dtiles对象,一般用于判断该坐标是否有模型,因为和当前视角有关系,判断不一定精确</p></td></tr></tbody></table></section></section><h2 id="mars3d-measure">measure类</h2><p>mars3d.measure 该类是一些测量量算相关的常用通用静态方法</p><section><h3 id="pointconvert-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>getLength</b>( <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a> []</nobr> <i>positions</i>)</code></td><td><code><nobr>Number</nobr></code></td><td><p>计算长度,单位:米</p></td></tr><tr><td><code><b>getArea</b>( <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a> []</nobr> <i>positions</i>)</code></td><td><code><nobr>Number</nobr></code></td><td><p>计算地表投影平面面积,单位:平方米</p></td></tr><tr><td><code><b>getClampArea</b>( <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a> []</nobr> <i>positions</i>,<nobr> Object</nobr> <i>options</i>)</code></td><td><code><nobr>Number</nobr></code></td><td><p>计算贴地面积,单位:平方米</p><pre><code>mars3d.measure.getClampArea(positions, {
|
scene: viewer.scene,
|
splitNum: 10, //插值次数,
|
asyn: true, //求准确的高度(异步)
|
calback: function (area) {
|
//回调方法,返回面积值
|
}
|
});</code></pre></td></tr><tr><td><code><b>getAreaOfTriangle</b>( <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> <i>position1</i>, <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> <i>position2</i>, <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> <i>position3</i>)</code></td><td><code><nobr>Number</nobr></code></td><td><p>计算三角形空间面积</p></td></tr><tr><td><code><b>getAngle</b>( <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> <i>firstPoint</i>, <nobr><a href="http://mars3d.cn/forcesium/Build/Documentation/Cartesian3.html?classFilter=Cartesian3">Cartesian3</a></nobr> <i>endPoints</i>)</code></td><td><code><nobr>Number</nobr></code></td><td><p>求地表方位角,返回:0-360度</p></td></tr><tr><td><code><b>getSlope</b>( <nobr>Object</nobr> <i>options</i>)</code></td><td><code><nobr>Number</nobr></code></td><td><p>求地面点的坡度坡向值,是对Slope类的简化调用</p><pre><code>mars3d.measure.getSlope({
|
positions:positions, //需要分析的点位数组
|
viewer: viewer,
|
calbak: function (arr) {//返回的计算值,按传入的数组顺序
|
|
}
|
});</code></pre></td></tr></tbody></table></section></section><h2 id="mars3d-util">util类</h2><p>mars3d.util 该类是一些常用通用静态方法</p><section><h3 id="pointconvert-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>webglreport</b>()</code></td><td><code>Boolean</code></td><td><p>检测浏览器是否支持webgl</p></td></tr><tr><td><code><b>formatDegree</b>(<nobr>Number</nobr> <i>value</i>)</code></td><td><code><nobr>String</nobr></code></td><td><p>格式化经度/纬度,返回度分秒字符串</p></td></tr><tr><td><code><b>formatLength</b>( <nobr>Number</nobr> <i>val</i>, <nobr>String</nobr> <i>unit?</i>)</code></td><td><code><nobr>String</nobr></code></td><td><p>计算长度后格式化显示长度值, 可指定单位。unit支持:m、km、mile、zhang 默认自动判断km或m</p></td></tr><tr><td><code><b>formatArea</b>( <nobr>Number</nobr> <i>val</i>, <nobr>String</nobr> <i>unit?</i>)</code></td><td><code><nobr>String</nobr></code></td><td><p>计算面积后,格式化显示面积值, 可指定单位 unit支持:m、km、mu、ha 默认自动判断 m 或 km</p></td></tr><tr><td><code><b>buffer</b>( <nobr>GeoJSON Object</nobr> <i>geojson</i>, <nobr>Number</nobr> <i>width</i>)</code></td><td><code><nobr>GeoJSON Object</nobr></code></td><td><p>缓冲分析,求GeoJSON对象缓冲width米后的面</p></td></tr><tr><td><code><b>getAttrVal</b>( <nobr>Object</nobr> <i>attr</i>)</code></td><td><code><nobr>Object</nobr></code></td><td><p>简化Cesium内的属性,去掉getValue等,取最简的键值对。方便popup、tooltip等使用</p></td></tr><tr><td><code><b>getPopupForConfig</b>( <nobr>Object</nobr> <i>config</i>, <nobr>Object</nobr> <i>attr</i>)</code></td><td><code><nobr>Html String</nobr></code></td><td><p>根据config配置规则获取popup使用的html字符串</p></td></tr><tr><td><code><b>getTooltipForConfig</b>( <nobr>Object</nobr> <i>config</i>, <nobr>Object</nobr> <i>attr</i>)</code></td><td><code><nobr>Html String</nobr></code></td><td><p>根据config配置规则获取tooltip使用的html字符串</p></td></tr><tr><td><code><b>getPopup(<nobr>Object</nobr> <i>cfg</i>,<nobr>Object</nobr> <i>attr</i>,<nobr>String</nobr> <i>title</i>)</b></code></td><td><code>Html String</code></td><td><p>根据cfg配置信息(可以是数组、字符串等)和attr属性,显示标题title构造html的通用处理方法。该html可以用于popup和tooltip的绑定显示</p><pre><code>//方式1:数组配置
|
var html = viewer.mars.popup.getPopup([
|
{ "field": "roadName", "name": "所属线路" },
|
{ "field": "towerId", "name": "杆塔编号" }
|
], {roadName:'Mars GIS 线路',towerId:1987}, "塔杆");
|
|
//方式2:格式字符串配置
|
var html = viewer.mars.popup.getPopup("名称:{NAME}<br>层数:{floor}", {NAME:'Mars楼1',floor:5}, "建筑物");
|
|
//方式3:回调处理
|
var html = viewer.mars.popup.getPopup({"type":"javascript","calback":"funname"}, {NAME:'Mars楼2',floor:8}, "建筑物");//js中需定义命名为funname的方法
|
|
//方式4:显示所有,常用于测试时
|
var html = viewer.mars.popup.getPopup("all", {NAME:'Mars楼3',floor:5,height:87}, "建筑物");
|
</code></pre></td></tr><tr><td><code><b>highlightEntity</b>( <nobr>Entity</nobr> <i>entitys</i>, <nobr>Object</nobr> <i>opts</i>)</code></td><td><code><nobr>Object</nobr></code></td><td><p>定时闪烁高亮Entity(点、线、面)</p><pre><code>var flashingEntity = mars3d.util.highlightEntity(gonEntity, {
|
time: 8, //闪烁时长(秒)
|
onEnd: function () {//结束后回调方法
|
|
}
|
});</code></pre></td></tr><tr><td><code><b>unHighlightEntity</b>( <nobr>FlashingEntity</nobr> <i>object</i>)</code></td><td><code><nobr>Object</nobr></code></td><td><p>取消定时闪烁高亮Entity(点、线、面)</p><pre><code>mars3d.util.highlightEntity(flashingEntity);</code></pre></td></tr></tbody></table></section></section><h2 id="BaseWidget">BaseWidget 模块基础类</h2><p>mars3d.widget.BaseWidget 类是平台所有widget功能模块的基础类,开发widget时需要继承该类。 该类不是直接new实例化使用的,是新建一个类继承该类后使用。</p><section><h3 id="BaseWidget-example">使用示例</h3><section><pre><code class="javascript">var MyWidget = mars3d.widget.BaseWidget.extend({
|
options: {
|
resources: ['style.css'],
|
view: {
|
type: "window",
|
url: "view.html",
|
windowOptions: {width: 250, height: 300}
|
},
|
},
|
//初始化[仅执行1次]
|
create: function () {
|
},
|
viewWindow:null,
|
//每个窗口创建完成后调用
|
winCreateOK: function (opt, result) {
|
this.viewWindow = result;
|
},
|
//打开激活
|
activate: function () {
|
},
|
//关闭释放
|
disable: function () {
|
}
|
})
|
</code></pre></section></section><section><h3 id="Widget-option">Options参数选项</h3><section><table><thead><tr><th>Option参数</th><th>参数类型</th><th>默认值</th><th>说明</th></tr></thead><tbody><tr id="map-isCluster"><td><code><b>resources</b></code></td><td><code>String[]</code></td><td><code>null</code></td><td>该模块依赖的外部js、css资源文件,会在实例化之前加入的页面中。 默认引用是当前widget所在目录的资源,相当于页面的资源或外部资源请以 “/” 或 “.” 或 “http” 开始命名</td></tr><tr id="marker-autoSize"><td><code><b>view</b></code></td><td><code>Object</code></td><td><code>null</code></td><td>定义模块的view页面配置信息,为空时表示当前模块无关联页面, 其中url地址规则,参考resources说明</td></tr></tbody></table></section></section><section><h3 id="marker-method">方法</h3><section><div class="section-comments">包括模块初始化、激活、释放时相关方法。</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="marker-getData"><td><code><b>init</b>()</code></td><td><code>void</code></td><td><p>模块初始化之前触发该方法,仅首次初始化执行1次</p></td></tr><tr id="marker-getData"><td><code><b>create</b>()</code></td><td><code>void</code></td><td><p>模块初始化,仅首次初始化执行1次</p></td></tr><tr id="marker-clear"><td><code><b>activateBase</b>()</code></td><td><code>void</code></td><td><p>激活模块初始方法,基类内部使用</p></td></tr><tr id="marker-clear"><td><code><b>beforeActivate</b>()</code></td><td><code>void</code></td><td><p>activate激活模块之前调用,基类内部使用</p></td></tr><tr id="marker-getData"><td><code><b>activate</b>()</code></td><td><code>void</code></td><td><p>打开激活模块</p></td></tr><tr id="marker-getItemById"><td><code><b>winCreateOK</b>(<nobr><String></nobr> <i>opt</i>,<nobr><String></nobr> <i>result</i>)</code></td><td><code>void</code></td><td><p>每个view窗口或页面创建完成后调用</p></td></tr><tr id="marker-visible"><td><code><b>disableBase</b>()</code></td><td><code>void</code></td><td><p>释放模块初始方法,基类内部使用</p></td></tr><tr id="marker-clear"><td><code><b>beforeDisable</b>()</code></td><td><code>void</code></td><td><p>disable释放模块之前调用,基类内部使用</p></td></tr><tr id="marker-getData"><td><code><b>disable</b>()</code></td><td><code>void</code></td><td><p>关闭释放模块</p></td></tr><tr id="marker-getData"><td><code><b>winFull</b>()</code></td><td><code>void</code></td><td><p>窗口最大化后触发</p></td></tr><tr id="marker-getData"><td><code><b>winMin</b>()</code></td><td><code>void</code></td><td><p>窗口最小化后触发</p></td></tr><tr id="marker-getData"><td><code><b>winRestore</b>()</code></td><td><code>void</code></td><td><p>窗口最大、小化后,被还原时触发</p></td></tr><tr id="marker-getItemById"><td><code><b>getHtml</b>(<nobr><String></nobr> <i>url</i>,<nobr><function></nobr> <i>callback</i>)</code></td><td><code>void</code></td><td><p>获取指定url的html信息</p></td></tr><tr id="marker-getItemById"><td><code><b>resetConfig</b>()</code></td><td><code>void</code></td><td><p>还原配置为config.json的初始状态</p></td></tr><tr id="marker-getItemById"><td><code><b>setViewVisible</b>(<nobr><Boolean></nobr> <i>visible</i>)</code></td><td><code>void</code></td><td><p>设置view弹窗或div的显示影藏,非释放方式</p></td></tr><tr id="marker-getItemById"><td><code><b>setViewCss</b>(<nobr><Object></nobr> <i>style</i>)</code></td><td><code>void</code></td><td><p>设置view弹窗的css,类同jquery的 $(dom).css(style)方法</p></td></tr></tbody></table></section></section><h2 id="widgetmanager">widget 模块管理类</h2><p>mars3d.widget 类是静态类,是平台widget模块统一管理维护的类</p><section><h3 id="widgetmanager-example">使用示例</h3><section><pre><code class="javascript">var jsondata= {
|
"debugger": true,
|
"version": "time",
|
"defaultOptions": {
|
"windowOptions": {
|
"position": "r",
|
"maxmin": false,
|
"resize": true
|
},
|
"autoDisable": true,
|
"disableOther": true
|
},
|
"widgetsAtStart": [
|
{
|
"name": "左上角工具栏",
|
"uri": "widgets/toolBar/widget.js",
|
"visible": true
|
}
|
],
|
"widgets": [
|
{
|
"name": "图层管理",
|
"uri": "widgets/manageLayers/widget.js",
|
"windowOptions": {
|
"position": {"top": 1,"bottom": 1,"right": 1}
|
},
|
"disableOther": false
|
},
|
{
|
"name": "图上量算",
|
"uri": "widgets/measure/widget.js"
|
}
|
]
|
};
|
mars3d.widget.init(viewer, jsondata);
|
</code></pre></section></section><section><h3 id="widgetmanager-method">方法</h3><section><div class="section-comments">包括模块初始化,激活释放指定模块等方法</div><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr id="widgetmanager-clear"><td><code><b>init</b>(<nobr><<a href="http://mars3d.cn/forcesium/Build/Documentation/Viewer.html">Viewer</a>></nobr> <i>viewer</i>,<nobr><Object></nobr> <i>jsondata</i>,<nobr><String></nobr> <i>basePath</i>)</code></td><td><code></code></td><td><p>按配置信息初始化widget管理类</p><p>如果widgets目录不在当前页面的同级目录,在其他处时可以传入basePath参数,参数值为:widgets目录相对于当前页面的路径</p></td></tr><tr id="marker-visible"><td><code><b>activate</b>(<nobr><Object></nobr> <i>item</i>,<nobr><Boolean></nobr> <i>noDisableOther</i>)</code></td><td><code></code></td><td><p>激活指定的模块,item可以是id或者uri或模块配置信息对象</p><pre><code class="javascript">//常用方式,直接使用uri
|
mars3d.widget.activate("widgets/bookmark/widget.js");
|
//widget中配置有id时
|
mars3d.widget.activate("bookmark");
|
//使用对象,可以传入更多参数,具体参数参看配置项手册,。
|
mars3d.widget.activate({
|
uri: "widgets/bookmark/widget.js",
|
testdata:"widget内部使用this.config获取到这些参数",
|
success:function(thisWidget){ //激活后回调方法
|
}
|
});
|
</code></pre></td></tr><tr id="marker-visible"><td><code><b>disable</b>(<nobr><String></nobr> <i>id或uri</i>)</code></td><td><code></code></td><td><p>释放指定id或uri的widget</p></td></tr><tr id="marker-visible"><td><code><b>disableAll</b>(<nobr><String></nobr> <i>nodisableid?</i>)</code></td><td><code></code></td><td><p>释放所有Widget,可以指定id或uri的widget不释放</p></td></tr><tr id="marker-visible"><td><code><b>disableGroup</b>(<nobr><String></nobr> <i>groupname</i>,<nobr><String></nobr> <i>nodisableid?</i>)</code></td><td><code></code></td><td><p>释放释放同组widget,可以指定id或uri的widget不释放</p></td></tr><tr id="marker-visible"><td><code><b>getWidget</b>(<nobr><String></nobr> <i>id或uri</i>)</code></td><td><code>Object</code></td><td><p>获取指定id或uri的widget配置信息</p></td></tr><tr id="marker-visible"><td><code><b>getClass</b>(<nobr><String></nobr> <i>id或uri</i>)</code></td><td><code><a href="#BaseWidget">BaseWidget</a></code></td><td><p>获取指定id或uri的widget的对应的实例化BaseWidget类</p></td></tr><tr id="marker-visible"><td><code><b>bindClass</b>(<nobr><<a href="#BaseWidget">BaseWidget</a>></nobr> <i>class</i>)</code></td><td><code>实例化后的对象</code></td><td><p>绑定继承BaseWidget类的类到当前对应js的widget中</p></td></tr><tr id="marker-visible"><td><code><b>removeDebugeBar</b>()</code></td><td><code></code></td><td><p>移除Widget测试栏</p></td></tr><tr id="marker-visible"><td><code><b>getDefWindowOptions</b>()</code></td><td><code>Objcet</code></td><td><p>获取全局默认的view配置信息</p></td></tr><tr id="marker-visible"><td><code><b>getCacheVersion</b>()</code></td><td><code>String</code></td><td><p>获取当前配置的版本信息,用于清除浏览器缓存</p></td></tr></tbody></table></section></section><h2 id="FlowEcharts">Echarts支持</h2><p>该类在插件不在mars3d.js主库中,在单独的插件mars3d-visual.js文件内。</p><p>mars3d.FlowEcharts是实体类,提供对Echarts接入cesium的相关支持。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript">var option = {//参考Echarts API,支持大部分相关参数,必须传入或不同的地方看下面注释。
|
animation: false, //必须
|
GLMap: { },//必须
|
series: [{
|
type: 'lines',
|
coordinateSystem: 'GLMap', //必须
|
polyline: true,
|
silent: true,
|
data: busLines, //busLines是示例数据
|
}]
|
}
|
var layerWork = new mars3d.FlowEcharts(viewer, option);
|
|
//layerWork.updateOverlay(option); //更新
|
</code></pre></section></section><section><h3 id="measure-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>updateOverlay</b>(<nobr>Echarts Options</nobr> <i>options</i>)</code></td><td><code>void</code></td><td><p>更新Echarts Options</p></td></tr><tr><td><code><b>show</b>()</code></td><td><code>void</code></td><td><p>显示图层</p></td></tr><tr><td><code><b>hide</b>()</code></td><td><code>void</code></td><td><p>影藏图层</p></td></tr><tr><td><code><b>destroy</b>()</code></td><td><code>void</code></td><td><p>销毁图层 ,兼容dispose方法名</p></td></tr></tbody></table></section></section><h2 id="MapVLayer">MapV支持</h2><p>该类在插件不在mars3d.js主库中,在单独的插件mars3d-visual.js文件内。</p><p>mars3d.MapVLayer是实体类,提供对MapV接入cesium的相关支持。</p><section><h3 id="measureTool-example">使用示例</h3><section><pre><code class="javascript">var dataSet = new mapv.DataSet(textData);//mapv相关规范DataSet
|
var options = { }//mapv相关规范Options
|
var layer = new mars3d.MapVLayer(viewer, dataSet, options);
|
</code></pre></section></section><section><h3 id="measure-method">方法</h3><section><table><thead><tr><th>方法名</th><th>返回值</th><th>说明</th></tr></thead><tbody><tr><td><code><b>updateData</b>(<nobr>MapV DataSet</nobr> <i>dataSet</i>,<nobr>MapV Options</nobr> <i>options</i>)</code></td><td><code>void</code></td><td><p>更新MapV Options</p></td></tr><tr><td><code><b>show</b>()</code></td><td><code>void</code></td><td><p>显示图层</p></td></tr><tr><td><code><b>hide</b>()</code></td><td><code>void</code></td><td><p>影藏图层</p></td></tr><tr><td><code><b>destroy</b>()</code></td><td><code>void</code></td><td><p>销毁图层</p></td></tr></tbody></table></section></section></div><br><br><br><div class="iclient-footer"><div class="container"><div class="iclient-copyright" id="iclient-footer">版权所有 © 2017-2020 <a href="http://www.marsgis.cn" target="_blank">火星科技</a>  <a href="http://www.beian.miit.gov.cn" target=" _blank">皖ICP备17025519号</a></div></div></div><script src="js/docs.js"></script><script>var _0x32fa=["setAttribute","click","target","createElement","label"," ","location","onclick","className","rWgHJ","appendChild","configure","div.accordion","length","children","h2, h3, h4, tr","addEventListener","querySelector","querySelectorAll","parentNode","accordion expanded"];!function(x,e){!function(e){for(;--e;)x.push(x.shift())}(192)}(_0x32fa);var _0x4572=function(e,x){return _0x32fa[e-=0]};hljs[_0x4572("0x9")]({tabReplace:_0x4572("0x3")}),hljs.initHighlightingOnLoad();for(var elems=document[_0x4572("0x10")](_0x4572("0xd")),i=0,len=elems.length;i<len;i++){if((el=elems[i]).id){var anchor=document[_0x4572("0x1")]("a");anchor[_0x4572("0x13")]("anchor",el.id),el[_0x4572("0xc")][_0x4572("0xb")]?(el[_0x4572("0xf")]("td")[_0x4572("0x8")](anchor),el[_0x4572("0x11")][_0x4572("0x5")]=function(e){var x=function(e,x){return e<x};return function(e){x(e.offsetX,0)&&(window[_0x4572("0x4")].hash="#"+e[_0x4572("0x0")][_0x4572("0x11")].id)}}(el.id)):el.parentNode.insertBefore(anchor,el)}}for(i=0,len=(elems=document.querySelectorAll(_0x4572("0xa")))[_0x4572("0xb")];i<len;i++){var el;(el=elems[i]).querySelector(_0x4572("0x2"))[_0x4572("0xe")](_0x4572("0x14"),function(e){var x={rWgHJ:_0x4572("0x12")};return function(){e[_0x4572("0x6")]===x[_0x4572("0x7")]?e[_0x4572("0x6")]="accordion collapsed":e.className=x[_0x4572("0x7")]}}(el))}</script><style>h2{margin-top:2em}h3{margin-top:1em;margin-bottom:.5em}div.accordion{width:100%}div.accordion-overflow{width:100%;overflow:hidden}label,section>h4{display:block;font-weight:500;margin:1em 0 .25em}label{cursor:pointer}div.accordion>div.accordion-overflow>div.accordion-content{max-height:0;display:none}div.accordion.collapsed>div.accordion-overflow>div.accordion-content{animation-duration:.4s;animation-name:collapse;max-height:0;display:block;overflow:hidden}div.accordion.expanded>div.accordion-overflow>div.accordion-content{animation-duration:.4s;animation-name:expand;max-height:none;display:block}@keyframes collapse{0%{max-height:100vh}100%{max-height:0}}@keyframes expand{0%{max-height:0}100%{max-height:100vh}}div.accordion.expanded>label>span.expander{transform:rotate(90deg)}div.accordion>label>span.expander{transition:transform .4s ease-out 0s;display:inline-block;font-size:12px}table{margin-bottom:0}td>p{margin:0}section.collapsable>div.section-comments>p{margin:0}div.section-comments{margin-bottom:.25em}section.collapsable pre{margin:0}section{margin-left:.5em}section h4,section.collapsable h4{margin-left:-.5em}</style></body></html>
|