You can add camera paths animations to your 3D map to provide a more immersive
experience for your users. Camera path animations can fly to or fly around a point on the map.
Fly to
The following code sample demonstrates how to animate the camera to fly to a specific point on a 3D map by calling
the flyCameraTo
method. To use this code sample, follow the instructions in
Setup and
Add a 3D map to your app to set
up your Android Studio project with a basic 3D map. Then, add the following code to the
MainActivity.kt file:
// Add imports and define constantsimportcom.google.android.gms.maps3d.model.latLngAltitudeconstvalEMPIRE_STATE_BUILDING_LATITUDE=40.748233constvalEMPIRE_STATE_BUILDING_LONGITUDE=-73.985663...// Add to the onMap3DViewReady method, after the googleMap3D object has been initializedgoogleMap3D.flyCameraTo(flyToOptions{endCamera=camera{center=latLngAltitude{latitude=EMPIRE_STATE_BUILDING_LATITUDElongitude=EMPIRE_STATE_BUILDING_LONGITUDEaltitude=212.0// in meters}heading=34.0// bearing in degreestilt=67.0// relative to verticalrange=750.0// distance away from the focal point in metersroll=0.0// roll relative to horizontal}durationInMillis=2_000})
Fly around
The following code sample demonstrates how to animate the camera to fly around a specific point on a 3D map by
calling the flyCameraAround
method. To use this code sample, follow the
instructions in
Setup and
Add a 3D map to your app
to set up your Android Studio project with a basic 3D map. Then, add the
following code to the MainActivity.kt file:
// Add imports and define constantsimportcom.google.android.gms.maps3d.model.latLngAltitudeconstvalEMPIRE_STATE_BUILDING_LATITUDE=40.748233constvalEMPIRE_STATE_BUILDING_LONGITUDE=-73.985663...// Add to the onMap3DViewReady method, after the googleMap3D object has been initializedgoogleMap3D.flyCameraAround(flyAroundOptions{center=camera{center=latLngAltitude{latitude=EMPIRE_STATE_BUILDING_LATITUDElongitude=EMPIRE_STATE_BUILDING_LONGITUDEaltitude=212.0}heading=34.0tilt=67.0range=750.0roll=0.0}durationInMillis=5_000rounds=1.0// Number of rotations - can be fractional})
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-26 UTC."],[],[],null,["# Add camera path animations\n\nSelect platform: [Android](/maps/documentation/maps-3d/android-sdk/custom-camera-paths \"View this page for the Android platform docs.\") [iOS](/maps/documentation/maps-3d/ios-sdk/custom-camera-paths \"View this page for the iOS platform docs.\")\n\n\u003cbr /\u003e\n\n| This product or feature is Experimental (pre-GA). Pre-GA products and features might have limited support, and changes to pre-GA products and features might not be compatible with other pre-GA versions. Pre-GA Offerings are covered by the [Google\n| Maps Platform Service Specific Terms](https://cloud.google.com/maps-platform/terms/maps-service-terms). For more information, see the [launch stage descriptions](/maps/launch-stages).\n\n\nYou can add camera paths animations to your 3D map to provide a more immersive\nexperience for your users. Camera path animations can fly to or fly around a point on the map.\n\nFly to\n------\n\n\nThe following code sample demonstrates how to animate the camera to fly to a specific point on a 3D map by calling\nthe [`flyCameraTo`](/maps/documentation/maps-3d/android-sdk/reference/com/google/android/gms/maps3d/GoogleMap3D#flyCameraTo(com.google.android.gms.maps3d.model.FlyToOptions))\nmethod. To use this code sample, follow the instructions in\n[Setup](/maps/documentation/maps-3d/android-sdk/setup) and\n[Add a 3D map to your app](/maps/documentation/maps-3d/android-sdk/add-a-3d-map) to set\nup your Android Studio project with a basic 3D map. Then, add the following code to the\n**`MainActivity.kt`** file: \n\n```kotlin\n// Add imports and define constants\nimport com.google.android.gms.maps3d.model.latLngAltitude\nconst val EMPIRE_STATE_BUILDING_LATITUDE = 40.748233\nconst val EMPIRE_STATE_BUILDING_LONGITUDE = -73.985663\n\n...\n \n// Add to the onMap3DViewReady method, after the googleMap3D object has been initialized\ngoogleMap3D.flyCameraTo(\n flyToOptions {\n endCamera = camera {\n center = latLngAltitude {\n latitude = EMPIRE_STATE_BUILDING_LATITUDE\n longitude = EMPIRE_STATE_BUILDING_LONGITUDE\n altitude = 212.0 // in meters\n }\n heading = 34.0 // bearing in degrees\n tilt = 67.0 // relative to vertical\n range = 750.0 // distance away from the focal point in meters\n roll = 0.0 // roll relative to horizontal\n }\n durationInMillis = 2_000\n }\n)\n```\n\nFly around\n----------\n\n\nThe following code sample demonstrates how to animate the camera to fly around a specific point on a 3D map by\ncalling the [`flyCameraAround`](/maps/documentation/maps-3d/android-sdk/reference/com/google/android/gms/maps3d/GoogleMap3D#flyCameraAround(com.google.android.gms.maps3d.model.FlyAroundOptions))\nmethod. To use this code sample, follow the\ninstructions in\n[Setup](/maps/documentation/maps-3d/android-sdk/setup) and\n[Add a 3D map to your app](/maps/documentation/maps-3d/android-sdk/add-a-3d-map)\nto set up your Android Studio project with a basic 3D map. Then, add the\nfollowing code to the **`MainActivity.kt`** file: \n\n```kotlin\n// Add imports and define constants\nimport com.google.android.gms.maps3d.model.latLngAltitude\nconst val EMPIRE_STATE_BUILDING_LATITUDE = 40.748233\nconst val EMPIRE_STATE_BUILDING_LONGITUDE = -73.985663\n\n...\n\n// Add to the onMap3DViewReady method, after the googleMap3D object has been initialized\ngoogleMap3D.flyCameraAround(\n flyAroundOptions {\n center = camera {\n center = latLngAltitude {\n latitude = EMPIRE_STATE_BUILDING_LATITUDE\n longitude = EMPIRE_STATE_BUILDING_LONGITUDE\n altitude = 212.0\n }\n heading = 34.0\n tilt = 67.0\n range = 750.0\n roll = 0.0\n }\n durationInMillis = 5_000\n rounds = 1.0 // Number of rotations - can be fractional\n }\n)\n```"]]