控制項總覽
透過 Maps JavaScript API 的擬真 3D 地圖顯示的地圖包含 UI 元素,可支援使用者與地圖互動。這些元素稱為「控制項」,您可以選擇是否要在 UI 中加入這些元素。如果您隱藏 UI 控制項,使用者仍可使用鍵盤快速鍵瀏覽地圖。
Maps JavaScript API 的擬真 3D 地圖也支援使用預設攝影機路徑,引導使用者瀏覽地圖。您可以自訂及合併這些路徑,打造豐富的 3D 體驗。
探索控制選項
下圖顯示 Maps JavaScript API 中,擬真 3D 地圖預設顯示的控制項組合:
以下列出了 Maps JavaScript 擬真 3D 地圖中的所有控制項:
- 「縮放控制項」會顯示「+」和「-」按鈕,用於變更地圖的縮放等級。
- 傾斜控制項可讓您變更攝影機的傾斜角度。
- 旋轉控制項可讓您變更攝影機的航向。
- 「移動控制項」會顯示「←」、「→」、「↑」和「↓」按鈕,用於變更地圖中心。
下列程式碼範例示範如何切換探索控制項:
JavaScript
const map = new Map3DElement({
center: { lat: 37.819852, lng: -122.478549, altitude: 2000 },
tilt: 75,
heading: 330,
mode: MapMode.SATELLITE,
defaultUIDisabled: true,
});
HTML
<gmp-map-3d
mode="hybrid"
range="639.274301042242"
tilt="64.92100184857551"
center="34.0768990953219,-118.47450491266041,292.9794737933403"
heading="-61.02026752077781"
default-ui-disabled
></gmp-map-3d>
預設攝影機路徑
Maps JavaScript 中的擬真 3D 地圖提供兩種預設攝影機路徑。您可以變更動畫的持續時間 (藉此加快或減慢速度),或是結合多個路徑,打造更具電影感的體驗,自訂攝影機路徑。
Maps JavaScript 中的擬真 3D 地圖支援下列攝影機路徑:
flyCameraTo
動畫會從地圖中心飛往指定目的地。flyCameraAround
動畫會繞著地圖上的某個點旋轉,並重複指定次數。
您可以結合這兩種路徑,先飛往興趣點,再繞著該點旋轉,然後在指定位置停止。
目的地
下列程式碼範例示範如何將攝影機動畫設為飛往某個位置:
const map = document.querySelector('gmp-map-3d');
async function init() {
await google.maps.importLibrary('maps3d');
map.flyCameraTo({
endCamera: {
center: { lat: 37.6191, lng: -122.3816 },
tilt: 67.5,
range: 1000
},
durationMillis: 5000
});
}
飛越
以下程式碼範例說明如何將攝影機動畫設為在某個位置附近飛越:
const map = document.querySelector('gmp-map-3d');
async function init() {
await google.maps.importLibrary('maps3d');
map.flyCameraAround({
camera,
durationMillis: 60000,
rounds: 1
});
}
合併動畫
以下程式碼範例說明如何合併動畫,將攝影機飛往某個位置,然後在第一個動畫結束時繞著該位置旋轉:
const map = document.querySelector('gmp-map-3d');
async function init() {
await google.maps.importLibrary('maps3d');
map.flyCameraTo({
endCamera: flyToCamera,
durationMillis: 5000,
});
map.addEventListener('gmp-animation-end', () => {
map.flyCameraAround({
camera: flyToCamera,
durationMillis: 60000,
rounds: 1
});
}, {once: true});
}
後續步驟
- 瞭解如何限制地圖和攝影機。
- 瞭解如何監聽及處理使用者互動。