自転車のルート探索
自転車ルート機能では、自転車専用の速度推定値を使用して、車と歩行者の道路を使用したルート計算が提供されます。 この種類のルーティングはオンラインまたはオフラインで実行でき、高度データはオンラインリクエストで利用できます。
- 自転車のルート探索 は現在、ベータ版として提供されています。 API は予告なく変更されることがあります。
- 自転車専用道路はまだサポートされていません。
自転車のルートには、歩行者専用道路と、走行可能な方向の反対側にある一方通行の道路を横断する必要のある道路セグメントが含まれています。 進行方向で走行するために道路が開かれていない場合、経路制御アルゴリズムはユーザーが自転車を徒歩で移動する必要があると想定し、そのような区間では歩行者の歩行速度を使用します。 この規則の特別な例外として、公園にある歩行者専用道路が自転車用に開放されていることが想定されているため、自転車のフルスピードが使用されています。 一般に、このような徒歩専用のセグメントは、大きなショートカットを提供する場合、または経由地がそのようなセグメントに配置されている場合にのみ自転車ルーティングで使用されます。
自転車ルーティングリクエストを実行しています
次の例に示すように、NMACoreRouter
クラスおよびNMATransportModeBike
を使用して自転車ルーティングを実行できます。
// Create an NMACoreRouter
NMACoreRouter* coreRouter = [[NMACoreRouter alloc] init];
NMAGeoCoordinates* geoCoord1 =
[[NMAGeoCoordinates alloc] initWithLatitude:49.276271 longitude:-123.113224];
NMAGeoCoordinates* geoCoord2 =
[[NMAGeoCoordinates alloc] initWithLatitude:49.1947289 longitude:-123.1762924];
NMAWaypoint* waypoint1 = [[NMAWaypoint alloc] initWithGeoCoordinates:geoCoord1];
NMAWaypoint* waypoint2 = [[NMAWaypoint alloc] initWithGeoCoordinates:geoCoord2];
NSMutableArray* stops = [[NSMutableArray alloc] initWithCapacity:4];
[stops addObject:waypoint1];
[stops addObject:waypoint2];
NMARoutingMode* routingMode = [[NMARoutingMode alloc]
initWithRoutingType:NMARoutingTypeFastest
transportMode:NMATransportModeBike
routingOptions:0];
[coreRouter calculateRouteWithStops:stops routingMode:routingMode
completionBlock:^(NMARouteResult *routeResult, NMARoutingError error) {
// If the route was calculated successfully
if (!error && routeResult && routeResult.routes.count > 0)
{
NMARoute* bikeRoute = [routeResult.routes objectAtIndex:0];
// ...
}
else if (error)
{
// Display a message indicating route calculation failure
}
}];
ルート高度
オンライン自転車ルーティングセッションで は、 HERE SDK は、特定の道路で使用する速度を決定するときに、標高の変化を考慮します。 上り坂を走行すると、速度が低下し、歩行者の速度まで下がることがあります。 下り坂を走行すると、速度が上がります。
計算されたルートのポイントの高度データを使用して、次のスクリーンショットと同様にルートの高度プロファイルを作成することもできます。

この高度データを取得するには、 NMARoute
オブジェクトの geometryWithElevationData
プロパティを使用して、返された各 NMAGeoCoordinates
オブジェクト altitude
を検査します。 その場所で高度が不明な場合は、 altitude
プロパティ NMAGeoCoordinatesUnknownAltitudeValue
が返されます。