해당 가이드는 네이버 개발자 센터에서 이전을 위한 변경 가이드입니다.

주요 개선 항목 네이버 개발자 센터 NAVER CLOUD PLATFORM
서비스 이용 한도의 종류 일별 한도 제공 일별에 추가적인 월별 한도 제공
서비스 이용 한도의 설정 직접 설정 불가 직접 설정 변경 가능
서비스 이용 한도의 범위 하기 상세 설명 참고 대폭 상향
이용량 조회 익일부터 조회 가능, 한 달만 제공, API 호출 수만 제공 실시간 조회, 세 달까지 제공, API 호출 수 및 과금 단위별 제공

참고. Maps API 관련 일정

일정 변경 내용
2019 년 4월 15일 네이버 개발자 센터 Maps API 종료
2019 년 12월 31일 Mobile SDK v2 종료

변경 내용

Overview

주요 변경 사항 설명
API URL 별첨된 URL로 변경
Client ID, Client Secret NAVER CLOUD PLATFORM에서 신규 등록한 Application 정보로 변경
Mobile SDK Mobile SDK 저장소 변경
에러 코드 일부 예외에 대한 결과값의 변경 적용(인증 오류 발생나 쿼터 한도 도달 혹은 서비스 사용 불가 등)
이용 한도 시간 기준을 UTC+9 기반에서 글로벌 서비스를 고려한 UTC+0 기준으로 변경 적용

API URL

API명 네이버 개발자 센터 NAVER CLOUD PLATFORM 포맷
Javascript API https://openapi.map.naver.com/openapi/v3/maps.js?clientId=CLIENT_ID (GET) https://openapi.map.naver.com/openapi/v3/maps.js?ncpClientId=CLIENT_ID (GET) -
주소 -> 좌표 변환 API
(Geocoding API)
https://openapi.naver.com/v1/map/geocode (GET) https://naveropenapi.apigw.ntruss.com/map-geocode/v2/geocode (GET) JSON, XML
좌표 -> 주소 변환 API
(Reverse Geocoding API)
https://openapi.naver.com/v1/map/reversegeocode (GET) https://naveropenapi.apigw.ntruss.com/map-reversegeocode/v2/gc (GET) JSON, XML
StaticMap API https://openapi.naver.com/v1/map/staticmap.bin (GET) https://naveropenapi.apigw.ntruss.com/map-static/v2/raster (GET) JPG, PNG

Client ID, Client Secret

항목 네이버 개발자 센터 NAVER CLOUD PLATFORM
Client ID X-Naver-Client-Id X-NCP-APIGW-API-KEY-ID
Client Sccret X-Naver-Client-Secret X-NCP-APIGW-API-KEY

Mobile SDK

항목 네이버 개발자 센터 NAVER CLOUD PLATFORM
Android SDK Git https://github.com/navermaps/maps.android https://github.com/NaverCloudPlatform/maps.android
Android jCenter compile 'com.naver.maps.open:naver-map-api:2.1.2@aar' compile 'com.naver.maps.open:naver-map-ncp-api:2.1.7@aar'
iOS SDK Git https://github.com/navermaps/maps.ios https://github.com/NaverCloudPlatform/naverspeech-sdk-ios

에러 코드

