[iOS]GPSとGPX(その2) | Cocoa練習帳

[iOS]GPSとGPX(その2)

前回は、iOS GPX Frameworkの使い方は何となく分かったが、それをGPXファイルとして保存するには、どうすればいいのか分からなくて困っていた。ソースコードを眺めてみて何となく分かってきた。GPXElementクラスが基本の様相だ。それのプロパティgpxはNSString型だ。どうやら、ここからGPXファイルのデータを取得するようだ。




以下は公式サイトのサンプル・コードそのものだ。




- (void)viewDidLoad
{
    [super viewDidLoad];
    
    GPXRoot *root = [GPXRoot rootWithCreator:@"Sample Application"];
    
    GPXWaypoint *waypoint = [root newWaypointWithLatitude:35.658609f longitude:139.745447f];
    waypoint.name = @"Tokyo Tower";
    waypoint.comment = @"The old TV tower in Tokyo.";
    
    GPXTrack *track = [root newTrack];
    track.name = @"My New Track";
    
    [track newTrackpointWithLatitude:35.658609f longitude:139.745447f];
    [track newTrackpointWithLatitude:35.758609f longitude:139.745447f];
    [track newTrackpointWithLatitude:35.828609f longitude:139.745447f];
    
    NSLog(@"%@", root.gpx);
}



以下は、デバッグ出力の例だ。ちゃんと、GPXになっているようだ。




<?xml version="1.0" encoding="UTF-8"?>


<gpx xmlns="http://www.topografix.com/GPX/1/1" version="1.1" creator="Sample Application">


<wpt lat="35.658607" lon="139.745453">


<name>Tokyo Tower</name>


<cmt>The old TV tower in Tokyo.</cmt>


</wpt>


<trk>


<name>My New Track</name>


<trkseg>


<trkpt lat="35.658607" lon="139.745453">


</trkpt>


<trkpt lat="35.758610" lon="139.745453">


</trkpt>


<trkpt lat="35.828609" lon="139.745453">


</trkpt>


</trkseg>


</trk>


</gpx>


ソースコード

GitHubからどうぞ。

https://github.com/murakami/workbook/tree/master/ios/WayPoints - GitHub




関連情報

iOS GPX Framework

GitHub

This is a iOS framework for parsing/generating GPX files. This Framework parses the GPX from a URL or Strings and create Objective-C Instances of GPX structure.