[유니티] 구글 지도 출력 샘플


  • 유니티에서 구글 지도 출력
// Google Maps API
// https://developers.google.com/maps/documentation/static-maps/intro  
public RawImage kRawImg;

public string strBaseURL = "https://maps.googleapis.com/maps/api/staticmap?center=";  
public double dLatitude = 37.4014171;      // 위도(판교)
public double dLongitude = 127.1102274;    // 경도(판교)
public int iMapZoom = 14;   
public int iMapWidth = 640;                // 무료 지원 최대 해상도
public int iMapHeight = 640;               // 무료 지원 최대 해상도
public string strPath = "weight:3%7Ccolor:blue%7Cenc:{coaHnetiVjM??_SkM??~R";
public string strGoogleAPIKey = "";       // 본인이 발급 받은 API 키 입력(없어도 됨)
    
IEnumerator map()
{              
    string url = strBaseURL + dLatitude + "," + dLongitude + 
        "&zoom=" + iMapZoom.ToString() + 
        "&size=" + iMapWidth.ToString() + "x" + iMapHeight.ToString() + 
        "&path=" + strPath + 
        strGoogleAPIKey;
    Debug.Log("URL: " + url);
    WWW www = new WWW(url);
    yield return www;
    kRawImg.texture = www.texture;
    kRawImg.SetNativeSize();
}

// Use this for initialization
void Start () {
    kRawImg = gameObject.GetComponent<RawImage>();
    StartCoroutine(map());
}
 
// Update is called once per frame
void Update () {
  
}





  • 이 외에도 맵 출력 형식(ex 위성), 마커 지정, 영역 지정, 패스 설정 등 가능
  • 참고
    • https://developers.google.com/maps/documentation/static-maps/intro
    • https://www.youtube.com/watch?v=3ExhMNLmQtc

댓글

  1. 혹시 non-static map은 어떻게 가져와야하나요?

    답글삭제
    답글
    1. non-static map이 움직이는 맵을 말씀 하시는 것이라면?
      단순히 저 코드로 활용 한다면 start 의 'StartCoroutine(map())'를 update로 옴기고 아래 좌표의 변수를 바꿔 주면 가능 하리라 봅니다.
      dLatitude = 37.4014171; // 위도(판교)
      dLongitude = 127.1102274; // 경도(판교)
      저 위도, 경도 좌표는 휴대폰의 gps신호를 읽어 들여 설정하고 update문이니 새로운 코르틴을 만들어 아래와 같이 실행 중에는 건더 뛰게 해야 겠네요
      yield return StartCoRoutine(map())

      삭제
    2. 혹시 그럼 터치 이벤트같은건 어떻게 하죠?
      유니티로 가능한가요?

      삭제
  2. 코드를 참고해서 유니티에서 실행시켰는데 빨간 물음 표만 뜹니다. 혹시 무엇이 문제인지 알 수 있을까요?

    답글삭제
    답글
    1. 빨간 물음표는 오류 같은데 오류 내용을 알려주시면 확인해 보겠습니다.

      삭제

댓글 쓰기

이 블로그의 인기 게시물

[유니티] 오류 사례 "Moving file failed", "Temp"

[Flutter] flutter setup error, "Unable to locate Android SDK.", "[!] Connected device"