Data-driven styling

FeatureLayer 介面

google.maps.FeatureLayer 介面

這個介面代表地圖圖層,其中包含特定 FeatureType 的地圖項目,其樣式可由用戶端覆寫,或附加事件。

featureType
類型:  FeatureType
與這個 FeatureLayer 相關聯的 FeatureType
isAvailable
類型:  boolean
指出這個 FeatureLayer 是否可用,表示地圖是否可使用資料導向樣式 (在 Google Cloud 控制台地圖樣式中,使用的是已啟用這個 FeatureLayer 的向量圖塊的地圖 ID)。如果此屬性為 false (或變成 false),這個 FeatureLayer 的樣式會恢復為預設值,不會觸發事件。
BetadatasetId optional
類型:  string optional
這個 FeatureLayer 的資料集 ID。只有在 featureTypeFeatureType.DATASET 時才會顯示。
style optional
FeatureLayer 中的 Feature 樣式。設定樣式後,就會套用該樣式。如果樣式函式更新,則必須再次設定樣式屬性。將 FeatureStyleFunction 套用至地圖圖塊時,必須傳回一致的結果,因此應最佳化效能。不支援非同步函式。如果您使用 FeatureStyleOptions,該圖層的所有地圖項目都會用同一個 FeatureStyleOptions 設定樣式。將樣式設為 null,即可移除先前設定的樣式。如果無法使用這個 FeatureLayer,設定樣式就不會執行任何動作並記錄錯誤。
addListener
addListener(eventName, handler)
參數: 
  • eventNamestring 個觀察到的事件。
  • handlerFunction 處理事件的函式。
回傳值:  MapsEventListener 產生的事件監聽器。
將指定的事件監聽器函式加到指定的事件名稱。傳回可以與 event.removeListener 搭配使用的事件監聽器 ID。
click
function(event)
引數: 
按一下 FeatureLayer 時,會觸發此事件。
mousemove
function(event)
引數: 
使用者的滑鼠在 FeatureLayer 上移動時,會觸發此事件。

FeatureType 常數

google.maps.FeatureType 常數

功能類型的 ID。

呼叫 const {FeatureType} = await google.maps.importLibrary("maps") 即可存取。請參閱 Maps JavaScript API 中的程式庫

ADMINISTRATIVE_AREA_LEVEL_1 表示國家/地區層級底下的第一順位行政實體。
ADMINISTRATIVE_AREA_LEVEL_2 表示國家/地區層級底下的第二順位行政實體。
COUNTRY 表示國家政治實體。
BetaDATASET 代表第三方資料集。
LOCALITY 表示自治城市或鄉鎮的政治實體。
POSTAL_CODE 表示國家/地區郵政地址所使用的郵遞區號。
SCHOOL_DISTRICT 表示學區。

FeatureStyleFunction typedef 類型

google.maps.FeatureStyleFunction typedef

設定 FeatureLayer 樣式的函式。

function(FeatureStyleFunctionOptions): (FeatureStyleOptions optional)

FeatureStyleFunctionOptions 介面

google.maps.FeatureStyleFunctionOptions 介面

傳遞至 FeatureStyleFunction 的選項。

feature
類型:  Feature
Feature 會傳入 FeatureStyleFunction 以設定樣式。

FeatureStyleOptions 介面

google.maps.FeatureStyleOptions 介面

這些選項會指定地圖上 Feature 的樣式修改方式。

fillColor optional
類型:  string optional
十六進位 RGB 字串 (例如「#00FF00」代表綠色)。僅適用於多邊形幾何圖形。
fillOpacity optional
類型:  number optional
填滿不透明度介於 0.0 和 1.0 之間。僅適用於多邊形幾何圖形。
strokeColor optional
類型:  string optional
十六進位 RGB 字串 (例如「#00FF00」代表綠色)。
strokeOpacity optional
類型:  number optional
筆觸不透明度,範圍介於 0.0 和 1.0 之間。僅適用於線條和多邊形幾何圖形。
strokeWeight optional
類型:  number optional
筆觸寬度 (以像素為單位)。僅適用於線條和多邊形幾何圖形。

Feature 介面

google.maps.Feature 介面

代表向量地圖圖塊地圖項目的介面。這些是 FeatureStyleFunction 的輸入內容。不要儲存對特定 Feature 物件的參照,因為參照並不穩定。

featureType
類型:  FeatureType
這張FeatureFeatureType

PlaceFeature 介面

google.maps.PlaceFeature 介面

代表地圖項目 (具有地點 ID) 的介面,其中包含 FeatureType.ADMINISTRATIVE_AREA_LEVEL_1FeatureType.ADMINISTRATIVE_AREA_LEVEL_2FeatureType.COUNTRYFeatureType.LOCALITYFeatureType.POSTAL_CODEFeatureType.SCHOOL_DISTRICT 類型的地圖項目。

這個介面會擴充 Feature

placeId
類型:  string
已沿用: featureType
fetchPlace
fetchPlace()
參數:
傳回值:  Promise<Place>
擷取這個 PlaceFeaturePlace。在產生的 Place 物件中,系統會填入 iddisplayName 屬性。顯示名稱會以使用者在地圖上看到的語言顯示。(之後若透過 Place.fetchFields() 要求其他欄位,將視一般 Places API 啟用和計費方式而定)。由於系統僅支援同步的 FeatureStyleFunction,因此請勿從 FeatureStyleFunction 呼叫此方法。如果擷取 Place 時發生錯誤,承諾會遭拒。

DatasetFeature 介面

google.maps.DatasetFeature 介面

代表資料集內地圖項目的介面。DatasetFeaturefeatureType 一律為 FeatureType.DATASET

這個介面會擴充 Feature

datasetAttributes
類型:  Object<string, string>
地圖項目屬性的鍵/值對應。
datasetId
類型:  string
這個地圖項目所屬的資料集 ID。
已沿用: featureType

FeatureMouseEvent 介面

google.maps.FeatureMouseEvent 介面

這個物件會從 FeatureLayer 上的滑鼠事件傳回。

這個介面會擴充 MapMouseEvent

features
類型:  Array<Feature>
這個滑鼠事件中的 Feature
繼承: domEventlatLng
已沿用: stop