三维里本身没有比例尺这个说法,可以通过相机高度去计算出大概的比例尺:
(1)获取当前场景:
var scene = viewer.scene;
(2)获取当前相机:
var camera = scene.camera;
(3)获取当前相机的高度:
var height = scene.globe.getHeight(camera.position);
(4)获取当前相机的范围:
var range = scene.globe.ellipsoid.maximumRadius * Math.PI * 2 * camera.getViewport().width / 2 / 256:
(5)计算比例尺:
var scale = Cesium.Scale.fromNumber(1, Cesium.ScaleType.METER);
var metersPerpixel = scale.getDistance(range, height) / range;
var scaleBar = Cesium.scaleBarUnit.METRIC:
var units = Cesium.scaleBarUnits.METERS:
var suffix = "";
var metricscale = new Cesium.ScaleBar(scaleBar, metersPerpixel, units, suffix);