Change Logs

2.12.7

  1. RouteLine 의 렌더링 방법 변경 및 새 기능 추가

    • RouteLine 의 색상에 알파값(투명도) 추가.
    • RouteLine 의 Progress 및 ProgressAnimaiton 추가.
      • 문서 및 샘플 프로젝트 참고.

  2. LatLngBounds 클래스 추가

    • 남서쪽(SouthWest) 과 북동쪽(NorthEast) 모서리를 경계로 직사각형을 나타내는 클래스.

  1. 각 오브젝트 별 Layer 에서 모든 객체를 가져올 수 있는 API 추가.
    (Label[]) LabelLayer.getAllLabels();
    (LodLabel[]) LodLabelLayer.getAllLabels();
    (RouteLine[]) RouteLineLayer.getAllRouteLines();
    (InfoWindow[]) InfoWindowLayer.getAllInfoWindows();
    (MapWidget[]) MapWidgetLayer.getMapWidgetLayer();
    (Polygon[]) ShapeLayer.getAllPolygons();
    (Polyline[]) ShapeLayer.getAllPolylines();
    

  1. 기타 내부 수정사항
    • 지도의 Display Scale 구하는 내부공식 변경.
    • Android 15 16KB 페이지 크기 지원 적용.
    • 카메라 값 가져오는 부분 수정.
    • Relinker 라이브러리 추가.
    • 긴 문자열의 끝이 잘리는 문제. 관련링크

v2.11.9

  1. KakaoMap.OnLabelClickListener, OnLodLabelClickListener 의 인터페이스 변경
    • return 값 void 에서 boolean 이 바뀜.
    • return 값이 true 이면, 이벤트가 OnLabelClickListener 에서 끝난다.
    • return 값이 false 이면, 이벤트가 OnPoiClickListener, OnMapClickListener 까지 전달된다.
      kakaoMap.setOnLabelClickListener(new KakaoMap.OnLabelClickListener() {
          @Override
          public boolean onLabelClicked(KakaoMap kakaoMap, LabelLayer layer, Label label) {
              return false; 
          }
      });
      
      kakaoMap.setOnPoiClickListener(new KakaoMap.OnPoiClickListener() {
          @Override
          public void onPoiClicked(KakaoMap kakaoMap, LatLng position, String layerId, String poiId) {
              // OnLabelClickListener 가 return false 이면 이벤트가 들어온다.
          }
      });
      
      kakaoMap.setOnMapClickListener(new KakaoMap.OnMapClickListener() {
          @Override
          public void onMapClicked(@NonNull KakaoMap kakaoMap, @NonNull LatLng position, @NonNull PointF screenPoint, @NonNull Poi poi) {
              // OnLabelClickListener 가 return false 이면 이벤트가 들어온다.
          }
      });
      

v2.11.8

  1. 각 오브젝트 별 Layer 에서 모든 객체를 가져올 수 있는 API 추가.

    (Label[]) LabelLayer.getAllLabels();
    (LodLabel[]) LodLabelLayer.getAllLabels();
    (RouteLine[]) RouteLineLayer.getAllRouteLines();
    (InfoWindow[]) InfoWindowLayer.getAllInfoWindows();
    (MapWidget[]) MapWidgetLayer.getMapWidgetLayer();
    (Polygon[]) ShapeLayer.getAllPolygons();
    (Polyline[]) ShapeLayer.getAllPolylines();
    
  2. LatLngBounds 클래스 추가.

    • 남서쪽(SouthWest) 과 북동쪽(NorthEast) 모서리를 경계로 직사각형을 나타내는 클래스.

  1. 내부 크래쉬 및 기타 수정사항.
    • 16KB 페이지 크기 지원 적용.
    • LabelData 관련 크래쉬.
    • SDK 인증 시 파라미터 공백문자 제거.
    • 카메라 값 가져오는 부분 수정.

v2.11.1

  1. Label 업데이트 시에 텍스트가 없는 경우 변경되지 않는 버그 수정.

  2. MapView.pause() 호출 시, 특정 상황에서 지도의 뷰포트 사이즈가 업데이트 되지 않는 버그 수정.

v2.10.3

  1. POI 관련 getter API 추가.

    지도에 변경을 주는 setter 함수 호출 직후, 가져온 값은 변경상태를 완벽하게 보장하지 않습니다. 참조링크 »

    (boolean) isPoiClickable();
    (boolean) isPoiVisible();
    (PoiScale) getPoiScale();
    (String) getPoiLanguage();
    
  2. 위의 getter 함수 외 다른 방법으로 POI 관련 상태값을 비동기로 가져오는 API 추가.

    kakaoMap.requestPoiState(new KakaoMap.OnPoiStateRequestListener() {
        @Override
        public void onPoiStateRequested(KakaoMap kakaoMap, PoiState poiState) {
        // poiState.isVisible, poiState.isClickable, poiState.poiScale;
        // poiState.poiLanguage
        }
    });
    
  3. Label 에 텍스트 설정 시 LabelTextBuilder 인터페이스로 받도록 API 수정.

    1. LabelOptions.from(pos).setStyles(styles).setTexts(“★맛있는 치킨★”); -> LabelOptions.from(pos).setStyles(styles).setTexts(new LabelTextBuilder().setTexts(“★맛있는 치킨★”));
    2. Label.setTexts(String…) -> Label.setTexts(LabelTextBuilder)
    3. Label.changeText(String…) -> Label.changeText(LabelTextBuilder)
    4. Label.changeStylesAndText(String…) -> Label.changeStylesAndText(LabelTextBuilder)

  1. 지도의 기본 클릭/더블클릭 인식 시간(반응속도) 450ms -> 250ms 로 변경.

    • 지도의 클릭/더블클릭 시 반응 시간을 줄임. (좀더 빠르게 클릭되도록)
    • 다른 값으로 변경하려면, kakaoMap.setClickIntervalTime(ms); 로 설정.

  1. 축척(ScaleBar) 끝이 살짝 깨지는 버그 수정.

  2. 지도 종료 시 간헐적으로 크래쉬 발생하는 이슈 수정.

