GMSMarker 類別參考資料

GMSMarker 類別參考

總覽

標記是放置在地圖表面特定點的圖示。

標記的圖示是根據裝置螢幕方向 (而非地圖介面) 繪製而成,也就是說,標記的方向不一定會因地圖旋轉、傾斜或縮放而改變方向。

繼承GMSOverlay

由繼承GMSAdvancedMarker利用。

靜態公開成員函式

(執行個體類型)+ markerWithPosition:
 預設標記的便利建構函式。
(UIImage *)+ markerImageWithColor:
 建立可做為圖示的預設標記圖片的色調版本。

資源

CLLocationCoordinate2D位置
 標記位置。
NSString * 文字片段
 選取後在資訊視窗標題下方顯示文字片段文字。
UIImage * 圖示
 要算繪的標記圖示。
UIView * iconView
 要算繪的標記檢視。
BOOLtracksViewChanges
 控制是否在每個頁框中重新繪製此標記的圖示。
BOOLtracksInfoWindowChanges
 控制是否在每個頁框中重新繪製此標記的資訊視窗。
CGPointgroundAnchor
 地面錨點會指定圖示圖片中的點,固定在地球表面上的標記位置。
CGPointinfoWindowAnchor
 資訊視窗錨定在圖示圖片中指定錨定資訊視窗的點,該點會顯示在該點上方。
GMSMarkerAnimationappearAnimation
 控制此標記放置於此標記時使用的動畫GMSMapView (預設的 kGMSMarkerAnimationNone,無動畫)。
BOOL可拖曳
 控制是否能夠以互動方式拖曳此標記 (預設值為 NO)。
BOOL扁平模式
 控制此標記應貼平地貼在地表表面 (YES) 或朝向攝影機的看板 (無為預設值)。
CLLocationDegrees旋轉
 設定標記的錨點,以順時針角度設定標記的旋轉角度。
float 不透明度
 設定標記的不透明度,範圍介於 0 (完全透明) 和 1 (預設) 之間 (含完全透明)。
GMSMarkerLayer圖層
 提供此任務的核心動畫圖層GMSMarker
GMSPanoramaViewpanoramaView
 panoramaView 會指定哪個全景檢視畫面嘗試顯示這個標記。
NSString * title
 重疊廣告的簡短說明。
GMSMapView地圖
 這個疊加層開啟的地圖。
BOOL可配對
 如果疊加畫面應導致輕觸通知,
int zIndex
 值較高的 zIndex 值疊加層會繪製在較低的 zIndex 值圖塊圖層和疊加層上。
IDuserData
 疊加層資料。

成員函式說明文件

+ (例項類型) markerWithPosition: (CLLocationCoordinate2D)  位置

預設標記的便利建構函式。

+ (UIImage *) markerImageWithColor: (nullable UIColor *)  color [顏色]

建立可做為圖示的預設標記圖片的色調版本。


屬性說明文件

- (CLLocationCoordinate2D) position [read, write, assign]

標記位置。

動畫。

- (NSString*) 程式碼片段 [read, write, copy]

選取後在資訊視窗標題下方顯示文字片段文字。

- (UIImage*) icon [read, write, assign]

要算繪的標記圖示。

如果左為 nil,會使用預設的 SDK 地點標記。

支援動畫圖片,但每個影格的大小必須相同,或是行為未定義。

支援使用 alignRectInsets 來指定縮小的輕觸區域。這也會重新定義錨點的指定方式。針對動畫圖片,系統會使用動畫值,而非個別影格。

- (UIView*) iconView [read, write, assign]

要算繪的標記檢視。

如果左 nil,會改回使用 icon 屬性。

支援 UIView 所有可動畫屬性的動畫,但 framecenter 除外。系統不支援變更這些屬性或其對應的 CALayer 版本 (包括 position)。

請注意,無論實際值為何,檢視畫面都會假設 clipsToBounds 設為 YES。

- (BOOL) tracksViewChanges [read, write, assign]

控制是否在每個頁框中重新繪製此標記的圖示。

