Skip to content

Commit

Permalink
Fix rotation #17506
Browse files Browse the repository at this point in the history
  • Loading branch information
cepprice committed Sep 6, 2023
1 parent ddff9ec commit 09b2be6
Showing 1 changed file with 13 additions and 15 deletions.
28 changes: 13 additions & 15 deletions OsmAnd/src/net/osmand/plus/views/OsmandMapTileView.java
Original file line number Diff line number Diff line change
Expand Up @@ -1303,24 +1303,22 @@ private void setRotateImpl(float rotate) {
private void setRotateImpl(float rotate, int centerX, int centerY) {
MapRendererView mapRenderer = getMapRenderer();
if (mapRenderer != null) {
int centerX31 = 0;
int centerY31 = 0;
PointI center31 = new PointI();
if (mapRenderer.getLocationFromScreenPoint(new PointI(centerX, centerY), center31)) {
centerX31 = center31.getX();
centerY31 = center31.getY();
int centerX31 = center31.getX();
int centerY31 = center31.getY();
PointI target31 = mapRenderer.getTarget();
float azimuth = mapRenderer.getAzimuth();
int targetX = target31.getX() - centerX31;
int targetY = target31.getY() - centerY31;
double angleR = Math.toRadians(-azimuth - rotate);
double cosAngle = Math.cos(angleR);
double sinAngle = Math.sin(angleR);
int newTargetX = (int) (targetX * cosAngle - targetY * sinAngle + centerX31);
int newTargetY = (int) (targetX * sinAngle + targetY * cosAngle + centerY31);
mapRenderer.setTarget(new PointI(newTargetX, newTargetY));
mapRenderer.setAzimuth(-rotate);
}
PointI target31 = mapRenderer.getTarget();
float azimuth = mapRenderer.getAzimuth();
int targetX = target31.getX() - centerX31;
int targetY = target31.getY() - centerY31;
double angleR = Math.toRadians(-azimuth - rotate);
double cosAngle = Math.cos(angleR);
double sinAngle = Math.sin(angleR);
int newTargetX = (int) (targetX * cosAngle - targetY * sinAngle + centerX31);
int newTargetY = (int) (targetX * sinAngle + targetY * cosAngle + centerY31);
mapRenderer.setTarget(new PointI(newTargetX, newTargetY));
mapRenderer.setAzimuth(-rotate);
}
currentViewport.setRotate(rotate);
}
Expand Down

0 comments on commit 09b2be6

Please sign in to comment.