iOS/iPhone/iPad/watchOS/tvOS/MacOSX/Android プログラミング, Objective-C, Cocoa, Swiftなど
前回は、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>
関連する有益な情報を見つけたので、追加する。
iOSシミュレータで使えるGPXファイルジェネレーター