請注意,當這個狀態從「否」變更為「是」時,圖示保證會在下個畫面重新繪製。

預設值為 YES。如果 iconView 為 nil,則不會有任何作用。

- (BOOL) tracksInfoWindowChanges [read, write, assign]

控制是否在每個頁框中重新繪製此標記的資訊視窗。

請注意,當這個狀態從「否」變更為「是」時,資訊視窗保證會在下一個頁框重新繪製。

預設值為 NO。

- (CGPoint) groundAnchor [read, write, assign]

地面錨點會指定圖示圖片中的點,固定在地球表面上的標記位置。

這個點會指定在連續空間 [0.0, 1.0] x [0.0, 1.0] 範圍內,其中 (0,0) 是圖片的左上角,(1,1) 則是右下角。

如果圖片的對齊 RectInset 不是零,上述左上角和右下方即為圖片的插邊部分。

- (CGPoint) infoWindowAnchor [read, write, assign]

資訊視窗錨定在圖示圖片中指定錨定資訊視窗的點,該點會顯示在該點上方。

這個點在與 groundAnchor 相同的空間中指定。

- (GMSMarkerAnimation) appearAnimation [read, write, assign]

控制此標記放置於此標記時使用的動畫GMSMapView (預設的 kGMSMarkerAnimationNone,無動畫)。

- (BOOL) 可拖曳 [read, write, assign]

控制是否能夠以互動方式拖曳此標記 (預設值為 NO)。

- (BOOL) 平坦 [read, write, assign]

控制此標記應貼平地貼在地表表面 (YES) 或朝向攝影機的看板 (無為預設值)。

- (CLLocationDegrees) 旋轉 [read, write, assign]

設定標記的錨點,以順時針角度設定標記的旋轉角度。

旋轉軸與標記垂直。旋轉 0 對應標記的預設位置。動畫。

如果標記平放在地圖上,則預設方向為朝北,旋轉時標記始終在地圖上平放。標記為直立線時,預設方向為朝上,且旋轉時標記始終面對攝影機。

- (浮點) 不透明度 [read, write, assign]

設定標記的不透明度,範圍介於 0 (完全透明) 和 1 (預設) 之間 (含完全透明)。

- (GMSMarkerLayer*) 圖層 [read, assign]

提供此任務的核心動畫圖層GMSMarker

- (GMSPanoramaView*) panoramaView [read, write, assign]

panoramaView 會指定哪個全景檢視畫面嘗試顯示這個標記。

請注意,如果標記的 position 距離 panoramaView 目前的全景位置太遠,就不會顯示標記,因為標記太小。

只要將標記設為 nil,即可從目前附加的全景檢視移除標記。

標記可以同時顯示在全景和地圖上。

- (NSString*) title [read, write, copy, inherited]

重疊廣告的簡短說明。

部分疊加層 (例如標記) 會在地圖上顯示標題。標題也是預設的無障礙文字。

- (GMSMapView*) map [read, write, assign, inherited]

這個疊加層開啟的地圖。

設定這個屬性會將疊加層加入地圖。將其設定為 nil 即可從地圖中移除此疊加層。每次最多只能在一張地圖上啟用疊加層。

- (BOOL) 可更換 [read, write, assign, inherited]

如果疊加畫面應導致輕觸通知,

部分疊加層 (例如標記) 預設為可輕觸。

- (int) zIndex [read, write, assign, inherited]

值較高的 zIndex 值疊加層會繪製在較低的 zIndex 值圖塊圖層和疊加層上。

相同值會導致未定義繪製順序。標記是例外的情況,無論 zIndex 為何,標記一律會繪製在圖塊圖層和其他非標記疊加層上方;系統實際上會將其視為單獨的 Z-index 群組進行處理,與其他疊加層相同。

- (ID) userData [read, write, assign, inherited]

疊加層資料。

您可以使用這個屬性將任意物件與這個疊加層建立關聯。Google Maps SDK for iOS 既不會讀取或寫入這個屬性,

請注意,userData 不得含有任何強力參照的 Maps 物件,否則系統可能會建立保留週期 (防止系統釋放物件)。