標記

公開最終課 標記 擴充物件

放置在地圖表面上特定點的圖示。繪製方向的標記圖示 貼合裝置的螢幕,而非地圖表面;換言之,這不一定會改變 方向。

標記具有以下屬性:

Alpha 版
可設定標記的不透明度。預設值為 1.0。
圖片上會放置於標記 LatLng 位置的點, 預設為圖片左側和圖片底部的 50%。
職位
地圖上標記位置的 LatLng 值。您可以在 你隨時可以移動標記。
標題
當使用者輕觸標記時,資訊視窗中顯示的文字字串。你可以 變更這個值。
文字片段
顯示在標題下的附加文字。您隨時可以變更這個值。
圖示
用於標記的點陣圖。如未設定該圖示,預設圖示為 高度。您可以使用 defaultMarker(float) 指定預設圖示的替代顏色。
拖曳狀態
如要允許使用者拖曳標記,請將這個屬性設為 true。個人中心 可以隨時變更這個值預設為 false
能見度
根據預設,標記是可見的。如要隱藏標記,請將此屬性設為 false。您隨時可以變更這個值。
平放或看板廣告
如果標記平放在地圖上,標記就會以攝影機的形式持續留在地圖中 旋轉和傾斜角度的方式則與相機縮放相同,與 GroundOverlay 不同。如果是看板廣告,必須一律朝向相機拍攝 就會跟著相機旋轉及傾斜預設值為看板 (false)
旋轉角度
標記的順時針旋轉至標記錨點。軸 旋轉角度與標記垂直旋轉 0 則對應預設值 標記的位置。如果標記平放在地圖上,則預設方向為朝北 對齊,且旋轉是讓標記始終平放在地圖上。當 標記是看板,預設位置為朝上,而旋轉角度就是 標記始終面對相機。預設值為 0。
zIndex
標記的繪製順序。標記會按照 zIndex 中的順序繪製, 最高的 zIndex 標記繪製在頂端設定每個標記的 zIndex 屬性後,即可 控制使用者最有可能點選的輕觸目標預設值為 0。
標記
與標記相關聯的 Object。例如,Object 可以包含 這些標記所代表的這種做法比儲存單獨的 Map<Marker, Object> 更簡單。另一個範例是,您可以將 String ID 對應至資料集的 IDGoogle Maps SDK for Android 未讀取和 寫入此屬性。

此類別中的方法必須在 Android UI 執行緒上呼叫。否則會在執行階段擲回 IllegalStateException

範例

GoogleMap map = ... // get a map.
 // Add a marker at San Francisco.
 Marker marker = map.addMarker(new MarkerOptions()
     .position(new LatLng(37.7750, 122.4183))
     .title("San Francisco")
     .snippet("Population: 776733"));
 

開發人員指南

詳情請參閱標記開發人員。 指南。

巢狀類別摘要

@interface Marker.CollisionBehavior 指出標記與其他標記或底座衝突時,標記的處理方式 地圖標籤。

公用方法摘要

boolean
等於(物件其他)
測試此 Marker 是否等於另一個。
float
getAlpha()
取得標記的 Alpha 值。
字串
getId()
取得此標記的 ID。
LatLng
getPosition()
傳回標記的位置。
float
getRotation()
取得標記的旋轉。
字串
getSnippet()
取得標記的程式碼片段。
物品
getTag()
取得標記的標記。
字串
getTitle()
取得標記的標題。
float
getZIndex()
傳回標記的 zIndex。
int
void
hideInfoWindow()
如以此標記顯示資訊視窗,會隱藏資訊視窗。
boolean
isDraggable()
取得標記的可拖曳性。
boolean
isFlat()
取得標記的平坦設定。
boolean
isInfoWindowShown()
傳回目前是否顯示資訊視窗。
boolean
isVisible()
取得此標記的顯示設定。
void
remove()
從地圖中移除此標記。
void
setAlpha(浮動 Alpha)
設定標記的 Alpha (透明度)。
void
setAnchor(float AnchorU、float AnchorV)
設定標記的錨點。
void
setDraggable(boolean draggable)
設定標記的拖曳性。
void
setFlat(布林平坦)
設定此標記是否應平貼地圖 true 或面對 相機:false
void
setIcon(BitmapDescriptor iconDescriptor)
設定標記的圖示。
void
setInfoWindowAnchor(float AnchorU、float AnchorV)
指定標記圖片中資訊視窗在 高度。
void
setPosition(LatLng latlng)
設定標記的位置。
void
setRotation(浮點旋轉)
設定標記的順時針旋轉角度 (以度為單位)。
void
setSnippet(字串片段)
設定標記的程式碼片段。
void
setTag(物件標記)
設定標記的標記。
void
setTitle(字串標題)
設定標記的標題。
void
setVisible(boolean visible)
設定此標記的顯示設定。
void
setZIndex(浮點 zIndex)
設定標記的 zIndex。
void
showInfoWindow()
在地圖上顯示此標記的資訊視窗 (如果這個標記為 isVisible())。

繼承方法摘要

公用方法

公開 布林值 等於 (其他物件)

測試此 Marker 是否等於另一個。

參數
其他 Object
傳回
  • 如果兩個物件是同一個物件,也就是 == other。

公開 浮點值 getAlpha ()

取得標記的 Alpha 值。

傳回
  • 範圍 [0, 1] 中的標記 Alpha 值。

公開 字串 getId ()

取得此標記的 ID。地圖上所有的標記均不得重複。

傳回
  • 對應至各個標記的 ID

公開 LatLng getPosition ()

傳回標記的位置。

傳回
  • LatLng 物件,用於指定標記目前的位置。

公開 浮點值 getRotation ()

取得標記的旋轉。

傳回
  • 標記從預設位置順時針旋轉角度。

