Advanced Markers

AdvancedMarkerElement 類別

google.maps.marker.AdvancedMarkerElement class

在地圖上顯示位置。請注意,必須設定 position,系統才會顯示 AdvancedMarkerElement。

自訂元素:
<gmp-advanced-marker anchor-left="string" anchor-top="string" gmp-clickable position="lat,lng" title="string"></gmp-advanced-marker>

這個類別會擴充 HTMLElement。

這個類別會實作 AdvancedMarkerElementOptions。

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

AdvancedMarkerElement
AdvancedMarkerElement([options])
參數: 
使用指定選項建立 AdvancedMarkerElement。如果指定地圖,系統會在建構時將 AdvancedMarkerElement 新增至地圖。
anchorLeft
類型:  string optional
預設值:「-50%」
CSS 長度百分比值,用於從標記左上角偏移標記的錨點。如果使用的圖像錨點與預設標記的一般底部中心點不同,這個方法就非常實用。
HTML 屬性:
  • <gmp-advanced-marker anchor-left="string"></gmp-advanced-marker>
anchorTop
類型:  string optional
預設值:「-100%」
CSS 長度百分比值,用於從標記左上角偏移標記的錨點。如果使用的圖像錨點與預設標記的一般底部中心點不同,這個方法就非常實用。
HTML 屬性:
  • <gmp-advanced-marker anchor-top="string"></gmp-advanced-marker>
collisionBehavior
類型:  CollisionBehavior optional
gmpClickable
類型:  boolean optional
HTML 屬性:
  • <gmp-advanced-marker gmp-clickable></gmp-advanced-marker>
gmpDraggable
類型:  boolean optional
map
類型:  Map optional
詳情請參閱《AdvancedMarkerElementOptions.map》。
position
HTML 屬性:
  • <gmp-advanced-marker position="lat,lng"></gmp-advanced-marker>
  • <gmp-advanced-marker position="lat,lng,altitude"></gmp-advanced-marker>
title
類型:  string
詳情請參閱《AdvancedMarkerElementOptions.title》。
HTML 屬性:
  • <gmp-advanced-marker title="string"></gmp-advanced-marker>
zIndex
類型:  number optional
詳情請參閱《AdvancedMarkerElementOptions.zIndex》。
element
類型:  HTMLElement
這個欄位為唯讀。支援檢視畫面的 DOM 元素。
content
類型:  Node optional
詳情請參閱《AdvancedMarkerElementOptions.content》。
addEventListener
addEventListener(type, listener[, options])
參數: 
  • type:string區分大小寫的字串,代表要監聽的事件類型。
  • listener:EventListener|EventListenerObject接收通知的物件。這必須是函式或具有 handleEvent 方法的物件
  • options:boolean|AddEventListenerOptions optional。查看選項。自訂事件僅支援 capture 和 passive。
傳回值:  void
設定函式,每當指定事件傳送至目標時,系統就會呼叫該函式。請參閱 addEventListener
addListener
addListener(eventName, handler)
參數: 
  • eventName:string觀測到的事件。
  • handler:用於處理事件的 Function 函式。
傳回值:  MapsEventListener 產生的事件監聽器。
將指定的事件監聽器函式,新增至 Maps 事件系統中的指定事件名稱。
removeEventListener
removeEventListener(type, listener[, options])
參數: 
傳回值:  void
從目標中移除先前使用 addEventListener 註冊的事件監聽器。請參閱 removeEventListener。
click
function(event)
引數: 
使用者點選 AdvancedMarkerElement 元素時,系統會觸發這個事件。

不適用於 addEventListener() (請改用 gmp-click)。
drag
function(event)
引數: 
使用者拖曳AdvancedMarkerElement時,系統會重複觸發這個事件。

不適用於addEventListener()。
dragend
function(event)
引數: 
使用者停止拖曳 AdvancedMarkerElement 時,系統會觸發這個事件。

不適用於addEventListener()。
dragstart
function(event)
引數: 
使用者開始拖曳 AdvancedMarkerElement 時,系統會觸發這個事件。

不適用於addEventListener()。
gmp-click
function(event)
引數: 
使用者點選 AdvancedMarkerElement 元素時,系統會觸發這個事件。建議搭配 addEventListener() 使用 (而非 addListener())。

AdvancedMarkerElementOptions 介面

google.maps.marker.AdvancedMarkerElementOptions 介面

建構 AdvancedMarkerElement 的選項。

anchorLeft optional
類型:  string optional
預設值:「-50%」
CSS 長度百分比值,用於從標記左上角偏移標記的錨點。如果使用的圖像錨點與預設標記的一般底部中心點不同,這個方法就非常實用。
anchorTop optional
類型:  string optional
預設值:「-100%」
CSS 長度百分比值,用於從標記左上角偏移標記的錨點。如果使用的圖像錨點與預設標記的一般底部中心點不同,這個方法就非常實用。
collisionBehavior optional
類型:  CollisionBehavior optional
這個列舉會指定 AdvancedMarkerElement 與其他 AdvancedMarkerElement 或向量地圖上的基本地圖標籤衝突時,應呈現的行為。

注意:AdvancedMarkerElement 與 AdvancedMarkerElement 衝突適用於光柵和向量地圖,但 AdvancedMarkerElement 與基本地圖標籤衝突僅適用於向量地圖。

