함수 링크 복사

사용할 애플리케이션의 Application 클래스에 KNSDK를 등록합니다. 안드로이드 애플리케이션의 경우 한 개의 Application 클래스를 가지며 이 클래스를 이용해서 애플리케이션에서 공통적으로 사용할 클래스나 프로퍼티를 선언할 수 있습니다.

fun install( application: Application,
rootPath: String? ): Unit

application
애플리케이션의 Application 클래스
rootPath
KNSDK의 파일을 관리하기 위한 루트 경로(Root Path)

사용 중인 KNSDK의 버전을 반환합니다.

fun sdkVersion(): String

애플리케이션이 일시 정지(pause) 상태가 되면 해당 정보를 KNSDK에 전달합니다.

fun handleWillResignActive(): Unit

애플리케이션이 백그라운드(Background) 상태가 되면 해당 정보를 KNSDK에 전달합니다.

fun handleDidEnterBackground(): Unit

애플리케이션이 포그라운드(Foreground) 상태가 되면 해당 정보를 KNSDK에 전달합니다.

fun handleWillEnterForeground(): Unit

애플리케이션이 재개(Resume) 상태가 되면 해당 정보를 KNSDK에 전달합니다. 상태가 재개될 경우 음성 안내의 일시 정지 상태가 해제됩니다.

fun handleDidBecomeActive(): Unit

애플리케이션이 종료되면 해당 정보를 KNSDK에 전달합니다. 애플리케이션이 종료되는 시점에 주행 중인 경로가 있으면 해당 상태 값과 경로를 저장합니다.

fun handleWillTerminate(): Unit

애플리케이션이 차량용 인포테인먼트(In-Vehicle Infotainment)와 연결되었음을 KNSDK에 전달합니다.

fun handleCarInterfaceConnected(): Unit

애플리케이션과 차량용 인포테인먼트(In-Vehicle Infotainment)의 연결이 해제되었음을 KNSDK에 전달합니다.

fun handleCarInterfaceDisconnected(): Unit

사용자를 구분하기 위한 키(UserKey) 값을 KNSDK에 전달합니다.

fun setUserKey( userKey: String? ): Unit

userKey
사용자를 식별하기 위한 UserKey. 키 값은 서비스에서 발급되며 KNSDK에서는 해당 값을 이용해 개별 사용자를 식별하고 개인화 서비스를 제공할 수 있음.

다운로드 된 지도의 버전과 KNSDK 초기화 시 서버로부터 전달받은 최신 지도 버전을 반환합니다.

fun localDataWithUpdateVersion(): Pair<Int, Int>

KNSDK를 초기화합니다.

KNSDK를 사용하기 전에 반드시 초기화를 진행해야 합니다.

fun initializeWithAppKey( appKey: String,
clientVersion: String,
userKey: String? = null,
langType: KNLanguageType = KNLanguageType.KNLanguageType_KOREAN,
completion: ((error: KNError?) -> Unit)? ): Unit
예시 코드 KNSDK
[KNSDK sharedInstance initializeWithAppKey:@"API Key" langType:KNLanguageType_KOREAN completion:^(KNError *error) { 
  if (error) 
  { 
    // SDK 초기화 실패 
  } 
  else 
  { 
    // SDK 초기화 성공 
  } 
}];
[KNSDK sharedInstance initializeWithAppKey:@"API Key" langType:KNLanguageType_KOREAN completion:^(KNError *error) { 
  if (error) 
  { 
    // SDK 초기화 실패 
  } 
  else 
  { 
    // SDK 초기화 성공 
  } 
}];
코드가 숨겨졌습니다.

appKey
KNSDK 사용을 위해 발급된 AppKey
userKey
사용자를 식별하기 위한 UserKey. 키 값은 서비스에서 발급되며 KNSDK에서는 해당 값을 이용해 개별 사용자를 식별하고 개인화 서비스를 제공할 수 있음.
langType
언어 설정
completion
초기화 완료 후 결과 상태 전달

지도 랜더러를 요청합니다. 내부적으로 로더, 스타일러, 렌더러를 바인딩하고 초기화한 다음 전달합니다.

fun makeRendererWithFrame( context: Context,
mapTheme: KNMapTheme,
width: Float = -1f,
height: Float = -1f,
surface: Surface ): KNMapControlManager?

맵 뷰 객체를 요청합니다. 내부적으로 로더, 스타일러, 렌더러를 바인딩하고 초기화한 다음 전달합니다.

맵 뷰 객체는 반드시 KNSDK를 통해 생성되어야 합니다.

fun bindingMapView( mapView: KNMapView,
mapTheme: KNMapTheme,
completion: ((KNError?) -> Unit)? ): Unit?

KNTrip을 생성합니다.

fun makeTripWithStart( start: KNPOI,
goal: KNPOI,
vias: MutableList<KNPOI>?,
csId: String? = null,
completion: (error: KNError?, trip: KNTrip?) -> Unit ): Unit

start
출발지
goal
도착지
vias
경유지 리스트
csId
CS 대응 식별자. 현재는 사용하지 않음.
completion
경로 전달 블록

KNGuidance를 가져옵니다. 현재 KNGuidance는 한 개만 존재합니다.

fun sharedGuidance(): KNGuidance?

KNGPSManager를 가져옵니다. 현재 KNGPSManager는 한 개만 존재합니다.

fun sharedGpsManager(): KNGPSManager?