公開 字串 getSnippet ()

取得標記的程式碼片段。

傳回
  • 包含標記片段的字串。

公開 物品 getTag ()

取得標記的標記。

傳回
  • 標記 (如果使用 setTag 設定標記);如果未設定任何代碼,則為 null

公開 字串 getTitle ()

取得標記的標題。

傳回
  • 包含標記標題的字串。

公開 浮點值 getZIndex ()

傳回標記的 zIndex。

傳回
  • 就會得到這個標記的 zIndex

公開 攔截 hashCode ()

公開 void hideInfoWindow ()

如以此標記顯示資訊視窗,會隱藏資訊視窗。

如果看不到這個標記,此方法就不會有任何作用。

公開 布林值 isDraggable ()

取得標記的可拖曳性。如果標記可拖曳,使用者只要: 長按標記。

傳回
  • 如果標記可拖曳,則為 true;如果沒有,則會傳回 false

公開 布林值 isFlat ()

取得標記的平坦設定。

傳回
  • 如果標記平放在地圖上,則為 truefalse 表示標記 面對鏡頭。

公開 布林值 isInfoWindowShown ()

傳回目前是否顯示資訊視窗。不考慮 是否會在畫面上實際顯示資訊視窗。

公開 布林值 isVisible ()

取得此標記的顯示設定。請注意,這樣不表示標記 位於螢幕的可視區域中用於指出是否要繪製標記 包含在螢幕可視區域中即可

傳回
  • 顯示此標記的能見度

公開 void 移除 ()

從地圖中移除此標記。移除標記後,其所有行為都會發生。 方法均未定義。

公開 void setAlpha (浮動 Alpha)

設定標記的 Alpha (透明度)。這個值介於 0 到 1 之間,其中 0 代表標記 完全透明,1 表示標記完全不透明。

參數
Alpha 版

公開 void setAnchor (float AnchorU, float AnchorV)

設定標記的錨點。

錨點會指定圖示圖片中錨定至標記位置的點 繪製問題

錨點是在連續空間 [0.0, 1.0] x [0.0, 1.0] 中指定,其中 (0, 0) 是圖片的左上角,(1、1) 則是右下角。錨點 在 W x H 圖像中,是最接近的獨立格線,以 (W + 1) x 為單位 (H + 1) 方格,先縮放再四捨五入。舉例來說,在 4 x 2 的圖片中 錨點 (0.7, 0.6) 會解析為格線點 (3, 1)。

 *-----+-----+-----+-----*
 |     |     |     |     |
 |     |     |     |     |
 +-----+-----+-----+-----+
 |     |     |   X |     |   (U, V) = (0.7, 0.6)
 |     |     |     |     |
 *-----+-----+-----+-----*
 *-----+-----+-----+-----*
 |     |     |     |     |
 |     |     |     |     |
 +-----+-----+-----X-----+   (X, Y) = (3, 1)
 |     |     |     |     |
 |     |     |     |     |
 *-----+-----+-----+-----*
 

參數
anchorU 錨點的 u 座標,按照圖片寬度的比例 (在範圍 [0, 1] 中) 表示。
anchorV 錨點的 v 座標,以圖片高度的比例為準 (範圍 [0, 1])。

公開 void setDraggable (可拖曳布林值)

設定標記的拖曳性。如果標記可拖曳,使用者只要: 長按標記。

參數
可拖曳

公開 void setFlat (扁平的布林)

設定此標記是否應平貼地圖 true 或面對 相機:false

參數
平盤

公開 void setIcon (BitmapDescriptor iconDescriptor)

設定標記的圖示。

參數
iconDescriptor 如果為空值,則會使用預設標記。

公開 void setInfoWindowAnchor (float AnchorU, float AnchorV)

指定標記圖片中資訊視窗在 高度。指定在與錨點相同的座標系統中。詳情請參閱 setAnchor(float, float)。預設為圖片上方中間。

參數
anchorU 資訊視窗錨點的 u 座標,按照圖片寬度的比例 (在 範圍 [0, 1])。
anchorV 資訊視窗錨定的 v 座標,按照圖片高度的比例 (在 範圍 [0, 1])。

公開 void setPosition (LatLng 經緯度)

設定標記的位置。

參數
經緯度

公開 void setRotation (浮動旋轉)

設定標記的順時針旋轉角度 (以度為單位)。軸 旋轉角度與標記垂直旋轉 0 則對應預設位置 的標記。

參數
旋轉

公開 void setSnippet (字串片段)

設定標記的程式碼片段。

參數
摘要 如果為空值,系統會清除程式碼片段。

公開 void setTag (物件標記)

設定標記的標記。

您可以使用這個屬性,將任意 Object 與這個標記建立關聯。適用對象 舉例來說,Object 可以包含標記所代表內容的資料。這樣比較容易 而不是儲存獨立的 Map<Marker, Object>再舉一個例子,您可以將 與資料集的 ID 對應的 String ID。Google Maps SDK for Android 不會讀取或寫入這個屬性您有責任呼叫 setTag(null) 指出問題所在 ,以避免應用程式發生記憶體流失的問題。

參數
標記 如果為空值,系統會清除標記。

公開 void setTitle (字串標題)

設定標記的標題。

參數
title 如果為空值,系統會清除標題。

公開 void setVisible (可見布林值)

設定此標記的顯示設定。如果設為 false,且資訊視窗目前 如此可顯示資訊視窗。

參數
顯示

公開 void setZIndex (浮點值 zIndex)

設定標記的 zIndex。

參數
zIndex

公開 void showInfoWindow ()

在地圖上顯示此標記的資訊視窗 (如果這個標記為 isVisible())。

擲回
IllegalArgumentException 如果marker不是在此地圖上