HTTP 상태 코드 네이버 개발자 센터 NAVER CLOUD PLATFORM
401(Authentication Failed) 애플리케이션 클라이언트 아이디와 시크릿 값이 없거나 잘못된 경우 애플리케이션 클라이언트 아이디와 시크릿 값이 없거나 잘못된 경우
403(서버가 허용하지 않는 호출) HTTPS가 아닌 HTTP로 호출한 경우 404 에러로 변경
404(API 없음) API 요청 URL이 잘못된 경우 API 요청 URL이 잘못된 경우
405(메서드 허용 안함) HTTP 메서드를 잘못하여 호출한 경우(POST인데 GET으로 호출) 404 에러로 변경
400(요청 변수 확인), 403(호출 금지), 500(서버 오류) 필수 요청 변수가 빠졌거나 요청 변수 이름이 잘못된 경우 필수 요청 변수가 빠졌거나 요청 변수 이름이 잘못된 경우
400(요청 변수 확인), 403(호출 금지), 500(서버 오류) 요청 변수 값을 URL 인코딩하지 않고 전송한 경우 요청 변수 값을 URL 인코딩하지 않고 전송한 경우
429(Quota Exceeded) 오픈 API를 호출할 때 일 또는 월 허용량을 초과한 경우 오픈 API를 호출할 때 일 또는 월 허용량을 초과한 경우
429(Quota Exceeded) - 해당 API 신청을 하지 않은 경우
429(Throttle Limited) - Rate를 초과한 경우
429(Rate Limited) - Rate를 초과한 경우
500(서버 오류) API는 정상적으로 호출했지만 API 서버 유지보수나 시스템 오류로 인한 에러가 발생한 경우 API는 정상적으로 호출했지만 API 서버 유지보수나 시스템 오류로 인한 에러가 발생한 경우

기존(네이버 개발자 센터) 에러 코드 형식

{
  "errorMessage": "Authentication failed (인증에 실패하였습니다.)",
  "errorCode": "024"
}

이후(NAVER CLOUD PLATFORM) 에러 코드 형식

{
  "error": {
    "errorCode": "300",
    "message": "Not Found Exception"
  }
}

이전 가이드

Application Key 발급

클라이언트 아이디는 NAVER CLOUD PLATFORM 콘솔에서 애플리케이션을 등록해 발급받습니다.

  • 콘솔이용은 NAVER CLOUD PLATFORM 회원 가입 및 결제수단 등록 후 이용 가능 합니다.

  • 콘솔의 AI·Application Service > AI·NAVER API > Application에서 애플리케이션을 등록합니다. 자세한 방법 보기 >

  • AI·Application Service > AI·NAVER API > Application에서 등록한 애플리케이션을 선택해 Client ID와 Client Secret값을 확인합니다.

  • AI·Application Service > AI·NAVER API > Application변경 화면에서 API 상품명이 선택되어 있는지 확인합니다. 선택되어 있지 않으면 429 (Quota Exceed)가 발생하니 주의하시기 바랍니다.

Javascript API

  • 위 Application Key 발급 단계에서 Web Dynamic Map을 선택합니다.
  • geocoder (주소 <-> 좌표 변환) 모듈을 사용하는 경우 Geocoding API 또는 Reverse Geocoding API를 추가로 선택하세요
  • 호출되는 라이브러리의 파라미터를 ncpClientId로 변경합니다.
<script type="text/javascript" src="https://openapi.map.naver.com/openapi/v3/maps.js?ncpClientId=YOUR_CLIENT_ID"></script>

자주묻는 질문

Q. 401 (Authentication Failed) 인증오류가 납니다. 어떻게 해야 하나요?

Q. 주소 검색시 429 (Too many request) 에러가 발생합니다. 어떻게 해야 하나요?

Q. 방화벽에서 허용할 MAPS API 정보를 알 수 있을까요?

Q. 다국어 지원이 되나요?

Mobile SDK

(안내) Mobile Dynamic Map SDK v2는 2019년 12월 31일 종료 될 예정으로 종료 이전에 v3로 교체 이용 해 주시기 바랍니다.
마이그레이션 가이드: https://navermaps.github.io/ios-map-sdk/guide-ko/migration.html

  • 위 Application Key 발급 단계에서 Web Dynamic Map을 선택합니다.
  • 좌표를 주소로 변환 하는 기능을 사용하는 경우 또는 Reverse Geocoding API를 추가로 선택하세요

