[null,null,["上次更新時間:2025-07-22 (世界標準時間)。"],[],[],null,["Select platform: [Android](/maps/documentation/maps-3d/android-sdk/configure-camera-controls \"View this page for the Android platform docs.\") [iOS](/maps/documentation/maps-3d/ios-sdk/configure-camera-controls \"View this page for the iOS platform docs.\") [JavaScript](/maps/documentation/javascript/3d/map-controls \"View this page for the JavaScript platform docs.\")\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| This product or feature is in Preview (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\n| descriptions](/maps/launch-stages).\n\n\u003cbr /\u003e\n\nControls Overview\n\nThe maps displayed through the Photorealistic 3D Maps in Maps JavaScript API contain UI elements to support\nuser interaction with the map. These elements are known as *controls* and you\ncan elect to include them in the UI, or not to. If you suppress the UI controls,\nthe user can still navigate around the map using keyboard shortcuts.\n\nThe Photorealistic 3D Maps in Maps JavaScript API also supports guiding your users around the map using\npreset camera paths. These paths can be customized and combined to create rich\n3D experiences.\n| **Tip:** To enforce restrictions on the latitude, longitude, and camera behavior, see [Control the map and camera](/maps/documentation/javascript/3d/interaction).\n\nExploration controls\n\nThe following image shows the default set of controls displayed by the\nPhotorealistic 3D Maps in Maps JavaScript API:\n\nBelow is a list of the full set of controls in the Photorealistic 3D Maps in Maps JavaScript:\n\n- The **Zoom control** displays \"+\" and \"-\" buttons for changing the zoom level of the map.\n- The **Tilt control** lets you change the camera's tilt.\n- The **Rotate control** lets you change the camera's heading.\n- The **Move control** displays \"←\", \"→\", \"↑\", and \"↓\" buttons for changing the center of the map.\n\nThe following code sample demonstrates toggling exploration controls: \n\nJavaScript \n\n const map = new Map3DElement({\n center: { lat: 37.819852, lng: -122.478549, altitude: 2000 },\n tilt: 75,\n heading: 330,\n mode: MapMode.SATELLITE,\n defaultUIDisabled: true,\n });\n\nHTML \n\n \u003cgmp-map-3d\n mode=\"hybrid\"\n range=\"639.274301042242\"\n tilt=\"64.92100184857551\"\n center=\"34.0768990953219,-118.47450491266041,292.9794737933403\"\n heading=\"-61.02026752077781\"\n default-ui-disabled\n \u003e\u003c/gmp-map-3d\u003e\n\nPreset camera paths\n\nPhotorealistic 3D Maps in Maps JavaScript provides two preset camera paths. The camera paths can be\ncustomized by changing the duration of the animation (thereby increasing or\ndecreasing speed), or by combining them to create more cinematic experiences.\n\nPhotorealistic 3D Maps in Maps JavaScript supports the following camera paths:\n\n- `flyCameraTo` animation flies from the map center to a specified destination.\n- `flyCameraAround` animation rotates around a point on the map the specified number of rounds.\n\nThe two available paths may be combined to fly to a point of interest, rotate\naround it, and then stop when specified.\n\nFly to\n\nThe following code sample demonstrates animating the camera to fly to a\nlocation: \n\n const map = document.querySelector('gmp-map-3d');\n\n async function init() {\n await google.maps.importLibrary('maps3d');\n\n map.flyCameraTo({\n endCamera: {\n center: { lat: 37.6191, lng: -122.3816 },\n tilt: 67.5,\n range: 1000\n },\n durationMillis: 5000\n });\n }\n\nFly around\n\nThe following code sample demonstrates animating the camera to fly around a\nlocation: \n\n const map = document.querySelector('gmp-map-3d');\n\n async function init() {\n await google.maps.importLibrary('maps3d');\n\n map.flyCameraAround({\n camera,\n durationMillis: 60000,\n rounds: 1\n });\n }\n\nCombine animations\n\nThe following code sample demonstrates combining animations to fly the camera to\na location, and then rotate around the location when the first animation ends: \n\n const map = document.querySelector('gmp-map-3d');\n\n async function init() {\n await google.maps.importLibrary('maps3d');\n\n map.flyCameraTo({\n endCamera: flyToCamera,\n durationMillis: 5000,\n });\n\n map.addEventListener('gmp-animation-end', () =\u003e {\n map.flyCameraAround({\n camera: flyToCamera,\n durationMillis: 60000,\n rounds: 1\n });\n }, {once: true});\n }\n\nNext steps\n\n- Learn how to [restrict the map and camera](/maps/documentation/javascript/3d/interaction).\n- Learn how to [listen for and handle user interaction](/maps/documentation/javascript/3d/map-events)."]]