Skip to content

Commit

Permalink
Fix #11
Browse files Browse the repository at this point in the history
  • Loading branch information
matthiasstein committed Apr 30, 2021
1 parent 0f4b964 commit 6d46640
Showing 1 changed file with 5 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
* limitations under the License.
*/
import CancelablePromise from "apprt-core/CancelablePromise";
import Polygon from "esri/geometry/Polygon";
import Circle from "esri/geometry/Circle";
import {difference} from "esri/geometry/geometryEngine"
import CircleSpatialInputWidget from "../widgets/CircleSpatialInputWidget.vue";
import Vue from "apprt-vue/Vue";
import VueDijit from "apprt-vue/VueDijit";
Expand Down Expand Up @@ -92,7 +92,7 @@ export default class CircleSpatialInputAction {
// prevent popup
evt.stopPropagation();
const point = view.toMap({x: evt.x, y: evt.y});
const circleGeometry = this[_geometry] = this.createDonut(point);
const circleGeometry = this[_geometry] = this.createDonutOrCircle(point);
if (args.queryBuilderSelection) {
this.closeWidget();
} else {
Expand Down Expand Up @@ -122,17 +122,13 @@ export default class CircleSpatialInputAction {
}
}

createDonut(point) {
const circleGeometry = new Polygon({
spatialReference: point.spatialReference
});
createDonutOrCircle(point) {
const model = this._circleSpatialInputWidgetModel;
let circleGeometry = this.createCircle(point, model.outerRadius);
if (model.innerRadius > 0) {
const innerCircle = this.createCircle(point, model.innerRadius);
circleGeometry.addRing(innerCircle.rings[0]);
circleGeometry = difference(circleGeometry, innerCircle);
}
const outerCircle = this.createCircle(point, model.outerRadius);
circleGeometry.addRing(outerCircle.rings[0]);
return circleGeometry;
}

Expand Down

0 comments on commit 6d46640

Please sign in to comment.