Bản đồ hiển thị thông qua Bản đồ 3D chân thực trong Maps JavaScript API có các phần tử trên giao diện người dùng để hỗ trợ người dùng tương tác với bản đồ. Các phần tử này được gọi là nút điều khiển và bạn có thể chọn đưa chúng vào giao diện người dùng hoặc không. Nếu bạn chặn các chế độ kiểm soát trên giao diện người dùng, người dùng vẫn có thể di chuyển trên bản đồ bằng phím tắt.
Bản đồ 3D chân thực trong Maps JavaScript API cũng hỗ trợ hướng dẫn người dùng di chuyển trên bản đồ bằng cách sử dụng các đường dẫn camera đặt sẵn. Bạn có thể tuỳ chỉnh và kết hợp các đường dẫn này để tạo ra trải nghiệm 3D phong phú.
Chế độ kiểm soát việc khám phá
Hình ảnh sau đây cho thấy bộ điều khiển mặc định do Bản đồ 3D chân thực hiển thị trong Maps JavaScript API:
Dưới đây là danh sách đầy đủ các chế độ kiểm soát trong Bản đồ 3D chân thực trong Maps JavaScript:
Nút điều khiển thu phóng hiển thị các nút "+" và "-" để thay đổi mức thu phóng của bản đồ.
Chế độ điều khiển độ nghiêng cho phép bạn thay đổi độ nghiêng của camera.
Chế độ xoay cho phép bạn thay đổi hướng của camera.
Nút di chuyển hiển thị các nút "←", "→", "↑" và "↓" để thay đổi tâm của bản đồ.
Mã mẫu sau đây minh hoạ cách bật/tắt các chế độ kiểm soát khám phá:
Bản đồ 3D chân thực trong Maps JavaScript cung cấp 2 đường dẫn camera đặt sẵn. Bạn có thể tuỳ chỉnh đường dẫn camera bằng cách thay đổi thời lượng của ảnh động (do đó tăng hoặc giảm tốc độ) hoặc bằng cách kết hợp các đường dẫn để tạo ra trải nghiệm điện ảnh hơn.
Bản đồ 3D chân thực trong Maps JavaScript hỗ trợ các đường dẫn camera sau:
Ảnh động flyCameraTo bay từ tâm bản đồ đến một đích đến cụ thể.
Ảnh động flyCameraAround xoay quanh một điểm trên bản đồ theo số vòng được chỉ định.
Bạn có thể kết hợp hai đường dẫn có sẵn để bay đến một điểm tham quan, xoay quanh điểm đó rồi dừng lại khi được chỉ định.
Chuyển đến
Mã mẫu sau đây minh hoạ cách tạo hiệu ứng cho camera bay đến một vị trí:
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-07-22 UTC."],[],[],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)."]]