cesium米转换经纬度_cesium 笛卡尔坐标(单位:米) 与 经纬度(单位:弧度/度) 之间的转换。...

this.model.readyPromise.then(function (tileset) {

//记录模型原始的中心点

var boundingSphere = tileset.boundingSphere;

that.boundingSphere = boundingSphere;

//模型原始的中心点。此处是笛卡尔坐标,单位:米。

var position = boundingSphere.center;

// 此处是经纬度,单位:弧度;高度单位:米。

var catographic = Cesium.Cartographic.fromCartesian(position);

var height = Number(catographic.height.toFixed(2));

// 此处是经纬度,单位:度。

var longitude = Number(Cesium.Math.toDegrees(catographic.longitude).toFixed(6));

var latitude = Number(Cesium.Math.toDegrees(catographic.latitude).toFixed(6));

that.originalCenter = { x: longitude, y: latitude, z: height };

console.log((that.config.name || "") + " 模型原始位置:" + JSON.stringify(that.originalCenter));

//offsetopt.x,y不能多次更改

updateMatrix: function (offsetopt) {

if (this.model == null) return;

console.log(" 模型修改后位置:" + JSON.stringify(offsetopt));

var boundingSphere = this.model.boundingSphere;

var catographic = Cesium.Cartographic.fromCartesian(boundingSphere.center);

var surface = Cesium.Cartesian3.fromRadians(catographic.longitude, catographic.latitude, 0.0);

// 此处展示了,从经纬度(单位:度)-->笛卡尔坐标(单位:米)。

var offset = Cesium.Cartesian3.fromDegrees(offsetopt.x, offsetopt.y, offsetopt.z);

var translation = Cesium.Cartesian3.subtract(offset, surface, new Cesium.Cartesian3());

this.model.modelMatrix = Cesium.Matrix4.fromTranslation(translation);

//this.model.update();

},

你可能感兴趣的:(cesium米转换经纬度)