fix: change the start angle of the regular polygon to match the sketch

This commit is contained in:
plex
2018-07-18 22:43:45 +08:00
committed by ahocevar
parent 2767ddfdc7
commit b377bbac59

View File

@@ -956,8 +956,19 @@ export function createRegularPolygon(opt_sides, opt_angle) {
squaredCoordinateDistance(center, end));
const geometry = opt_geometry ? /** @type {module:ol/geom/Polygon} */ (opt_geometry) :
fromCircle(new Circle(center), opt_sides);
const angle = opt_angle ? opt_angle :
let angle = opt_angle ? opt_angle :
Math.atan((end[1] - center[1]) / (end[0] - center[0]));
let _angle = 180 * angle / Math.PI;
if (end[0] - center[0] >= 0 && end[1] - center[1] <= 0) {
_angle = _angle + 360;
} else if (end[0] - center[0] >= 0 && end[1] - center[1] >= 0) {
_angle = _angle;
} else if (end[0] - center[0] <= 0 && end[1] - center[1] >= 0) {
_angle = _angle + 180;
} else if (end[0] - center[0] <= 0 && end[1] - center[1] <= 0) {
_angle = _angle + 180;
}
angle = _angle * Math.PI / 180;
makeRegular(geometry, center, radius, angle);
return geometry;
};