Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /**
  2. * @Author: Caven
  3. * @Date: 2020-08-30 22:04:36
  4. */
  5. import Edit from './Edit'
  6. const { Transform } = DC
  7. const { Cesium } = DC.Namespace
  8. class EditBillboard extends Edit {
  9. constructor(overlay) {
  10. super()
  11. this._overlay = overlay
  12. this._position = undefined
  13. }
  14. _mountEntity() {
  15. this._delegate = new Cesium.Entity()
  16. this._delegate.merge(this._overlay.delegate)
  17. this._overlay.show = false
  18. this._position = this._delegate.position.getValue(Cesium.JulianDate.now())
  19. this._delegate.position = new Cesium.CallbackProperty(() => {
  20. return this._position
  21. })
  22. this._layer.add(this._delegate)
  23. }
  24. _onMouseMove(e) {
  25. this._tooltip.showAt(e.windowPosition, '右击结束编辑')
  26. this._position = this._clampToGround ? e.surfacePosition : e.position
  27. }
  28. _onRightClick(e) {
  29. this.unbindEvent()
  30. this._overlay.position = Transform.transformCartesianToWGS84(this._position)
  31. this._overlay.show = true
  32. this._plotEvent.raiseEvent(this._overlay)
  33. }
  34. }
  35. export default EditBillboard