MapWidget

GUI Components 를 통해 사용자가 자유롭게 디자인 할 수 있습니다. 그리고, 지도의 기울기와 회전과 상관없이 항상 일정하게 보이는 특징이 있습니다.

1. MapWidget 생성하기


MapWidget 을 생성하기 위해서는 GuiComponent 를 통해 UI 부분을 디자인해서 넣어야 합니다.

// 1. GuiComponent 를 통해 텍스트가 들어있는 말풍선 모양의 UI를 만듦. 
GuiLayout mainLayout = new GuiLayout(Orientation.Horizontal);
mainLayout.setPadding(20, 20, 20, 18); 

GuiImage bgImage = new GuiImage(R.drawable.window_body, true);
image.setFixedArea(7, 7, 7, 7); // 말풍선 이미지 각 모서리의 둥근 부분만큼(7px)은 늘어나지 않도록 고정.
mainLayout.setBackground(bgImage);

GuiText text = new GuiText("MapWidget!");
text.setTextSize(30);
mainLayout.addView(text);

// 2. UI 의 최상위 부모 컴포넌트인 mainLayout 을 MapWidgetOptions 에 추가함. 
MapWidgetOptions options = MapWidgetOptions.from(position);
options.setContentView(mainLayout);

// 3. MapWidgetLayer 에 추가하여 생성함. 
kakaoMap.getMapWidgetManager().getMapWidgetLayer().addMapWidget(options);

2. MapWidget 위치 설정하기


MapWidget 의 위치는 MapGravity 를 기준으로 x, y 축 offset 값을 이동시켜 설정 할 수 있습니다.

image

// 지도의 중앙에 위치할 때
mapWidget.setPosition(MapGravity.CENTER, 0, 0);

// 지도의 맨 아래 가운데 나침반을 위치할 때
mapWidget.setPosition(MapGravity.BOTTOM | MapGravity.CENTER_HORIZONTAL, 0, 0);