區域疊加層是指在地圖上與經緯度相關聯的疊加層 因此當您拖曳或縮放地圖時,這些位置會隨之移動。
簡介
區域疊加層是指固定於地圖上的圖片。取消喜歡 標記,區域疊加層的方向是根據地球表面而定 因此旋轉、傾斜或縮放地圖時,地圖也會隨之改變 圖片的方向。
如要新增區域疊加層,請建立定義這兩種區域的 GMSGroundOverlay
物件
一個圖示和邊界如果無法指定任一項目,就會導致區域疊加層
才不會顯示在地圖上您可以選擇指定其他設定
會影響圖片在地圖上的位置。將
必要選項,請設定這個物件的 map
屬性來加入疊加層。
新增疊加層
- 將新的
GMSGroundOverlay
物件執行個體化 - 將
icon
屬性設為UIImage
的例項。 - 將
bounds
屬性設為GMSCoordinateBounds
的例項。 邊界代表圖片的西南角和東北角。 - 視需要設定選用屬性,例如
bearing
和zoomLevel
。 - 設定
map
屬性 - 圖片會顯示在地圖上。
以下範例說明如何將區域疊加層加到現有的 GMSMapView
物件。
Swift
let southWest = CLLocationCoordinate2D(latitude: 40.712216, longitude: -74.22655) let northEast = CLLocationCoordinate2D(latitude: 40.773941, longitude: -74.12544) let overlayBounds = GMSCoordinateBounds(coordinate: southWest, coordinate: northEast) // Image from http://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg let icon = UIImage(named: "newark_nj_1922") let overlay = GMSGroundOverlay(bounds: overlayBounds, icon: icon) overlay.bearing = 0 overlay.map = mapView
Objective-C
CLLocationCoordinate2D southWest = CLLocationCoordinate2DMake(40.712216,-74.22655); CLLocationCoordinate2D northEast = CLLocationCoordinate2DMake(40.773941,-74.12544); GMSCoordinateBounds *overlayBounds = [[GMSCoordinateBounds alloc] initWithCoordinate:southWest coordinate:northEast]; // Image from http://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg UIImage *icon = [UIImage imageNamed:@"newark_nj_1922"]; GMSGroundOverlay *overlay = [GMSGroundOverlay groundOverlayWithBounds:overlayBounds icon:icon]; overlay.bearing = 0; overlay.map = mapView;
移除疊加層
如要移除地圖上的區域疊加層,請設定
GMSGroundOverlay
的 map
屬性設為 nil
。或者,您也可以選擇
的疊加層 (包括透過呼叫
GMSMapView
clear
方法。
Swift
mapView.clear()
Objective-C
[mapView clear];
如果你之後要修改區域疊加層,請將其加到
地圖,請務必保留 GMSGroundOverlay
物件。你可以
稍後變更此物件即可修改區域疊加層。
Swift
let overlay = GMSGroundOverlay(bounds: overlayBounds, icon: icon) overlay.bearing = 0 overlay.map = mapView // ... overlay.isTappable = true
Objective-C
GMSGroundOverlay *overlay = [GMSGroundOverlay groundOverlayWithBounds:overlayBounds icon:icon]; overlay.bearing = 0; overlay.map = mapView; // ... overlay.tappable = YES;
活動
您可以監聽地圖上發生的事件,例如使用者輕觸
重疊。若要監聽事件,您必須實作
GMSMapViewDelegate
通訊協定。詳情請參閱
事件指南,以及
GMSMapViewDelegate
。