함수 링크 복사
사용할 애플리케이션의 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 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() |