content optional
類型:  Node optional
預設值: PinElement
支援 AdvancedMarkerElement 視覺效果的 DOM 元素。

注意:AdvancedMarkerElement 不會複製傳入的 DOM 元素,DOM 元素傳遞至 AdvancedMarkerElement 後,如果將同一個 DOM 元素傳遞至另一個 AdvancedMarkerElement,DOM 元素會移動,導致先前的 AdvancedMarkerElement 看起來是空的。

gmpClickable optional
類型:  boolean optional
預設值: false
如果 true,AdvancedMarkerElement 將可點擊並觸發 gmp-click 事件,且可互動以提供無障礙功能 (例如允許透過方向鍵進行鍵盤導覽)。
gmpDraggable optional
類型:  boolean optional
預設值: false
如果為 true,則可拖曳 AdvancedMarkerElement。

注意:含有高度的 AdvancedMarkerElement 無法拖曳。

map optional
類型:  Map optional
要顯示AdvancedMarkerElement的地圖。地圖必須顯示 AdvancedMarkerElement,如果建構時未提供,可以透過設定 AdvancedMarkerElement.map 提供。
position optional
設定 AdvancedMarkerElement 的位置。AdvancedMarkerElement 可以在沒有位置的情況下建構,但必須提供位置 (例如透過使用者的動作或選擇) 才會顯示。如果建構時未提供 AdvancedMarkerElement 的位置,可以設定 AdvancedMarkerElement.position 來提供。

注意:只有向量地圖支援含高度的 AdvancedMarkerElement。

title optional
類型:  string optional
滑鼠游標懸停效果文字。如果提供無障礙文字 (例如用於螢幕閱讀器),系統會將該文字新增至 AdvancedMarkerElement,並使用提供的值。
zIndex optional
類型:  number optional
所有AdvancedMarkerElement都會按照 zIndex 順序顯示在地圖上,值較高的會比值較低的AdvancedMarkerElement優先顯示。根據預設,AdvancedMarkerElement 會依據在畫面上的垂直位置顯示,位置較低的 AdvancedMarkerElement 會顯示在位置較高的 AdvancedMarkerElement 前方。請注意,zIndex 也可用來判斷 CollisionBehavior.OPTIONAL_AND_HIDES_LOWER_PRIORITY 進階標記之間的相對優先順序。zIndex 值越高,表示優先順序越高。

AdvancedMarkerClickEvent 類別

google.maps.marker.AdvancedMarkerClickEvent class

點選進階標記時,系統會建立這個事件。使用 event.target.position 存取標記的位置。

這個類別會擴充 Event。

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

PinElement 類別

google.maps.marker.PinElement class

PinElement 代表由形狀和字符組成的 DOM 元素。形狀的對話框樣式與預設 AdvancedMarkerElement 或 Marker3DElement 相同。字元是選用的 DOM 元素,會顯示在氣球形狀中。PinElement 的顯示比例可能會因PinElement.scale而異。

這個類別會擴充 HTMLElement。

這個類別會實作 PinElementOptions。

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

PinElement
PinElement([options])
參數: 
background
類型:  string optional
詳情請參閱《PinElementOptions.background》。
borderColor
類型:  string optional
詳情請參閱《PinElementOptions.borderColor》。
glyphColor
類型:  string optional
詳情請參閱《PinElementOptions.glyphColor》。
glyphSrc
類型:  URL|string optional
詳情請參閱《PinElementOptions.glyphSrc》。
glyphText
類型:  string optional
詳情請參閱《PinElementOptions.glyphText》。
scale
類型:  number optional
詳情請參閱《PinElementOptions.scale》。
element
類型:  HTMLElement
這個欄位為唯讀。支援檢視畫面的 DOM 元素。
glyph
類型:  string|Element|URL optional
詳情請參閱《PinElementOptions.glyph》。
addEventListener
addEventListener(type, listener[, options])
參數: 
  • type:string區分大小寫的字串,代表要監聽的事件類型。
  • listener:EventListener|EventListenerObject接收通知的物件。這必須是函式或具有 handleEvent 方法的物件
  • options:boolean|AddEventListenerOptions optional。查看選項。自訂事件僅支援 capture 和 passive。
傳回值:  void
設定函式,每當指定事件傳送至目標時,系統就會呼叫該函式。請參閱 addEventListener。
removeEventListener
removeEventListener(type, listener[, options])
參數: 
傳回值:  void
從目標中移除先前使用 addEventListener 註冊的事件監聽器。請參閱 removeEventListener。

PinElementOptions 介面

google.maps.marker.PinElementOptions 介面

建立PinElement的選項。

background optional
類型:  string optional
圖釘形狀的背景顏色。支援任何 CSS 顏色值。
borderColor optional
類型:  string optional
圖釘形狀的邊框顏色。支援任何 CSS 顏色值。
glyph optional
類型:  string|Element|URL optional
圖釘中顯示的 DOM 元素。
glyphColor optional
類型:  string optional
字符的顏色。支援任何 CSS 顏色值。
glyphSrc optional
類型:  URL|string optional
圖釘中顯示的字符圖片來源。
glyphText optional
類型:  string optional
圖釘中顯示的文字。
scale optional
類型:  number optional
預設值: 1
圖釘的比例。