- 20 ピンの緯度と経度の値の PLIST ファイルまたは json ファイルを作成します。
- アプリが iOS5 以降をターゲットにしている場合は、JSONKit libまたはできれば ios フレームワーク クラスNSJSONSerializationが必要です。
- ファイルをプロジェクト リソース フォルダーに追加します。
- リソース ファイルをロードするコードを記述する
JSONKit を使用してそれを行う方法の例を次に示します。
json ファイルを作成し、次の json サンプルをコピーしてpoi_data.jsonに貼り付け、json ファイルを読み込みます。
{
"poi": [
{
"id": "1",
"lat": "43.668997",
"lng": "-79.385093"
},
{
"id": "1",
"lat": "43.668997",
"lng": "-79.385093"
},
{
"id": "1",
"lat": "43.668997",
"lng": "-79.385093"
}
]
}
- (void)loadDataFromFile {
NSString* path = [[NSBundle mainBundle] pathForResource:@"poi_data"
ofType:@"json"];
NSString* content = [NSString stringWithContentsOfFile:path
encoding:NSUTF8StringEncoding
error:NULL];
NSDictionary *poiCollection = [content objectFromJSONStringWithParseOptions:JKParseOptionUnicodeNewlines | JKParseOptionLooseUnicode error:nil];
NSArray* pois = [result objectForKey:@"poi"];
for (NSInteger i = 0; i < [pois count]; i++) {
NSDictionary* node = (NSDictionary*)[poi objectAtIndex:i];
CGFloat lat = [[node objectForKey:@"lat"] doubleValue];
CGFloat lng = [[node objectForKey:@"lng"] doubleValue];
}
}
- PLIST を使用して NSDictionary にロードすることもできます。plist は Cocoa Touch で非常によくサポートされています。
https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/PropertyLists/QuickStartPlist/QuickStartPlist.html#//apple_ref/doc/uid/10000048i-CH4-SW5
バックグラウンド スレッドまたは NSOperation ブロックでロード データ コードを実行することを忘れないでください。ロードに時間がかかりすぎるために、アプリがクラッシュする可能性があります。