Xcode에서 iOS 기기의 위치 정보 시뮬레이션

4823 단어 XcodeiOSGISGPX
Xcode에서는 GPX 파일을 사용하여 iOS 시뮬레이터 및 iOS 기기 실제 기기의 위치 정보를 시뮬레이트 할 수 있습니다. 이 항목에서는 GPX 파일을 설명하고 만드는 방법과 Xcode에서 사용하는 방법에 대해 설명합니다.

GPX 파일 만들기



GPX 파일이란?



위치 정보를 취급하는 파일 형식의 하나로, Garmin의 트레킹용 디바이스나 Yahoo! 루트랩 등으로 경유지(=루트)를 표현하기 위해서 사용되고 있는 메이저인 형식입니다. 엔티티는 XML이 기술된 텍스트 파일로, waypoint 형식의 샘플은 다음과 같은 데이터로 되어 있습니다.
<?xml version="1.0"?>
<gpx version="1.1" creator="drive.py coded by basuke">
        <wpt lat="35.681507" lon="139.765581">
                <name>Tokyo Station, 1 Chome-9 Marunouchi, Chiyoda, Tokyo, Japan</name>
        </wpt>
        <wpt lat="35.681507" lon="139.765581"/>
        <!-- 中略 -->
        <wpt lat="35.466046" lon="139.623581"/>
        <wpt lat="35.466046" lon="139.623581">
                <name>Yokohama Station, 2 Chome-16 Takashima, Nishi Ward, Yokohama, Kanagawa Prefecture, Japan</name>
        </wpt>
</gpx>

GPX는 wpt(웨이 포인트), rte(루트), trk(트랙 포인트)의 3종이 존재합니다만, wpt, trk를 확인한 결과 Xcode는 wpt만 대응하고 있는 것 같습니다.

GPX 파일을 만드는 방법



몇 가지 방법이 있습니다.
  • Garmin과 같은 GPS 장치에서 생성 된 파일 사용
  • 루트 랩에서 적절한 데이터 다운로드
  • 자체 제작

  • 테스트에서 몇 가지 변형을 시도하는 것은 자작이 좋습니다. id:basuke 작의 drive.py ( iOS 시뮬레이터에서 사용할 수 있는 GPX 파일 생성기 )를 사용하면 Google Direction Service를 사용한 루트 데이터를 GPX 파일로 할 수 있습니다.

    앞의 URL에 작성된 python 스크립트를 drive.py라는 이름으로 저장하고 다음과 같이 명령을 실행합니다.
    $ python drive.py "東京駅" "横浜駅" > tokyo_to_yokohama.gpx
    

    이것으로 도쿄역에서 요코하마역까지의 루트 데이터를 tokyo_to_yokohama.gpx 라는 GPX 파일로서 작성되었습니다.

    Xcode로 시뮬레이션



    위치 정보를 사용하여 애플리케이션 만들기



    테스트 용 앱을 만들었으므로 사용하십시오!
  • MBGPXTest

  • GPX 파일을 프로젝트에 등록



    작성한 GPX 파일을 프로젝트에 등록합니다. Xcode에 추가하기만 하면 시뮬레이션을 위한 데이터로 인식됩니다.



    위치 정보 시뮬레이션



    앱을 실행하면 지도가 표시됩니다.



    Xcode의 하단 창에서 화살표 아이콘을 클릭합니다.



    방금 등록한 tokyo_to_yokohama.gpx가 선택 항목으로 표시되어야합니다. tokyo_to_yokohama 를 클릭하면 시뮬레이션이 시작됩니다.



    앱의 보기를 확인하면 내 위치가 이동 중임을 알 수 있습니다.

    Failed to upload スクリーンショット 2014-01-08 16.07.04.png: Monthly upload quota exceeded

    주의점



    위치 정보는 OS 내에서 하나만 처리되므로 위치 정보를 처리하는 모든 앱에 영향을 미칩니다. Moves나 내가 온 길 등의 라이프 로그계 앱은, 위치 정보의 시뮬레이션을 실시하는 것에 의해 로그가 오염되기 때문에 조심해 주세요(몇번인가 울었습니다).

    좋은 웹페이지 즐겨찾기