From d88fcd3f26dca2e2215fc3fe95b88becb5cdfe34 Mon Sep 17 00:00:00 2001 From: Caven Chen Date: Sat, 8 Jan 2022 12:11:27 +0800 Subject: [PATCH] solve the problem that some overlay setting labels are invalid --- modules/overlay/vector/Circle.js | 15 +++++++++++++++ modules/overlay/vector/Rectangle.js | 10 ++++++++++ 2 files changed, 25 insertions(+) diff --git a/modules/overlay/vector/Circle.js b/modules/overlay/vector/Circle.js index f6a22838..09c4973f 100644 --- a/modules/overlay/vector/Circle.js +++ b/modules/overlay/vector/Circle.js @@ -91,6 +91,21 @@ class Circle extends Overlay { this.center = this._center } + /** + * Sets Text with Style + * @param text + * @param textStyle + * @returns {Circle} + */ + setLabel(text, textStyle) { + this._delegate.position = Transform.transformWGS84ToCartesian(this._center) + this._delegate.label = { + ...textStyle, + text: text + } + return this + } + /** * * @param style diff --git a/modules/overlay/vector/Rectangle.js b/modules/overlay/vector/Rectangle.js index d427d83b..83c04569 100644 --- a/modules/overlay/vector/Rectangle.js +++ b/modules/overlay/vector/Rectangle.js @@ -47,6 +47,16 @@ class Rectangle extends Overlay { * @returns {Rectangle} */ setLabel(text, textStyle) { + this._delegate.position = Cesium.Cartographic.toCartesian( + Cesium.Rectangle.center( + this._delegate.rectangle, + new Cesium.Cartographic() + ) + ) + this._delegate.label = { + ...textStyle, + text: text + } return this }