fix pixelForLatLng during animated zoom

fix #1160
This commit is contained in:
Ansis Brammanis
2015-04-30 16:03:35 -07:00
parent c69e985fa5
commit ed9ef0f7d1

View File

@@ -238,6 +238,9 @@ void Transform::_setScaleXY(const double new_scale, const double xn, const doubl
current.scale = final.scale;
current.x = final.x;
current.y = final.y;
const double s = current.scale * util::tileSize;
current.Bc = s / 360;
current.Cc = s / util::M2PI;
} else {
const double startS = current.scale;
const double startX = current.x;
@@ -250,6 +253,9 @@ void Transform::_setScaleXY(const double new_scale, const double xn, const doubl
current.scale = util::interpolate(startS, final.scale, t);
current.x = util::interpolate(startX, final.x, t);
current.y = util::interpolate(startY, final.y, t);
const double s = current.scale * util::tileSize;
current.Bc = s / 360;
current.Cc = s / util::M2PI;
return Update::Zoom;
},
[=] {
@@ -258,10 +264,6 @@ void Transform::_setScaleXY(const double new_scale, const double xn, const doubl
}, duration);
}
const double s = final.scale * util::tileSize;
current.Bc = s / 360;
current.Cc = s / util::M2PI;
view.notifyMapChange(duration != Duration::zero() ?
MapChangeRegionDidChangeAnimated :
MapChangeRegionDidChange,