本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 設定地圖的範圍 MapLibre
有些時候,您不希望您的使用者在世界各地平移或縮放。如果您使用的是 MapLibre的地圖控制項,您可以使用 maxBounds
選項限制地圖控制項的範圍 或邊界 ,並使用 minZoom
和 maxZoom
選項限制縮放。
下列程式碼範例示範如何初始化地圖控制,以限制平移至特定界限 (在此情況下,限制擷取資料來源的範圍)。
注意
這些範例位於 中 JavaScript,並在建立 Web 應用程式以使用 Amazon Location Service教學課程的內容中運作。
// Set bounds to Grab data provider region var bounds = [ [90.0, -21.943045533438166], // Southwest coordinates [146.25, 31.952162238024968] // Northeast coordinates ]; var mlglMap = new maplibregl.Map( { container: 'map', style: mapName, maxBounds: bounds // Sets bounds as max transformRequest, } );
同樣地,您可以設定地圖的最小和最大縮放層級。兩者的值可以介於 0 到 24 之間,但最小縮放的預設值為 0,最大為 22 (資料提供者可能無法在所有縮放層級提供資料。 大多數地圖程式庫會自動處理這種情況)。下列範例會初始化 MapLibre 地圖控制項上的 minZoom
和 maxZoom
選項。
// Set the minimum and maximum zoom levels var mlglMap = new maplibregl.Map( { container: 'map', style: mapName, maxZoom: 12, minZoom: 5, transformRequest, } );
提示
MapLibre 地圖控制項也允許在執行階段設定這些選項,而不是在初始化期間使用 get...
和 set...
函數。例如,使用 getMaxBounds
和 在執行階段setMaxBounds
變更地圖界限。