Slowly fly to a location
Use flyTo with flyOptions to slowly zoom to a location.<!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <link rel="stylesheet" href="https://maps-sdk.trimblemaps.com/v4/trimblemaps-4.2.3.css" /> <script src="https://maps-sdk.trimblemaps.com/v4/trimblemaps-4.2.3.js"></script> <style> body { margin: 0; padding: 0; } html,body,#map { height: 100%; overflow: hidden; } #fly { display: block; position: absolute; top: 20px; left: 50%; transform: translate(-50%); width: 50%; height: 40px; padding: 10px; border: none; border-radius: 3px; font-size: 12px; text-align: center; color: #fff; background: #ee8a65; } </style> </head> <body> <div id="map"></div> <br> <button type="button" id="fly">Fly</button> <script> const start = [-74.5, 40]; const end = [74.5, 40]; TrimbleMaps.setAPIKey('YOUR_API_KEY_HERE'); const map = new TrimbleMaps.Map({ container: "map", style: TrimbleMaps.Common.Style.TRANSPORTATION, center: start, zoom: 9, }); let isAtStart = true; document.getElementById('fly').addEventListener('click', () => { // depending on whether we're currently at point a or b, aim for // point a or b const target = isAtStart ? end : start; // and now we're at the opposite point isAtStart = !isAtStart; map.flyTo({ // These options control the ending camera position: centered at // the target, at zoom level 9, and north up. center: target, zoom: 9, bearing: 0, // These options control the flight curve, making it move // slowly and zoom out almost completely before starting // to pan. speed: 0.2, // make the flying slow curve: 1, // change the speed at which it zooms out // This can be any easing function: it takes a number between // 0 and 1 and returns another number between 0 and 1. easing(t) { return t; }, // this animation is considered essential with respect to prefers-reduced-motion essential: true, }); }); </script> </body> </html>
Slowly fly to a location
<!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <link rel="stylesheet" href="https://maps-sdk.trimblemaps.com/v4/trimblemaps-4.2.3.css" /> <script src="https://maps-sdk.trimblemaps.com/v4/trimblemaps-4.2.3.js"></script> <style> body { margin: 0; padding: 0; } html,body,#map { height: 100%; overflow: hidden; } #fly { display: block; position: absolute; top: 20px; left: 50%; transform: translate(-50%); width: 50%; height: 40px; padding: 10px; border: none; border-radius: 3px; font-size: 12px; text-align: center; color: #fff; background: #ee8a65; } </style> </head> <body> <div id="map"></div> <br> <button type="button" id="fly">Fly</button> <script> const start = [-74.5, 40]; const end = [74.5, 40]; TrimbleMaps.setAPIKey('YOUR_API_KEY_HERE'); const map = new TrimbleMaps.Map({ container: "map", style: TrimbleMaps.Common.Style.TRANSPORTATION, center: start, zoom: 9, }); let isAtStart = true; document.getElementById('fly').addEventListener('click', () => { // depending on whether we're currently at point a or b, aim for // point a or b const target = isAtStart ? end : start; // and now we're at the opposite point isAtStart = !isAtStart; map.flyTo({ // These options control the ending camera position: centered at // the target, at zoom level 9, and north up. center: target, zoom: 9, bearing: 0, // These options control the flight curve, making it move // slowly and zoom out almost completely before starting // to pan. speed: 0.2, // make the flying slow curve: 1, // change the speed at which it zooms out // This can be any easing function: it takes a number between // 0 and 1 and returns another number between 0 and 1. easing(t) { return t; }, // this animation is considered essential with respect to prefers-reduced-motion essential: true, }); }); </script> </body> </html>