Python/Utils

[Naver Map] 요구사항 별 사용 API 및 기능 정리 등

yubi5050 2024. 7. 27. 17:58

나중에 네이버 맵 (Naver Map) 관련 API 사용이나 정보가 필요시 때를 위한 정리

 

주소 정보 검색 으로 위경도 얻기

기능 개요

  • 지번, 도로명를 질의어로 사용해서 주소 정보를 검색

 

검색 결과

  • 주소 목록 및 세부 정보 (위경도 좌표 포함)

 

네이버 API 문서 (링크)

 

 

사용법

  1. 네이버 클라우드 콘솔에서 application 생성하고 client id (X-NCP-APIGW-API-KEY-ID) 얻기
  2. 해당 정보를 querystring에 사용
  3. 요청 URL 예시) GET https://naveropenapi.apigw.ntruss.com/map-geocode/v2/geocode-js?X-NCP-APIGW-API-KEY-ID=<your_client_id>&query=<검색어: 논현동 15-1>
  4. 응답으로 주소 정보 및 위경도 좌표 반환

 

네이버 맵 URL 만들기

개요

  • 네이버 맵에 특정 위치로 갈 수 있는 URL 만들기

 

네이버 지도 특징

  • v5 기준, EPSG:3857 좌표계를 사용
  • pyproj 라이브러리 등을 통해 좌표 변환 필요

 

예시 코드

from pyproj import Proj, transform

# navermap
proj_NAVER = Proj(init='epsg:3857')

# WGS1984
proj_WGS1984 = Proj(init='epsg:4326')

# 맵 변환 함수
def create_naver_map_url(query:str, lat: float, long: float, mag: int = 18.00):
    # 변환된 좌표계 
    x, y = transform(proj_WGS1984, proj_NAVER, long, lat)

    # 최종 URL
    # url = http://map.naver.com/v5/search?c={x좌표},{y좌표},{배율},0,0,0,dh
    url = f"https://map.naver.com/v5/?c={x},{y},{mag},0,0,0,dh"
    return x, y, url

 

맵 화면 결과

https://map.naver.com/v5/?c=14140099.477935584,4511237.54785269,15,0,0,0,dh   // 논현동

 

네이버 맵 특정 좌표에 마커 띄워진 URL 만들기 

개요

  • 네이버 맵에 특정 위치로 갈 수 있는 (+그 특정 위치에 마커가 띄워진) URL 만들기

 

예시 코드

# 윗 부분은 위 예제와 동일 
# 맵 변환 함수
def create_naver_map_url(query:str, lat: float, long: float, mag: int = 18.00):
    # 변환된 좌표계 
    x, y = transform(proj_WGS1984, proj_NAVER, long, lat)

    # 최종 URL
    # https://map.naver.com/p/entry/address/14146536.4324312,4516580.2616402,논현동 15-1?c=19.00,0,0,0,dh
    url = f"https://map.naver.com/p/entry/address/{x},{y},{full_address}?c={mag},0,0,0,dh"
    return x, y, url

 

 

맵 화면 결과

https://map.naver.com/p/entry/address/14146536.4324312,4516580.2616402,%EB%85%BC%ED%98%84%EB%8F%99%2015-1?c=19.00,0,0,0,dh