지상 오버레이

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

추가 및 삭제

GroundOverlay 객체는 일반적인 자바 객체처럼 생성할 수 있습니다. 객체를 생성하고, bounds 속성에 영역, image 속성에 이미지를 지정한 후, map 속성에 지도 객체를 지정하면 지상 오버레이가 나타납니다. 단, map을 지정하기 전에는 반드시 boundsimage를 지정해야 하며, 그렇지 않으면 예외가 발생합니다.

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

GroundOverlay groundOverlay = new GroundOverlay();
groundOverlay.setBounds(new LatLngBounds(
    new LatLng(37.566351, 126.977234), new LatLng(37.568528, 126.979980)));
groundOverlay.setImage(
    OverlayImage.fromResource(R.drawable.ground_overlay_image));
groundOverlay.setMap(naverMap);

Java

GroundOverlay groundOverlay = new GroundOverlay();
groundOverlay.setBounds(new LatLngBounds(
    new LatLng(37.566351, 126.977234), new LatLng(37.568528, 126.979980)));
groundOverlay.setImage(
    OverlayImage.fromResource(R.drawable.ground_overlay_image));
groundOverlay.setMap(naverMap);

Kotlin

val groundOverlay = GroundOverlay()
groundOverlay.bounds = LatLngBounds(
        LatLng(37.566351, 126.977234), LatLng(37.568528, 126.979980))
groundOverlay.setImage(
        OverlayImage.fromResource(R.drawable.ground_overlay_image))
groundOverlay.map = naverMap

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

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

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

groundOverlay.setMap(null);

Java

groundOverlay.setMap(null);

Kotlin

groundOverlay.map = null

영역

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

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

groundOverlay.setBounds(new LatLngBounds(
    new LatLng(37.566351, 126.977234), new LatLng(37.568528, 126.979980)));

Java

groundOverlay.setBounds(new LatLngBounds(
    new LatLng(37.566351, 126.977234), new LatLng(37.568528, 126.979980)));

Kotlin

groundOverlay.bounds = LatLngBounds(
        LatLng(37.566351, 126.977234), LatLng(37.568528, 126.979980))

이미지

image 속성을 사용해 지상 오버레이의 이미지를 지정할 수 있습니다. 이미지를 지정하려면 먼저 OverlayImage 객체를 만들어야 합니다. OverlayImage는 오버레이에서 사용할 수 있는 비트맵 이미지를 나타내는 클래스로, 팩토리 메서드를 이용해 리소스, 에셋, 비트맵, 뷰 등으로부터 인스턴스를 생성할 수 있습니다. 지상 오버레이의 화면상 크기는 줌 레벨에 따라 변하므로 사용자 단말의 DPI(Dots Per Inch)와 무관한 nodpi 리소스나 에셋을 사용해 만드는 것이 좋습니다.

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

groundOverlay.setImage(
    OverlayImage.fromResource(R.drawable.ground_overlay_image));

Java

groundOverlay.setImage(
    OverlayImage.fromResource(R.drawable.ground_overlay_image));

Kotlin

groundOverlay.setImage(
        OverlayImage.fromResource(R.drawable.ground_overlay_image))

불투명도

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

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

groundOverlay.setAlpha(0.5f);

Java

groundOverlay.setAlpha(0.5f);

Kotlin

groundOverlay.alpha = 0.5f

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

results matching ""

    No results matching ""