Android

  • build.gradle 의존성 변경
    • build.gradle에 com.naver.maps.open:naver-map-api:2.1.x 의존성을 추가해 사용 중인 경우: com.naver.maps.open:naver-map-ncp-api:2.1.7로 변경합니다.
    • nmaps.aar를 사용 중인 경우: build.gradle에 com.naver.maps.open:naver-map-ncp-api:2.1.7 의존성을 추가합니다.
  • 소스 코드 변경
    • NMapView.setClientId()를 NMapView.setNcpClientId()로 변경합니다.

자세한 사항은 설명서 > AI NAVER API > Maps > Mobile Dynamic Map (v2) > Android 시작 가이드을 참조하세요.

iOS

  • https://github.com/NaverCloudPlatform/maps.ios에서 SDK를 다운로드합니다.
  • 기존에 사용하던 NMapViewerSDK.framework를 새로 받은 바이너리로 교체합니다.
  • 개발자센터에서 발급받았던 클라이언트ID를 NCP에서 발급받은 클라이언트ID로 교체합니다.

자세한 사항은 설명서 > AI NAVER API > Maps > Mobile Dynamic Map (v2) > iOS 시작 가이드을 참조하세요.

주소 -> 좌표 변환 API (Geocoding API)

  • 위 Application Key 발급 단계에서 Geocoding API을 선택합니다.

요청 URL 및 파라미터 변경

  • 네이버 개발자 센터 (이전)

    curl "https://openapi.naver.com/v1/map/geocode?encoding=utf-8&coordType=latlng&query={주소}" \
      -H "Content-Type: application/json" \
      -H "X-Naver-Client-Id: {네이버 개발자 센터 client id값}" \
      -H "X-Naver-Client-Secret: {네이버 개발자 센터 client secret값}" -v
    
  • 네이버 클라우드 플랫폼 (이후)

    curl "https://naveropenapi.apigw.ntruss.com/map-geocode/v2/geocode?query={주소}" \
      -H "Content-Type: application/json" \
      -H "X-NCP-APIGW-API-KEY-ID: {네이버 클라우드 플랫폼에서 발급받은 client id값}" \
      -H "X-NCP-APIGW-API-KEY: {네이버 클라우드 플랫폼에서 발급받은 client secret값}" -v
    

Request 값 변경

  • 응답 인코딩 파라미터(encoding)를 더 이상 지원하지 않습니다.(항상 'utf-8'로 응답)
  • 응답 좌표체계 파라미터(coordType)를 더 이상 지원하지 않습니다.(항상 '위경도'로 응답)
  • callback 파라미터는(jsonp 방식 지원) 추후 지원 예정입니다.

Response 값 변경

  • 검색어(query)에 해당하는 주소결과에 대해 도로명, 지번, 영어주소 3가지 형태를 모두 제공합니다.

자세한 사항은 아래 링크를 참고하세요

좌표 -> 주소 변환 API (Reverse Geocoding API)

  • 위 Application Key 발급 단계에서 Reverse Geocoding API을 선택합니다.

요청 URL 및 파라미터 변경

  • 네이버 개발자 센터 (이전)

    curl "https://openapi.naver.com/v1/map/reversegeocode?encoding=utf-8&coordType=latlng&query={입력_좌표}" \
      -H "Content-Type: application/json" \
      -H "X-Naver-Client-Id: {네이버 개발자 센터 client id값}" \
      -H "X-Naver-Client-Secret: {네이버 개발자 센터 client secret값}" -v
    
  • 네이버 클라우드 플랫폼 (이후)

    curl "https://naveropenapi.apigw.ntruss.com/map-reversegeocode/v2/gc?coords={입력_좌표}&sourcecrs={좌표계}&orders={변환_작업_이름}&ouput={출력_형식}" \
      -H "Content-Type: application/json" \
      -H "X-NCP-APIGW-API-KEY-ID: {네이버 클라우드 플랫폼에서 발급받은 client id값}" \
      -H "X-NCP-APIGW-API-KEY: {네이버 클라우드 플랫폼에서 발급받은 client secret값}" -v
    

