지면 오버레이는 위도/경도에 연결된 지도 위의 오버레이입니다. 지도를 드래그하거나 확대/축소하면 움직입니다.
소개
지면 오버레이는 지도에 고정된 이미지입니다. 좋아요 취소 마커: 지면 오버레이는 지면을 기준으로 방향이 설정됩니다. 지도를 회전하거나 기울이거나 확대/축소하면 이미지의 방향입니다.
지면 오버레이를 추가하려면 둘 다 정의하는 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
로 설정합니다. 또는 기존 IP 주소를 모두 제거하여
(
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