diff options
author | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2018-11-24 17:31:13 +0200 |
---|---|---|
committer | Bruno de Oliveira Abinader <bruno@mapbox.com> | 2018-11-25 11:53:51 +0200 |
commit | aa1d3c7fea194c9db5e5802ac4cb2bf55e9bee0c (patch) | |
tree | 07fcd7cc91c895f0261400cf19867df852b232cb | |
parent | 72b62ef3b9b7c788f1755f38f73bbe1d5c49211f (diff) | |
download | qtlocation-mapboxgl-upstream/fix-cameraoptions-anchor.tar.gz |
[glfw] Use jumpTo() in the route demoupstream/fix-cameraoptions-anchor
-rw-r--r-- | platform/glfw/glfw_view.cpp | 14 |
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; |