代码迁移
This commit is contained in:
80
src/Measure/index.js
Normal file
80
src/Measure/index.js
Normal file
@ -0,0 +1,80 @@
|
||||
import MouseEvent from "../Event";
|
||||
import MouseTip from "../MouseTip";
|
||||
import Tools from "../Tools";
|
||||
|
||||
/**
|
||||
* @name: measure
|
||||
* @author: Administrator
|
||||
* @date: 2022-07-11 10:52
|
||||
* @description:measure
|
||||
* @update: 2022-07-11 10:52
|
||||
*/
|
||||
|
||||
class Measure extends Tools {
|
||||
constructor(sdk, options = {text: "左键开始,右键结束;"}) {
|
||||
super(sdk, options)
|
||||
this.options = {...options}
|
||||
this.event = new MouseEvent(sdk)
|
||||
this.tip = new MouseTip(options.text, sdk)
|
||||
this.viewer = sdk.viewer
|
||||
this.defaultColor = 'rgba(246,49,49,0.55)'
|
||||
this.ids = []
|
||||
YJ.Measure.Measures.push(this)
|
||||
this._isDestroy = false
|
||||
// this.pickStatus = {pick: YJ.getEarth().interaction.picking.enabled}
|
||||
}
|
||||
|
||||
start() {
|
||||
this.setPickStatus(false)
|
||||
YJ.Measure.SetMeasureStatus(true)
|
||||
}
|
||||
|
||||
destroy() {
|
||||
// YJ.Measure.Measures.pop()
|
||||
this._isDestroy = true
|
||||
this.end()
|
||||
this.ids.forEach(id => {
|
||||
this.remove_entity(id)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
end() {
|
||||
// this.ids.forEach(id => {
|
||||
// this.remove_entity(id)
|
||||
// })
|
||||
//还原上一次的状态
|
||||
// this.setPickStatus(this.pickStatus.pick)
|
||||
YJ.Measure.SetMeasureStatus(false)
|
||||
this.tip && this.tip.destroy()
|
||||
this.event && this.event.destroy()
|
||||
this.tip = null
|
||||
this.event = null
|
||||
}
|
||||
|
||||
create_point(cartesian,show = true) {
|
||||
let id = this.randomString()
|
||||
let p = this.cartesian3Towgs84(cartesian, this.viewer)
|
||||
this.viewer.entities.add(
|
||||
new Cesium.Entity({
|
||||
id: id,
|
||||
position: Cesium.Cartesian3.fromDegrees(p.lng, p.lat, p.alt),
|
||||
billboard: {
|
||||
show: show,
|
||||
image: this.getSourceRootPath() + '/img/point.png',
|
||||
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
|
||||
disableDepthTestDistance: Number.POSITIVE_INFINITY,
|
||||
color: Cesium.Color.WHITE.withAlpha(0.99)
|
||||
}
|
||||
})
|
||||
)
|
||||
return id
|
||||
}
|
||||
|
||||
remove_entity(id) {
|
||||
this.viewer.entities.removeById(id)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export default Measure
|
Reference in New Issue
Block a user