카텍(KATEC) 좌표에 해당하는 행정동 주소를 반환합니다. 반환되는 값은 에러 코드, 행정 코드, 도 명칭, 시군구 명칭, 동 명칭 순으로 반환되며 이를 조합하여 사용합니다. 모든 카텍 좌표가 주소로 반환될 수 있는 것은 아니며 도 명칭, 시군구 명칭, 동 명칭의 중간 값으로 null 값이 반환될 수 있습니다.

fun reverseGeocodeWithPos( katecPos: IntPoint,
inUiThread: Boolean = true,
completion: ((error: KNError?,
addrCode: String?,
doName: String?,
siGunGuName: String?,
dongName: String?) -> Unit)? ): Unit

katecPos
주소로 반환될 카텍(KATEC) 좌표
inUiThread
결과를 UIThread 상태에서 반환할지 여부
completion
카텍(KATEC) 좌표에 해당하는 행정동 주소

WGS84 좌표를 카텍(KATEC) 좌표로 변환하여 반환합니다.

fun convertWGS84ToKATEC( wgs84Lon: Double,
wgs84Lat: Double ): FloatPoint

wgs84Lon
WGS84 좌표의 경도 값
wgs84Lat
WGS84 좌표의 위도 값

카텍(KATEC) 좌표를 WGS84 좌표로 변환하여 반환합니다.

fun convertKATECToWGS84( katecX: Int,
katecY: Int ): DoublePoint

katecX
카텍(KATEC) 좌표계의 X 값
katecY
카텍(KATEC) 좌표계의 Y 값

KNGPSManager에 위치 정보를 전달받기 위한 리시버(receiver)를 등록합니다. 위치 정보가 수신될 경우 등록된 리시버를 통해 위치 정보가 전달됩니다.

fun requestLocationUpdate( delegate: KNGPSReceiver ): Unit?

delegate
등록할 리시버

KNGPSManager에 등록된 리시버(receiver)를 삭제합니다.

fun removeLocationUpdate( delegate: KNGPSReceiver ): Unit?

delegate
등록된 리시버

관심 지점(POI)의 상세 정보를 조회하여 반환합니다.

fun reqPoiDetail( idList: List<String>,
completion: ((error: KNError?,
poiDetailResult: KNPoiDetailResult?) -> Unit)? ): Unit?

idList
상세 정보를 가져올 관심 지점(POI) 아이디 리스트
completion
관심 지점(POI) 아이디로 조회한 상세 정보를 반환. 실패 시 에러 반환

검색어로 장소를 검색하고 결과를 반환합니다. 검색어는 완성형 글자로 전달해야 합니다.

fun reqSearch( keyword: String,
pageNo: Int,
pageSize: Int,
request: KNSearchReqType,
x: Int,
y: Int,
completion: ((error: KNError?,
searchResult: KNSearchResult?) -> Unit)? ): Unit?

keyword
검색할 키워드(완성형 글자)
pageNo
검색 결과 페이지의 시작 번호
pageSize
페이지당 검색 결과 개수
request
검색 유형
x
주변 우선 검색을 위한 현재 위치의 X 좌표
y
주변 우선 검색을 위한 현재 위치의 Y 좌표
completion
검색 키워드로 조회한 검색 결과를 반환. 실패 시 에러 반환

검색 좌표를 중심으로 반경을 지정하여 관심 지점(POI)를 검색합니다. 조회되는 관심 지점은 범주 코드(category code)에 의해 시설 종류가 변경된다.

fun reqPoiSearchAround( cCode: Int,
fuelType: KNCarFuel,
pos: FloatPoint,
mbr: MBR,
completion: ((error: KNError?,
poiSearchAroundResult: KNPoiSearchAroundResult?) -> Unit)? ): Unit?

cCode
검색할 범주 코드(category code)
fuelType
연료 타입
pos
주변 우선 검색을 위한 현재 위치의 좌표
mbr
검색할 좌표 영역
completion
검색 좌표 영역 안에서 범주 코드(category code)에 해당하는 관심 지점(POI) 리스트 반환. 실패 시 에러 반환

로컬 지도 혹은 클라우드 지도로 전환합니다.

fun swapMapDb( completion: ((KNError?) -> Unit)? ): Unit

다운로드한 지도 또는 클라우드 지도 파일을 모두 제거합니다.

fun clearDBFile( completion: ((KNError?) -> Unit)? ): Unit

로컬 지도 다운로드를 시작합니다.

fun localMapDownload( onDownloadStateListener: OnDownloadStateListener,
isAutoSwap: Boolean ): OnKNDownloadCommandListener?

onDownloadStateListener
지도 파일의 다운로드 상태를 반환
isAutoSwap
다운로드 완료 시 자동으로 지도 데이터 베이스(DB)를 로컬 지도로 전환할지 여부

KNConnection을 가져옵니다. 현재 KNConnection은 한 개만 존재합니다.

fun sharedConnection(): KNConnection?

배율을 설정하여 관심 지점(Point of Interest, POI)의 크기를 조정합니다. (최솟값: 0.5, 최댓값: 2.0)

fun setPOIRatio( ratio: Float )

건물을 지도상에서 평탄하게 표현할지 여부를 설정합니다. (기본값: false)

fun setBuildingFlat( isBuildingFlat: Boolean )

KNSDK를 해제합니다.

fun KNSDKRelease()