標記

透過集合功能整理內容 你可以依據偏好儲存及分類內容。
公開最終類別標記擴充物件

在地圖上放置於特定點的圖示。標記的圖示是是根據裝置螢幕方向繪製,而不是地圖表面;也就是說,由於旋轉地圖、傾斜或縮放地圖,標記不一定會改變方向。

標記具有以下屬性:

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> 更輕鬆。另一個例子是,您可以將與 ID 對應的 String ID 與資料集建立關聯。Google 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 指出與其他標記或基本地圖標籤衝突時,標記的處理方式。

公用方法摘要

布林
等於 (物件其他)
測試這個 Marker 是否等於另一個。
浮點值
getAlpha()
取得標記的 Alpha 版。
字串
getId()
取得此標記 ID。
LatLng
getPosition()
傳回標記的位置。
浮點值
getRotation()
取得標記的旋轉。
字串
getsnippet()
取得標記的程式碼片段。
物件
getTag()
取得標記的標記。
字串
getTitle()
取得標記標題。
浮點值
getZIndex()
傳回標記的 zIndex。
整數
void
hideInfoWindow()
從資訊視窗隱藏資訊視窗。
布林
isDraggable()
取得標記的可拖曳性。
布林
isFlat()
取得標記的平面設定。
布林
isInfoWindowShown()
傳回資訊視窗目前是否顯示在該標記上方。
布林
isVisible()
取得此標記的顯示設定。
void
remove()
從地圖中移除此標記。
void
setAlpha (float alpha)
設定標記的 Alpha 版 (不透明度)。
void
setAnchor(float anchorU、float anchorV)
設定標記的錨點。
void
setDraggable (布林值可拖曳)
設定標記的可拖曳性。
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 (布林值顯示)
設定此標記的顯示設定。
void
setZIndex(浮動值 zIndex)
設定標記的 zIndex。
void
showInfoWindow()
如果這個標記 isVisible(),則在地圖上顯示此標記的資訊視窗。

繼承方法摘要

公用方法

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

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

參數
其他 Object
傳回
  • 如果兩個物件都相同,則物件的值為 true,也就是其他值 ==。

public float getAlpha ()

取得標記的 Alpha 版。

傳回
  • 標記在 Alpha 版 [0, 1] 的 Alpha 版。

public String getId ()

取得此標記 ID。地圖上顯示的所有標記都不會重複。

傳回
  • 這個標記 ID。

公開 LatLng getPosition ()

傳回標記的位置。

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

public float getRotation ()

取得標記的旋轉。

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

public String getsnippet ()

取得標記的程式碼片段。

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

public Object getTag ()

取得標記的標記。

傳回
  • 如使用 setTag 設定標記,如未設定標記則傳回 null

public String getTitle ()

取得標記標題。

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

public float getZIndex ()

傳回標記的 zIndex。

傳回
  • 這個標記 '#39;s zIndex.

public int hashCode ()

public hideInfoWindow ()

隱藏此標記中顯示的資訊視窗。

如果未顯示這個標記,這個方法就不會生效。

公開布林值 isDraggable ()

取得標記的可拖曳性。如果標記可拖曳,只要長按標記即可移動標記。

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

公開布林值 isFlat ()

取得標記的平面設定。

傳回
  • 如果標記固定在地圖上,請設為 true;如果標記與攝影機相關,應使用 false

公開布林值 isInfoWindowShown ()

傳回資訊視窗目前是否顯示在該標記上方。這不會考慮資訊視窗是否確實顯示在畫面上。

公開布林值 isVisible ()

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

傳回
  • 這個標記的瀏覽權限。

public 移除 ()

從地圖中移除此標記。移除標記後,所有方法的行為都不會定義。

public setAlpha (float alpha)

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

參數
Alpha 版

public 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)
 |     |     |     |     |
 |     |     |     |     |
 *-----+-----+-----+-----*
 

參數
錨點 錨點的 u 座標,以圖片寬度的比率 (範圍 [0, 1]) 表示。
錨點 V 錨點的 v 座標,以圖片高度的比率 (範圍 [0, 1]) 表示。

public setDraggable (布林值可拖曳)

設定標記的可拖曳性。如果標記可拖曳,只要長按標記即可移動標記。

參數
可拖曳

public setFlat (布林值)

設定這個標記應固定在地圖 true 或對相機 false 的看板廣告上。

參數
平盤

public setIcon (BitmapDescriptor iconDescriptor)

設定標記的圖示。

參數
圖示描述元 如果為空值,系統會使用預設標記。

public setInfoWindowAnchor(float anchorU、float anchorV)

指定標記圖片在顯示時鎖定的點。這是與錨點相同的座標系統指定。詳情請參閱 setAnchor(float, float)。預設值為圖片的中間部分。

參數
錨點 資訊視窗錨定點的 u 座標,以圖片寬度的比率 (位於 [0, 1] 範圍內)。
錨點 V 資訊視窗錨定裝置的 v 座標,以圖片高度的比率 (範圍 [0, 1])

public setPosition (LatLng latlng)

設定標記的位置,

參數
拉丁字母

public setRotation (浮動旋轉)

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

參數
輪替

public setsnippet (字串程式碼片段)

設定標記的程式碼片段。

參數
程式碼片段 如果為空值,程式碼片段就會遭到清除。

public setTag (物件標記)

設定標記的標記。

您可以使用這個屬性將任意 Object 與此標記建立關聯。舉例來說,Object 可包含標記代表的資料。這種做法比儲存單獨的 Map<Marker, Object> 更輕鬆。另一個例子是,您可以將 String 對應的 ID 與資料集中的 ID 建立關聯。Google Maps SDK for Android 不會讀取或寫入這項屬性。不再需要使用標記時,您必須呼叫 setTag(null) 清除標記,以免應用程式發生記憶體流失。

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

public setTitle (String title)

設定標記的標題。

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

public setVisible (布林值顯示)

設定此標記的顯示設定。如果將這個欄位設為 false,且這個標記的目前正在顯示資訊視窗,就會隱藏資訊視窗。

參數
顯示

public setZIndex(float zIndex)

設定標記的 zIndex。

參數
ZIndex

public showInfoWindow ()

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

擲回
IllegalArgumentException 未顯示在這個地圖上marker