[BlackPoint-Xr] 퍼펙트 튜토리얼 – 9 : TMS를 통한 외부 배경지도 사용하기

TMS는 Tile Map Service로써, 타일맵 이미지로 이미 가공된 격자 이미지를 조합하여 하나의 지도를 구성하도록 하는 서비스입니다. 흔히 타일맵 이미지의 크기는 256×256 또는 512×512입니다. 블랙포인트에서 TMS를 이용해 네이버의 위성영상지도를 표시하는 API에 대해 살펴 보도록 하겠습니다. 이 튜토리얼의 코드는 퍼펙트 튜토리얼 2장 SHP 파일로부터 레이어 추가하기에서 작성된 프로젝트를 시작으로 합니다.

TMS를 통한 지도 역시 하나의 레이어로 생각할 수 있습니다. 레이어를 추가하는 코드는 LayersLoadingTask.java의 doInBackground 함수에 추가됩니다. doInBackground 함수를 아래처럼 입력합니다.

코드를 살펴보면, 2~3번 코드가 TMS를 통한 레이어를 추가하고 있는 코드입니다. 레이어의 고유 이름을 ‘naver’로 주었으며 TMS 연결을 위한 정보를 http://222.237.78.208:8080/tms/naver.xml 파일로부터 얻어오고 있습니다. 이 파일의 내용은 아래와 같습니다.

또한 추가적으로 5~22번 코드에서 SHP 파일로부터 실폭도로 SHP 파일을 통한 레이어도 추가하고 있습니다. 이 실폭도로에 대한 색상 심벌로 외곽선을 빨간색으로지정하고 채움색은 투명으로 지정하고 있습니다. 위의 코드가 실행되면 바로 호출되는 onPostExecute 함수를 아래처럼 입력합니다.

지도에 대핸 축척값을 1 Pixel 단위로 지정하고 있는데요. 바로 7번 코드를 보면 1 Pixel에 대한 미터 값으로 0.25를 주고 있습니다. 이 값은 위의 TMS 정보의 UNITPERPIXEL 항목의 값중 마지막 값입니다.

이제 실행하기 전에 TMS를 통한 타일맵 호출은 네트워크를 사용하므로 AndroidManifest.xml 파일에 INTERNET 퍼미션을 추가해 줘야 합니다. 아래의 코드를 추가합니다.

이제 실행하면 아래의 결과 화면을 볼 수 있습니다.

위의 실행 결과를 보면 TMS를 통한 항공영상과 SHP 파일을 통한 빨간색의 실폭도로를 볼 수 있습니다.

끝으로 TMS를 통한 외부 지도를 활용할 경우 해당 외부 지도에 대한 저작권을 꼼꼼이 따져 보시기 바랍니다. 일반적으로 외부 지도 제공 업체에 TMS를 통한 지도 사용에 대한 라이선스를 획득하셔야 합니다.

“[BlackPoint-Xr] 퍼펙트 튜토리얼 – 9 : TMS를 통한 외부 배경지도 사용하기”에 대한 2개의 댓글

  1. 안녕하세요.
    튜토리얼을 따라하다 네이버 외에 혹시 구글에 대한 정보를 알 수 있을까요?
    죄송하지만 구글에 대한 xml 정보에 대해 좀 알려주시면 감사하겠습니다.

    1. 예전에 프로젝트에서 TMS를 통해 배경지도를 끌어와 사용했었는데..
      과거에 사용할 수 있었던 구글 항공영상은 TMS 형태로 사용할 수 없었습니다.
      참고하시기 바랍니다.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다