이전의 구글 맵을 연동했었다.
하지만
국내의 더 디테일한 내용을 확인하려면 네이버, 카카오 맵을 이용하는것이
효율적이라고 생각했다.
유니티에서 네이버 맵을 사용하려면 네이버 콘솔 플랫폼에 접속한다.
왼쪽 상단에 콘솔 버튼을 눌러 회원가입한다.
회원가입이 되어있다면 아이디 패스워드를 입력하여 로그인한다.
로그인이 완료되면 대시보드 항목으로 이동한다
대시 보드에서 Services 항목을 클릭한다.
Services/NAVER API 버튼을 클릭한다.
이동하면 Application 대시보드로 이동된다.
Application 항목에서 Application 등록 버튼을 클릭한다.
페이지 상단에 어플리케이션 이름을 입력하는 란이 생성된다.
개발하고자하는 어플의 명칭을 잘 써주자.
사용하고자 하는 API Service를 선택하자 Static Map에 대한 예제이다.
빨간 네모박스의 내용을 클릭하면 된다.
서비스해야할 환경명을 입력하여야 한다.
빨간색 네모박스 영역에 유니티 툴 상에 지정한 명칭을 써야한다.
File/BuildSettings/PlayerSettings/Player/Identification/Package Name의 문자열을 그대로 써주면 된다.
이후 추가 버튼을 누르면 아래의 등록 버튼이 활성화된다.
이제 유니티 툴로 이동한다.
Canavs를 생성한 후 아래에 RawImage를 생성한다.
이제 맵을 띄우기 위한 MapManager 클래스를 작성한다.
using System.Collections;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
public class MapManager : MonoBehaviour
{
public RawImage mapRawImage;
[Header("맵 정보 입력")]
public string strBaseURL = "";
public string latitude = "";
public string longitude = "";
public int level = 14;
public int mapWidth;
public int mapHeight;
public string strAPIKey = "";
public string secretKey = "";
// Start is called before the first frame update
void Start()
{
mapRawImage = GetComponent<RawImage>();
StartCoroutine(MapLoader());
}
IEnumerator MapLoader()
{
string str = strBaseURL + "?w=" + mapWidth.ToString() + "&h=" + mapHeight.ToString() + "¢er=" + longitude + "," + latitude + "&level=" + level.ToString();
Debug.Log(str.ToString());
UnityWebRequest request = UnityWebRequestTexture.GetTexture(str);
request.SetRequestHeader("X-NCP-APIGW-API-KEY-ID", strAPIKey);
request.SetRequestHeader("X-NCP-APIGW-API-KEY", secretKey);
yield return request.SendWebRequest();
if (request.result == UnityWebRequest.Result.ConnectionError || request.result == UnityWebRequest.Result.ProtocolError)
{
Debug.Log(request.error);
}
else
{
mapRawImage.texture = DownloadHandlerTexture.GetContent(request);
}
}
}
내용을 모두 작성하고 cs 파일이 만들어지면 RawImage 에 AddComponent 한다.
strBaseURL : https://naveropenapi.apigw.ntruss.com/map-static/v2/raster
Latitude : 위도 //자리수는 소숫점 7자리를 맞춰야한다. (중요)
Longitude : 경도 //자리수는 소숫점 7자리를 맞춰야한다. (중요)
Level : 지도의 확대/축소
Map width : 지도의 가로 길이
Map Height : 지도의 세로 길이
StrAPIKey : 네이버API 공개키
SecretKey : 네이버API 비밀키
해당 내용을 잘 참고하여야 한다.
다시 네이버의 콘솔로 돌아가서 등록된 API Services의 인증정보를 확인한다.
위의 두가지 키값을 가져와서
StrAPIKey에는 Client ID 값을 SecretKey에는 Client Secret 값을 Inspector 창에 입력한다.
모든 과정이 끝났다.
유니티 툴에서 Play 버튼을 눌러 지도가 호출되는것을 확인한다.
여기까지 네이버 Static Map API를 유니티 3D에 적용하는 방법을 알아보았다.
'Unity > Unity_API' 카테고리의 다른 글
[Unity] VWorld API를 사용하여 경로 그리기 (0) | 2022.12.27 |
---|---|
[Unity] VWorld API를 사용하여 지도 띄우기 (1) | 2022.12.23 |
[Unity] Static Google Map API 활용기 (8) | 2022.06.28 |