PolylineLabel

PolylineLabel 은 흐르는 글씨, 구부러진 글씨를 표현할 때 사용합니다.

1. PolylineLabel 생성하기


PolylineLabelStyles 를 이용해서 텍스트의 크기, 색깔, 테두리 크기, 테두리 색깔 스타일의 설정을 할 수 있습니다. 한 줄(singleline) 만 지원합니다.

// 1. PolylineLabelStyles 설정 - 글씨크기 30px, 색깔 검정색, 테두리 크기 1px, 테두리 색깔 하얀색
PolylineLabelStyles styles = PolylineLabelStyles.from(
        LabelTextStyle.from(30, Color.BLACK, 1, Color.WHITE));

// 2. PolylineLabelOptions 설정 - 위치 좌표, 스타일 설정
PolylineLabelOptions options = PolylineLabelOptions.from("흐르는 글씨 테스트",
        LatLng.from(37.397730,127.109684),
        LatLng.from(37.397735,127.110341),
        LatLng.from(37.397769,127.110534),
        LatLng.from(37.397820,127.110706),
        LatLng.from(37.397871,127.110867)).setStyles(styles);

// 3. LabelLayer 에 PolylineLabelOptions 추가하여 PolylineLabel 생성         
PolylineLabel label = layer.addPolylineLabel(options);

2. PolylineLabelStyles


PolylineLabelStyles 은 PolylineLabel 의 스타일을 정의하며 1개 이상의 PolylineLabelStyle 로 구성되어 있습니다. PolylineLabelStyle 은 지도의 확대/축소 줌레벨마다 스타일을 정의하고 지도의 줌레벨에 따라서 다른 스타일을 적용할 수 있습니다.

image

확대/축소 줌레벨 마다 다른 스타일 설정 예제

줌레벨에 따라 좌표 안에 텍스트를 다 표현하지 못할 때는 자동으로 사라집니다.

zoomLevel 16 ~ 17
zoomLevel 18 ~ 21 (Max)

확대/축소 줌레벨의 숫자가 낮은것부터 순차적으로 넣어야 정상적으로 동작합니다.

// 줌레벨 0 ~ 15       : 표시 안함
// 줌레벨 16 ~ 17      : 글씨크기 20px, 색깔 검정색, 테두리 크기 1px, 테두리 색깔 하얀색 
// 줌레벨 18 ~ 21(Max) : 글씨크기 30px, 색깔 파랑색, 테두리 크기 1px, 테두리 색깔 하얀색 

PolylineLabelStyles styles = PolylineLabelStyles.from(
        PolylineLabelStyle.from(20, Color.BLACK, 1, Color.WHITE).setZoomLevel(16),
        PolylineLabelStyle.from(30, Color.BLUE, 1, Color.WHITE).setZoomLevel(18));

스타일 변경

PolylineLabel 을 생성 한 후 중간에 스타일과 텍스트를 변경할 수 있습니다. 스타일만 변경할 경우 changeStyles, 텍스트와 스타일을 같이 변경 할 경우 changeTextAndStyles 를 이용하면 됩니다.

// 1. changeStyles 
polylineLabel.changeStyles(PolylineLabelStyles.from(PolylineLabelStyle.from(30, Color.RED)));

// 2. changeTextAndStyles 
polylineLabel.changeTextAndStyles("스타일 변경 테스트",
    PolylineLabelStyles.from(PolylineLabelStyle.from(30, Color.RED)));