如要使用資料導向樣式預覽,您必須建立使用 JavaScript 向量地圖的地圖 ID。接下來,您必須建立新的地圖樣式,選取所需的界線地圖項目圖層,然後將樣式與地圖 ID 建立關聯。
如果您打算使用 Region Lookup API,就必須在 Google API 控制台中啟用。
建立地圖 ID
如要建立新的地圖 ID,請按照「雲端自訂功能」一文中的步驟操作。請將「地圖類型」設為「JavaScript」,然後選取「向量」選項。勾選「傾斜」和/或「旋轉」,即可啟用地圖的傾斜和旋轉功能。要是使用傾斜或方向設定會對應用程式造成負面影響,請勿勾選「傾斜」和「旋轉」,以免使用者使用這兩項功能。
建立新地圖樣式
如要建立新地圖樣式,請按照「管理地圖樣式」一文中的說明操作,並將樣式與剛建立的地圖 ID 建立關聯。
選取地圖項目圖層
在 Google API 控制台中,您可以選取要顯示哪些地圖項目圖層,以便決定要在地圖上顯示的界線類型 (例如縣市、州/省等等)。
管理地圖項目圖層
- 在 Google API 控制台中,前往「地圖樣式」頁面。
- 畫面出現提示時,請選取專案。
- 選取地圖樣式。
- 按一下「地圖項目圖層」下拉式選單,即可新增或移除圖層。
- 按一下「儲存」,即可儲存您所做的變更並套用到地圖。
更新地圖初始化程式碼
這項操作需要使用您剛建立的地圖 ID,請到「地圖管理」頁面查看。
在 API
script
標記中使用v=beta
。舉例來說:<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&v=beta&callback=initMap"></script>
(選用) 加入
region
參數,設定地圖區域。這不但會將您的應用程式改為根據區域提供不同的地圖圖塊,還會修改某些界線地圖項目的多邊形。進一步瞭解區域本地化。<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY®ion=JP&libraries=places&v=beta&callback=initMap"></script>
使用
mapId
屬性執行地圖個體化時,請提供地圖 ID。這個地圖 ID 應使用已啟用地圖項目圖層的地圖樣式進行設定。map = new google.maps.Map(document.getElementById('map'), { center: {lat: -34.397, lng: 150.644}, zoom: 8, mapId: 'MAP_ID' // A map ID using a style with one or more feature layers enabled. });
在地圖中加入地圖項目圖層
如要取得地圖上地圖項目圖層的參照,請在地圖初始化時呼叫 map.getFeatureLayer()
:
function initMap() { map = new google.maps.Map(document.getElementById("map"), { center: { lat: 20.773, lng: -156.01 }, zoom: 12, mapId: 'MAP_ID', }); // Add a feature layer for localities. localityLayer = map.getFeatureLayer('LOCALITY'); ... }
檢查地圖功能
如要使用資料導向樣式,就必須在 Google API 控制台啟用相關功能,並與地圖 ID 建立關聯。地圖 ID 具有時效性,隨時都可能會變更,因此您可以先呼叫 map.getMapCapabilities()
來確認特定功能 (例如資料導向樣式) 是否可用,再進行呼叫。這項檢查為自選項目。
下例顯示如何新增事件監聽器來訂閱地圖功能變更:
// subscribe to changes map.addListener('mapcapabilities_changed', () => { const mapCapabilities = map.getMapCapabilities(); if (mapCapabilities.isDataDrivenStylingAvailable) { // Call data-driven styling here. } // When !mapCapabilities.isDataDrivenStylingAvailable, any existing featureLayers are also unavailable. });