MeasureDistanceWidget

new Cesium.MeasureDistanceWidget(options)

三维地图距离量算插件类
Name Type Description
options Object optional 对象具有以下属性:
Name Type Default Description
viewer Viewer optional 三维地球对象.
color Color Cesium.Color.CHARTREUSE.withAlpha(0.5) optional 绘制线颜色.
lineWidth Number 2.0 optional 绘制线的宽度.
pointShown Boolean true optional 点是否显示
pixelSize Number 10 optional 点的像素大小
pointColor Color Cesium.Color.WHITE optional 点的颜色
pointOutlineColor Color Cesium.Color.RED optional 点的轮廓颜色
pointOutlineWidth Number 1.0 optional 点的轮廓宽度
labelGraphics LabelGraphics optional 标签样式,详细参数参见LabelGraphics API
mode Number 1 optional 1:在地面上进行空间量算,2:在地面上进行贴地量算,3:在模型上进行空间量算.
samplingPointsNumber Number 100 optional mode=2时,即开启贴地测距时的采样点的数量。该值越小,则效率越高,相应的准确度也就更低。
terrainExaggerationEnabled Boolean true optional 是否开启在地形夸张状态下进行测量,默认开启,如果设置为false,则测量结果不受地形夸张的影响。
onMeasure function optional 量算事件回调函数,量算过程每次点击都将触发该方法。
Example:
// 初始化控件.
var measureDistanceWidget = new Cesium.MeasureDistanceWidget({
     viewer:viewer,
     mode: 1,
     labelGraphics: {
         font: '16px sans-serif',
         showBackground: true,
         backgroundColor: Cesium.Color.GREEN.withAlpha(0.3),
         pixelOffset: new Cesium.Cartesian2(10, 10),
         disableDepthTestDistance: Number.POSITIVE_INFINITY
     }
    onMeasure: function(evt) {
        console.log(evt);
    }
});
// 激活
measureDistanceWidget.activate();

 
Demo:

Methods

activate()

激活控件:激活距离量算绘制插件,左键开始绘制,右键结束绘制

calcDistance(coordinates)Number

根据坐标计算距离,根据当前的mode判断是那种计算方式,如果mode为1,则在地形上计算空间距离,如果为2,则是在地形上计算贴地距离,如果为3,则是在模式上计算空间距离
Name Type Description
coordinates Array 经纬度坐标数组
Returns:
距离,单位m
Example:
var coordinates = [[99.03398810428313,29.733250072786884],[99.03338465902709,29.714608142243957],[99.04227617245898,29.694618146288295]];
var distance = measureDistanceWidget.calcDistance(coordinates);

clear()

清除量算结果.

delete()

对选中的要素进行删除操作.

selectFeatures()

点选要素并高亮要素,可以点击多个,选择之后可以调用delete方法进行删除操作.