지상 오버레이

지상 오버레이는 지도상의 특정 영역에 이미지를 나타내는 오버레이입니다. 지상 오버레이는 마커와 달리 지도상 영역에 고정되어 있으므로, 카메라를 확대하거나 축소하면 지도와 함께 확대되거나 축소됩니다.

추가 및 삭제

NMFGroundOverlay 객체는 일반적인 클래스 객체처럼 생성할 수 있습니다. 객체를 생성하고, bounds 속성에 영역, overlayImage 속성에 이미지를 지정한 후, mapView 속성에 지도 객체를 지정하면 지상 오버레이가 나타납니다. 단, mapView를 지정하기 전에는 반드시 boundsimage를 지정해야 하며, 그렇지 않으면 지도에 추가되지 않습니다.

다음은 지상 오버레이 객체를 생성하고 지도에 추가하는 예제입니다.

let groundOverlay = NMFGroundOverlay()
groundOverlay.bounds = NMGLatLngBounds(southWest: NMGLatLng(lat: 37.566351, lng: 126.977234),
                                        northEast: NMGLatLng(lat: 37.568528, lng: 126.979980))
groundOverlay.overlayImage = NMFOverlayImage(name: "ground_overlay_image")
groundOverlay.mapView = mapView

Swift

let groundOverlay = NMFGroundOverlay()
groundOverlay.bounds = NMGLatLngBounds(southWest: NMGLatLng(lat: 37.566351, lng: 126.977234),
                                        northEast: NMGLatLng(lat: 37.568528, lng: 126.979980))
groundOverlay.overlayImage = NMFOverlayImage(name: "ground_overlay_image")
groundOverlay.mapView = mapView

Objective-C

NMFGroundOverlay *groundOverlay = [NMFGroundOverlay new];
groundOverlay.bounds = NMGLatLngBoundsMake(37.566351, 126.977234, 37.568528, 126.979980);
groundOverlay.overlayImage = [NMFOverlayImage overlayImageWithName:@"ground_overlay_image"];
groundOverlay.mapView = self.mapView;

다음 그림은 지상 오버레이를 지도에 추가한 결과입니다.

지도에 지상 오버레이가 추가된 모습

mapViewnil을 지정하면 지도에서 지상 오버레이가 사라집니다.

다음은 지상 오버레이를 지도에서 제거하는 예제입니다.

groundOverlay.mapView = nil

Swift

groundOverlay.mapView = nil

Objective-C

groundOverlay.mapView = nil;

영역

bounds 속성을 사용해 지상 오버레이의 영역을 지정할 수 있습니다. 영역은 필수적인 속성으로, 영역을 지정하지 않은 지상 오버레이는 지도에 추가되지 않습니다.

다음은 지상 오버레이에 영역을 지정하는 예제입니다.

groundOverlay.bounds = NMGLatLngBounds(southWest: NMGLatLng(lat: 37.566351, lng: 126.977234),
                                        northEast: NMGLatLng(lat: 37.568528, lng: 126.979980))

Swift

groundOverlay.bounds = NMGLatLngBounds(southWest: NMGLatLng(lat: 37.566351, lng: 126.977234),
                                        northEast: NMGLatLng(lat: 37.568528, lng: 126.979980))

Objective-C

groundOverlay.bounds = NMGLatLngBoundsMake(37.566351, 126.977234, 37.568528, 126.979980);

이미지

overlayImage 속성을 사용해 지상 오버레이의 이미지를 지정할 수 있습니다. 이미지는 필수적인 속성으로, 이미지를 지정하지 않은 지상 오버레이는 지도에 추가되지 않습니다. 이미지를 지정하려면 먼저 NMFOverlayImage 객체를 만들어야 합니다. NMFOverlayImage 클래스에 정의된 팩토리 메서드를 이용해 이미지 에셋, UIImage, NSBundle 등으로부터 인스턴스를 생성할 수 있습니다.

다음은 지상 오버레이에 이미지를 지정하는 예제입니다.

groundOverlay.overlayImage = NMFOverlayImage(name: "ground_overlay_image")

Swift

groundOverlay.overlayImage = NMFOverlayImage(name: "ground_overlay_image")

Objective-C

groundOverlay.overlayImage = [NMFOverlayImage overlayImageWithName:@"ground_overlay_image"];

불투명도

alpha 속성을 이용하면 지상 오버레이의 불투명도를 지정할 수 있습니다. 값의 범위는 0~1이며, 0일 경우 완전히 투명, 1일 경우 완전히 불투명한 상태가 됩니다. 불투명도가 0일 경우 visiblefalse인 경우와 달리 여전히 화면에 나타나 있는 것으로 간주됩니다. 따라서 이벤트 처리의 대상이 됩니다.

다음은 지상 오버레이를 반투명으로 지정하는 예제입니다.

groundOverlay.alpha = 0.5

Swift

groundOverlay.alpha = 0.5

Objective-C

groundOverlay.alpha = 0.5f;

다음 그림은 지상 오버레이를 반투명으로 지정한 결과입니다.

지상 오버레이를 반투명으로 지정한 모습

results matching ""

    No results matching ""