|
|
@@ -314,17 +314,17 @@ function getBearingPoint(point, lastBearing, bearing, airlineWidth) {
|
|
|
if(!lastBearing)
|
|
|
lastBearing = bearing
|
|
|
|
|
|
- let halfAngle = (180 - bearing + lastBearing)/2 // 两条线的夹角的一半
|
|
|
- let rightBearing = bearing + halfAngle
|
|
|
+ let halfAngle = (180 + bearing - lastBearing)/2 // 两条线的夹角的一半,普通角度
|
|
|
+ let rightBearing = bearing - halfAngle //这里需要是真北角
|
|
|
let leftBearing = 180 + rightBearing
|
|
|
|
|
|
- /* let fixAngle = Math.abs(halfAngle) > 180 ? Math.abs(halfAngle) : halfAngle
|
|
|
- * let leftWidth = airlineWidth/Math.sin(fixAngle)
|
|
|
- * let rightWidth = airlineWidth/Math.sin(fixAngle)
|
|
|
- * console.log('width is', airlineWidth, leftWidth, rightWidth, fixAngle, halfAngle) */
|
|
|
-
|
|
|
let leftWidth = airlineWidth
|
|
|
let rightWidth = airlineWidth
|
|
|
+ if(halfAngle != 90) { //直线上面是 90 度,不需要计算斜边
|
|
|
+ let angleToDecimal = halfAngle*Math.PI/180
|
|
|
+ leftWidth = Math.abs(airlineWidth/Math.sin(angleToDecimal))
|
|
|
+ rightWidth = Math.abs(airlineWidth/Math.sin(angleToDecimal))
|
|
|
+ }
|
|
|
|
|
|
let leftPoint = point.destinationPoint(leftWidth, leftBearing)
|
|
|
let rightPoint = point.destinationPoint(rightWidth, rightBearing)
|