v2.9.8

  1. GuiImage 의 이미지 크기가 살짝 잘못 그려지는 문제 수정.
  • 지도의 라이프사이클 관리를 위한 개발 가이드 추가.

    • MapView 가 포함 된 Activity 또는 Fragment 에서 onResume/onPause 시점에 MapView.resume(), MapView.pause() 를 꼭 호출해주세요. 참조링크 »

v2.9.7

  1. API 통일성을 위해 이름, 패키지, 파라미터 변경.

    • 이름 변경: TransformMethod.Default_Decal -> TransformMethod.Decal

    • 파라미터 변경: OnPolygonCreateCallback, OnPolylineCreateCallback 객체받는 파라미터 배열로 변경.

    • 패키지 변경:

      • com/kakao/vectormap/shape/OnPolygonCreateCallback -> com/kakao/vectormap/shape/ShapeLayer/OnPolygonCreateCallback
      • com/kakao/vectormap/shape/OnPolygonCreateCallback -> com/kakao/vectormap/shape/ShapeLayer/OnPolylineCreateCallback

  1. 클릭 인식 시간(민감도) 설정하는 API 추가

    • 현재 기본값은 450ms. ClickIntervalTime 시간은 더블클릭 인식에도 같이 영향을 준다.

      kakaoMap.setClickIntervalTime(int ms);
      kakaoMap.getClickIntervalTime();
      
  2. DimScreenLayer 의 폴리곤 여러개 추가 생성 하는 부분 속도 개선.

    • addMapPointPolygons(), addDotPointPolygons()
    • 약 객체 500개, 좌표 5만4천개 기준 100ms 내외

  3. GuiComponent 들의 align 속성이 제대로 적용되지 않는 버그 수정.

  4. 지도 시작 및 종료 시 간헐적 크래쉬 수정.

  5. 불필요한 함수 삭제.

    • LabelStyles.from(Context, int…) -> LabelStyle.from(Context, int) 를 활용으로 대체.
    • LabelStyle.from() - 다른 생성자 함수를 이용하도록 대체.

v2.9.5

  1. 인증용 앱키 입력받는 API 변경.

    • KakaoMapSdk, KakaoMapPhase 클래스 추가
    • AndroidManifest.xml 에 넣는 방법 없어지고, KakaoMapSdk.init()로 대체.
      // Application 위치의 코드에서 아래와 같이 앱키 넣음. 
      KakaoMapSdk.init(this, "your_app_key");
      
  2. 패턴있는 RouteLine 이 표시 된 상태에서 MapType 변경 시 메모리 이슈 수정.

  3. MapView.start(MapReadyCallback…) API 삭제.

    • MapView.start(MapLifeCycleCallback lifeCycleCallback, MapReadyCallback… readyCallbacks) 만 써야함.
    • MapView.start 호출 시 MapLifeCycleCallback 을 무조건 받도록 하기위한 수정.

v2.9.2

  1. 지도 로딩 속도 개선.

  2. 지도 시작 시 간헐적 ANR 이슈 수정.

  3. 기타 버그 수정 및 개선.

v2.8.5

  1. 사용자가 Min/Max ZoomLevel 을 설정하는 API 추가.

    // min/max zoomLevel 값 설정하기
    KakaoMap.setCameraMinLevel(int level);
    KakaoMap.setCameraMaxLevel(int level);
    
    // 설정 된 min/max zoomLevel 값 가져오기
    (int)KakaoMap.getCameraMinLevel();
    (int)KakaoMap.getCameraMaxLevel();
    
  2. kakaoMap.moveCamera() 호출 시 일부 애니메이션 적용되는 버그 수정.

  3. 캐쉬 및 네트워크 버그 등 수정.

  4. 필요없는 API 삭제.

    • KakaoMap.getMinMapLevel(), KakaoMap.getMaxMapLevel()

v2.6.3

  1. 마우스 스크롤 휠 이벤트에 따라 지도 축소/확대 되도록 기능 추가.

  2. ViewInfo 변경 시 Terrain 클릭 이벤트 재등록 안되는 이슈 수정.

  3. InfoWidnow 겹칠 때 zOrder 우선순위에 따라 클릭 이벤트 처리 되도록 수정.

  4. LabelStyle 에 Badge 추가하는 API 추가.

    LabelStyle.setBadges(BadgeOptions... badges);
    
  5. Badge 관련 변경사항

    • Badge 의 default visible 은 false 로 변경. (show 를 호출해야 보여짐)
    • BadgeOptions.with() 에서 BadgeOptions.from() 으로 생성자 이름 변경.

v2.6.0

  1. 리스너 등록 없이는 KakaoMap.getPadding() 값 업데이트 안되는 문제 수정.

  2. RouteLineStylesSet 생성 시 일부 RouteLinePattern 설정 안되는 문제 수정.

  3. 지도 시작 시 MapAuthToken 으로 인증하는 방식 없어짐.

    • MapAuthToken, MapAuthenticator 클래스 없어짐.
    • MapView.getAuthenticator(), MapView.start(MapAuthToken, MapLifeCycleCallback, MapReadyCallback…) 함수 삭제.

v2.5.0

  1. KakaoMaps SDK v2 배포.