summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruno de Oliveira Abinader <bruno@mapbox.com>2018-11-24 17:31:13 +0200
committerBruno de Oliveira Abinader <bruno@mapbox.com>2018-11-25 11:53:51 +0200
commitaa1d3c7fea194c9db5e5802ac4cb2bf55e9bee0c (patch)
tree07fcd7cc91c895f0261400cf19867df852b232cb
parent72b62ef3b9b7c788f1755f38f73bbe1d5c49211f (diff)
downloadqtlocation-mapboxgl-upstream/fix-cameraoptions-anchor.tar.gz
[glfw] Use jumpTo() in the route demoupstream/fix-cameraoptions-anchor
-rw-r--r--platform/glfw/glfw_view.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/platform/glfw/glfw_view.cpp b/platform/glfw/glfw_view.cpp
index 9179113139..37d955ea52 100644
--- a/platform/glfw/glfw_view.cpp
+++ b/platform/glfw/glfw_view.cpp
@@ -261,18 +261,18 @@ void GLFWView::onKey(GLFWwindow *window, int key, int /*scancode*/, int action,
static double routeDistance = ruler.lineDistance(lineString);
static double routeProgress = 0;
routeProgress += 0.0005;
- if (routeProgress > 1.0) routeProgress = 0;
+ if (routeProgress > 1.0) {
+ routeProgress = 0;
+ }
- double distance = routeProgress * routeDistance;
- auto point = ruler.along(lineString, distance);
+ auto point = ruler.along(lineString, routeProgress * routeDistance);
+ const mbgl::LatLng center { point.y, point.x };
auto latLng = routeMap->getLatLng();
- routeMap->setLatLng({ point.y, point.x });
double bearing = ruler.bearing({ latLng.longitude(), latLng.latitude() }, point);
double easing = bearing - routeMap->getBearing();
easing += easing > 180.0 ? -360.0 : easing < -180 ? 360.0 : 0;
- routeMap->setBearing(routeMap->getBearing() + (easing / 20));
- routeMap->setPitch(60.0);
- routeMap->setZoom(18.0);
+ bearing = routeMap->getBearing() + (easing / 20);
+ routeMap->jumpTo(mbgl::CameraOptions().withCenter(center).withZoom(18.0).withAngle(bearing).withPitch(60.0));
};
view->animateRouteCallback(view->map);
} break;