修改线报错
This commit is contained in:
@ -1460,39 +1460,41 @@ class PolylineObject extends Base {
|
|||||||
// let ray2 = this.sdk.viewer.camera.getPickRay(point2);
|
// let ray2 = this.sdk.viewer.camera.getPickRay(point2);
|
||||||
// cartesian2 = this.sdk.viewer.scene.globe.pick(ray2, this.sdk.viewer.scene);
|
// cartesian2 = this.sdk.viewer.scene.globe.pick(ray2, this.sdk.viewer.scene);
|
||||||
// }
|
// }
|
||||||
|
if (cartesian1 && cartesian2) {
|
||||||
var distance = Cesium.Cartesian3.distance(cartesian1, cartesian2);
|
|
||||||
|
|
||||||
var repeatX = distance / entity.polyline.width.getValue();
|
|
||||||
// 根据地图缩放程度调整repeatX
|
|
||||||
var cameraHeight = this.sdk.viewer.camera.positionCartographic.height;
|
|
||||||
var boundingSphere = new Cesium.BoundingSphere(
|
|
||||||
new Cesium.Cartesian3(-1000000, 0, 0), // 中心点坐标
|
|
||||||
500000 // 半径(距离)
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
// 获取绘图缓冲区的宽度和高度(通常是屏幕的分辨率)
|
var distance = Cesium.Cartesian3.distance(cartesian1, cartesian2);
|
||||||
var drawingBufferWidth = this.sdk.viewer.canvas.clientWidth;
|
|
||||||
var drawingBufferHeight = this.sdk.viewer.canvas.clientHeight;
|
|
||||||
|
|
||||||
// 使用 getPixelSize 方法获取包围球在屏幕上的像素大小
|
var repeatX = distance / entity.polyline.width.getValue();
|
||||||
var groundResolution = this.sdk.viewer.scene.camera.getPixelSize(boundingSphere, drawingBufferWidth, drawingBufferHeight)
|
// 根据地图缩放程度调整repeatX
|
||||||
// repeatX *= groundResolution / cameraHeight / ((myImg.width / myImg.height * 5) + 1);
|
var cameraHeight = this.sdk.viewer.camera.positionCartographic.height;
|
||||||
if (groundResolution > 700) {
|
var boundingSphere = new Cesium.BoundingSphere(
|
||||||
repeatX *= groundResolution / cameraHeight / (options.space * (canvasEle.width / canvasEle.height * 5) + 1);
|
new Cesium.Cartesian3(-1000000, 0, 0), // 中心点坐标
|
||||||
} else {
|
500000 // 半径(距离)
|
||||||
repeatX = undefined;
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// 获取绘图缓冲区的宽度和高度(通常是屏幕的分辨率)
|
||||||
|
var drawingBufferWidth = this.sdk.viewer.canvas.clientWidth;
|
||||||
|
var drawingBufferHeight = this.sdk.viewer.canvas.clientHeight;
|
||||||
|
|
||||||
|
// 使用 getPixelSize 方法获取包围球在屏幕上的像素大小
|
||||||
|
var groundResolution = this.sdk.viewer.scene.camera.getPixelSize(boundingSphere, drawingBufferWidth, drawingBufferHeight)
|
||||||
|
// repeatX *= groundResolution / cameraHeight / ((myImg.width / myImg.height * 5) + 1);
|
||||||
|
if (groundResolution > 700) {
|
||||||
|
repeatX *= groundResolution / cameraHeight / (options.space * (canvasEle.width / canvasEle.height * 5) + 1);
|
||||||
|
} else {
|
||||||
|
repeatX = undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.sdk.viewer.scene.mode === Cesium.SceneMode.SCENE3D) {
|
||||||
|
return repeatX
|
||||||
|
} else {
|
||||||
|
let sdk3d = get3DView()
|
||||||
|
let sdk3dEntity = sdk3d.viewer.entities.getById(this.options.id)
|
||||||
|
return sdk3dEntity.polyline.oriRepeatX
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.sdk.viewer.scene.mode === Cesium.SceneMode.SCENE3D) {
|
|
||||||
return repeatX
|
|
||||||
} else {
|
|
||||||
let sdk3d = get3DView()
|
|
||||||
let sdk3dEntity = sdk3d.viewer.entities.getById(this.options.id)
|
|
||||||
return sdk3dEntity.polyline.oriRepeatX
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 编辑框
|
* 编辑框
|
||||||
|
@ -880,38 +880,38 @@ class Tools {
|
|||||||
|
|
||||||
let ray2 = this.sdk.viewer.camera.getPickRay(point2);
|
let ray2 = this.sdk.viewer.camera.getPickRay(point2);
|
||||||
let cartesian2 = this.sdk.viewer.scene.globe.pick(ray2, this.sdk.viewer.scene);
|
let cartesian2 = this.sdk.viewer.scene.globe.pick(ray2, this.sdk.viewer.scene);
|
||||||
|
if (cartesian1 && cartesian2) {
|
||||||
|
var distance = Cesium.Cartesian3.distance(cartesian1, cartesian2);
|
||||||
|
|
||||||
var distance = Cesium.Cartesian3.distance(cartesian1, cartesian2);
|
var repeatX = distance / entity.polyline.width.getValue();
|
||||||
|
// 根据地图缩放程度调整repeatX
|
||||||
|
var cameraHeight = this.sdk.viewer.camera.positionCartographic.height;
|
||||||
|
var boundingSphere = new Cesium.BoundingSphere(
|
||||||
|
new Cesium.Cartesian3(-1000000, 0, 0), // 中心点坐标
|
||||||
|
500000 // 半径(距离)
|
||||||
|
);
|
||||||
|
|
||||||
var repeatX = distance / entity.polyline.width.getValue();
|
// 获取绘图缓冲区的宽度和高度(通常是屏幕的分辨率)
|
||||||
// 根据地图缩放程度调整repeatX
|
var drawingBufferWidth = this.sdk.viewer.canvas.clientWidth;
|
||||||
var cameraHeight = this.sdk.viewer.camera.positionCartographic.height;
|
var drawingBufferHeight = this.sdk.viewer.canvas.clientHeight;
|
||||||
var boundingSphere = new Cesium.BoundingSphere(
|
|
||||||
new Cesium.Cartesian3(-1000000, 0, 0), // 中心点坐标
|
|
||||||
500000 // 半径(距离)
|
|
||||||
);
|
|
||||||
|
|
||||||
// 获取绘图缓冲区的宽度和高度(通常是屏幕的分辨率)
|
// 使用 getPixelSize 方法获取包围球在屏幕上的像素大小
|
||||||
var drawingBufferWidth = this.sdk.viewer.canvas.clientWidth;
|
var groundResolution = this.sdk.viewer.scene.camera.getPixelSize(boundingSphere, drawingBufferWidth, drawingBufferHeight)
|
||||||
var drawingBufferHeight = this.sdk.viewer.canvas.clientHeight;
|
// repeatX *= groundResolution / cameraHeight / ((myImg.width / myImg.height * 5) + 1);
|
||||||
|
if (groundResolution > 700) {
|
||||||
|
repeatX *= groundResolution / cameraHeight / (options.space * (canvasEle.width / canvasEle.height * 5) + 1);
|
||||||
|
} else {
|
||||||
|
repeatX = undefined;
|
||||||
|
}
|
||||||
|
|
||||||
// 使用 getPixelSize 方法获取包围球在屏幕上的像素大小
|
if (this.sdk.viewer.scene.mode === Cesium.SceneMode.SCENE3D) {
|
||||||
var groundResolution = this.sdk.viewer.scene.camera.getPixelSize(boundingSphere, drawingBufferWidth, drawingBufferHeight)
|
return repeatX
|
||||||
// repeatX *= groundResolution / cameraHeight / ((myImg.width / myImg.height * 5) + 1);
|
} else {
|
||||||
if (groundResolution > 700) {
|
let sdk3d = get3DView()
|
||||||
repeatX *= groundResolution / cameraHeight / (options.space * (canvasEle.width / canvasEle.height * 5) + 1);
|
let sdk3dEntity = sdk3d.viewer.entities.getById(this.options.id)
|
||||||
} else {
|
return sdk3dEntity.polyline.oriRepeatX
|
||||||
repeatX = undefined;
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.sdk.viewer.scene.mode === Cesium.SceneMode.SCENE3D) {
|
|
||||||
return repeatX
|
|
||||||
} else {
|
|
||||||
let sdk3d = get3DView()
|
|
||||||
let sdk3dEntity = sdk3d.viewer.entities.getById(this.options.id)
|
|
||||||
return sdk3dEntity.polyline.oriRepeatX
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*创建直箭头图片*/
|
/*创建直箭头图片*/
|
||||||
|
Reference in New Issue
Block a user