Request 값 변경

  • 인코딩 파라미터(encoding)를 더 이상 지원하지 않습니다.(항상 'utf-8'로 응답)
  • 좌표값 : query -> coords
  • 출력좌표계 : coordType -> targetcrs
  • 필수 파라미터 추가 : request=coordsToaddr
  • xml/json 응답형식 선택을 output 파라미터로 합니다.
    • output=xml or output=json
  • 받고자 하는 주소 종류를 상세하게 선택 및 조합할 수 있습니다.
    • orders=legalcode : 법정동
    • orders=admcode : 행정동
    • orders=addr : 지번주소
    • orders=roadaddr : 도로명주소
    • orders=legalcode,admcode : 법정동/행정동 둘다 받음
    • orders=legalcode,admcode,addr,roadaddr : 법정동/행정동/지번/도로명주소 모두 받음
    • orders 파라미터 없이 호출하면 orders=legalcode,admcode와 동일한 효과가 있습니다.
      • 법정동, 행정동 정보 받음
    • 개발자 센터 API처럼 모든 주소를 받고자 하신다면 orders=legalcode,admcode,addr,roadaddr를 호출하시면 됩니다.
    • 상세주소(지번,도로명)을 받고자 한다면 orders=addr,roadaddr 같은 호출보다는 orders=legalcode,admcode,addr,roadaddr 형식으로 호출하는 것을 추천드립니다.
      • 이유 : 해안가, 강, 신규택지 등 상세주소가 없는 지역의 경우 법정동, 행정동 정보라도 결과로 함께 받을 수 있기 때문 ​

Respose 값 변경

  • 응답결과의 행정단위별 depth구조가 있으며 각각의 중심좌표 정보도 제공합니다.
  • 도로명주소의 경우 우편번호가 있는 위치의 좌표결과라면 우편번호 정보도 함께 제공합니다.
  • depth 구조 및 상세정보를 함께 제공하다보니 기존 개발자 센터 결과보다 응답길이가 깁니다.
  • 단일 tag로 full address를 제공하는 항목이 없습니다.
    • 기존 개발자 센터 결과의 'address' 항목 ​

자세한 사항은 아래 링크를 참고하세요

StaticMap API

요청 URL 및 파라미터 변경

  • 네이버 개발자 센터 (이전)

    curl "https://openapi.naver.com/v1/map/staticmap.bin?clientId={애플리케이션 등록 시 발급받은 client Id 값}&url={등록한 애플리케이션의 서비스 URL)&crs=EPSG:4326&center=127.1141382,37.3599968&level=3&w=300&h=300&baselayer=default"
    
  • 네이버 클라우드 플랫폼 (이후)

    curl "https://naveropenapi.apigw.ntruss.com/map-static/v2/raster?w=300&h=300&center=127.1054221,37.3591614&level=16" \
      -H "X-NCP-APIGW-API-KEY-ID: {애플리케이션 등록 시 발급받은 client id값}" \
      -H "X-NCP-APIGW-API-KEY: {애플리케이션 등록 시 발급받은 client secret값}" -v
    
  • Client Secret 이 노출 되지 않도록, 서버에서 호출 후 사용하시기 바랍니다.

자세한 사항은 아래 링크를 참고하세요

기타 자주 묻는 질문

Q. MAPS API 호출시 CORS 에러가 발생합니다.

Q. Maps API 서비스 등록 방법을 알려주세요.

Q. 네이버 클라우드 플랫폼 Maps API의 무료 이용량 프로모션은 어떻게 제공되나요?

Q. 2019년은 무료 프로모션이 적용되는데 그렇다면 2020년에는 유료인가요? 별도의 프로모션이 적용되나요?

Q. MAPS의 2019년 무료 사용량 프로모션은 사업자당 1개인가요?

""에 대한 건이 검색되었습니다.

    ""에 대한 검색 결과가 없습니다.

    처리중...