修改线绘制 流动箭头,保存,然后再次编辑,未显示对应参数以及虚线远视角报错问题

This commit is contained in:
2025-08-08 15:31:11 +08:00
parent e2657ce0a8
commit 20a9388579
3 changed files with 89 additions and 72 deletions

View File

@ -1317,12 +1317,19 @@ class PolylineObject extends Base {
positions: Cesium.Cartesian3.fromDegreesArrayHeights(fromDegreesArray), positions: Cesium.Cartesian3.fromDegreesArrayHeights(fromDegreesArray),
width: that.options.width, width: that.options.width,
clampToGround: ground, clampToGround: ground,
material: that.getMaterial(that.options.color, that.options.type, that.entity, that.options), // material: that.getMaterial(that.options.color, that.options.type, that.entity, that.options),
zIndex: that.sdk._entityZIndex zIndex: that.sdk._entityZIndex
} }
}) })
that.entity.polyline.oriWidth = that.options.width that.entity.polyline.oriWidth = that.options.width
that.judgeLine(that.entity, that.options) that.judgeLine(that.entity, that.options)
that.entity.polyline.material = that.getMaterial(
that.options.color,
that.options.type,
that.entity,
that.options
)
that.sdk._entityZIndex++ that.sdk._entityZIndex++
PolylineObject.createLabel(that) PolylineObject.createLabel(that)
// that.entity.polyline.positionsLngLat = positions // that.entity.polyline.positionsLngLat = positions
@ -1529,10 +1536,20 @@ class PolylineObject extends Base {
// this.attributeCamera = this.options.attribute.camera.content // this.attributeCamera = this.options.attribute.camera.content
// this.attributeGoods = this.options.attribute.goods.content // this.attributeGoods = this.options.attribute.goods.content
function tabClick(e) {
if (e === '2' || e === 2) {//点击线条样式
if (2 < _this.options.type && _this.options.type < 13) {//贴图参数
document.getElementById('dashTextureDom').style.display = 'flex'
} else {
document.getElementById('dashTextureDom').style.display = 'none'
}
}
}
// 创建标签页 // 创建标签页
let tabsElm = new cy_tabs( let tabsElm = new cy_tabs(
'polyline-object-edit-tabs', 'polyline-object-edit-tabs',
undefined, tabClick,
this.sdk this.sdk
) )
// 颜色组件 // 颜色组件

View File

@ -49,6 +49,7 @@
tabs[i].addEventListener('click', (e) => { tabs[i].addEventListener('click', (e) => {
let tabindex = e.target.getAttribute('tabindex') let tabindex = e.target.getAttribute('tabindex')
let contentElm = BoxElm.getElementsByClassName('DIV-cy-tab-content-pane') let contentElm = BoxElm.getElementsByClassName('DIV-cy-tab-content-pane')
clickTabCallBack && clickTabCallBack(tabindex)
for (let i = 0; i < contentElm.length; i++) { for (let i = 0; i < contentElm.length; i++) {
if (i === parseInt(tabindex)) { if (i === parseInt(tabindex)) {
contentElm[i].style.display = '' contentElm[i].style.display = ''

View File

@ -638,7 +638,7 @@ class Tools {
// break // break
case 6: //流动虚线2 case 6: //流动虚线2
let that = this let that = this
let repeatX
material = new Cesium.FlowDashedLineFlowMaterialProperty({ material = new Cesium.FlowDashedLineFlowMaterialProperty({
color: color, color: color,
uType: type == 5 ? 0 : 1, uType: type == 5 ? 0 : 1,
@ -660,11 +660,10 @@ class Tools {
let point2 = new Cesium.Cartesian2(that.sdk.viewer.canvas.clientWidth / 2, that.sdk.viewer.canvas.clientHeight) let point2 = new Cesium.Cartesian2(that.sdk.viewer.canvas.clientWidth / 2, that.sdk.viewer.canvas.clientHeight)
var cartesian1 = that.sdk.viewer.scene.pickPosition(point1) var cartesian1 = that.sdk.viewer.scene.pickPosition(point1)
var cartesian2 = that.sdk.viewer.scene.pickPosition(point2) var cartesian2 = that.sdk.viewer.scene.pickPosition(point2)
if (cartesian1 && cartesian2) {
var distance2 = Cesium.Cartesian3.distance(cartesian1, cartesian2); var distance2 = Cesium.Cartesian3.distance(cartesian1, cartesian2);
repeatX = distance2 * 2 / distance
let repeatX = distance2 * 2 / distance }
return repeatX; return repeatX;
}) })
}) })