iOS 開発者ガイド for SDK

ルートのシリアル化

ルートのシリアル化は、ユーザーが NMARoute メソッドを使用してにルートをシリアル化できるようにする機能 NSDataです。ルートのシリアル化は、ファイルとして保存できます。 を使用 NMARoute して、ルート計算プロセスを経由せずに、以前にシリアル化されたルートからルートを生成することもできます。 これは、ユーザーがナビゲーション中にクラッシュから復旧する場合、またはユーザーが別のデバイスからルートを転送する場合に役立ちます。

注 : ルートのシリアライゼーション は現在、ベータ機能として提供されています。 API は予告なく変更されることがあります。

現在、ルートのシリアライゼーションは、車、自転車、トラック、および歩行者ルートのみをサポートしています。 公共交通機関はシリアル化できません。 ルートがシリアライズされているマップのバージョンが現在のマップのバージョンと一致しない場合も、ルートのシリアライゼーションは動作しません。 また、シリアル化されたルートを含むバイナリデータが改ざんされたり、破損したりした場合にも、ルートのシリアル化が失敗します。 このような場合は、特定 NMARouteSerializationError のエラーコードが返されます。

非同期操作と同期操作の両方がサポートされています。 ルートを非同期にシリアル化するには、次の手順を実行します。

NMARoute* route;
// assume that route calculation was already performed

// asynchronous serialization
[NMARoute serializedRouteWithCompletionBlock^(NSData *data, NSError *error) {
  // do something with the data
}];

ルートを非同期的にデシリアライズするには、次の手順

NSData* data;
// assume 'data' is pointing to a previously serialized route

[NMARoute routeFromSerializedRoute:data withCompletion:^(NMARoute *restoredRoute, NSError *error) {
  // do something with the restored route
}];