回避設定
ルートは特定のマップフィーチャーやエリアを回避するように計算できます。
エリアを回避する
領域をバウンディングボックス、ポリゴン、またはコリドーとして指定することで、地理的領域全体を回避できます。たとえば、ベルリンエリアを回避するルートは、avoid[areas]=bbox:13.082,52.416,13.628,52.626と指定すると計算できます。
エリアを回避する方法については、「ルート内のエリアを回避するには」を参照してください。
ルート検索ゾーンを回避する
ルート検索ゾーンとその回避方法の詳細については、「ルート検索ゾーンの使用方法」を参照してください。
セグメントを回避する
マップの特定の場所は、回避するセグメントの識別子を指定することで回避できます。たとえば、ベルリンのInvalidenstrasseの一部である特定セグメントを回避するルートは、avoid[segments]=here:cm:segment:207551710と指定すると計算できます。
フィーチャーを回避する
マップフィーチャーは、回避するフィーチャーカテゴリーのリストを指定することで回避できます。たとえば、有料道路を回避するルートは、ルートをリクエストするときにavoid[features]=tollRoadと指定すると計算できます。
トラックのルーティングで高速道路や有料道路を回避する
非常に長いトラックルートで高速道路や有料道路を避けると、レスポンス時間が非常に長くなるか、ルートがまったく返されない可能性があります。ルート検索アルゴリズムでは通常、特に長距離運転の場合、ルートの大部分が高速道路で行われるものと想定されます。この想定から外れると、前述のような動作が発生します。これはトラックルートの場合に特に問題となります。高速道路以外の代替ルートにはトラック制限が多い場合があり、その結果、ルートが見つからないかルートを見つけるのに非常に長い計算時間がかかるおそれがあります。
さらに、多くの国では、主要道路のほとんどまたはすべてが有料道路であるため (特にトラックの場合)、「avoid toll-roads」オプションにも同様の制限があります。たとえば、transportMode=truckとavoid[features]=tollRoadsを使用してヨーロッパを横断するルートでは、多くの場合、すべての主要道路を回避する必要があり、その結果、計算できたとしても、トラックにとっては非常に長くて不便なルートになります。
季節閉鎖を回避する
季節閉鎖の詳細と回避方法については、「季節閉鎖」を参照してください。
回避リクエストの違反
avoidリクエストに違反せずにルートを計算できない場合があります。 たとえば、他の方法ではアクセスできない島にルーティングする際にavoid[features]=ferryを指定する場合です。この場合、そのフィーチャーの使用を最小限に抑えたルートが返される可能性があります。利用可能な唯一のルートがavoidリクエストに違反する場合、ルートが返されないこともあります。
または、そのフィーチャーが多くの高速/shortルートに存在するために、それを回避するルートを見つけるのが非常に困難な場合もあります。この例として、多くのトンネルがある山岳地帯を横断するルートの計算にavoid[feature]=tunnelsを使用することが考えられます。
avoidリクエストに違反するルートが返された場合、そのルートがそのフィーチャーを回避しないことを示す通知が示されます。
指定された回避オプションを回避する例
次のリクエストでは、avoidオプションを使用してtollRoadフィーチャーを正常に回避します。
curl -gX GET 'https://router.hereapi.com/v8/routes?'\
'destination=47.168076,11.861380&'\
'origin=47.257410,11.351458&'\
'transportMode=car&'\
'avoid[features]=tollRoad&'\
'apiKey=YOUR_API_KEY'指定された回避オプションに違反する例
次のリクエストは回避オプションに違反しています。
curl -gX GET 'https://router.hereapi.com/v8/routes?'\
'destination=37.88185,24.7415&'\
'origin=37.999226,24.015409&'\
'transportMode=car&'\
'avoid[features]=ferry&'\
'apiKey=YOUR_API_KEY'次の応答では、violatedAvoidFerryコードを含む重大なnoticeが指定されています。
{
"routes": [
{
"id": "bcdb75f3-404e-4364-a860-9d781754cc72",
"sections": [
{
"id": "71f42a70-fb99-4265-a857-4f24920dd4ce",
"type": "vehicle",
"departure": {
"time": "2026-05-07T17:20:12+03:00",
"place": {
"type": "place",
"location": {
"lat": 37.9992305,
"lng": 24.0154473
},
"originalLocation": {
"lat": 37.9992259,
"lng": 24.0154089
}
}
},
"arrival": {
"time": "2026-05-07T17:28:15+03:00",
"place": {
"type": "place",
"location": {
"lat": 38.02229,
"lng": 24.01034
}
}
},
"summary": {
"duration": 483,
"length": 4128,
"baseDuration": 422
},
"polyline": "BG8npvoCul55tBwCNwb_ET0UT8fUwbwC8kBU0KoBgU8B8kBUgjBTgeA0KA8QTgeTgZAoV4IAkN7BwHvCoLzFsYjSoLzKgUnVsd_YwM7L0UzU8LnLwH7G8GrJ4DnLoB7G4D3coBzUUzZT3XjDzeTvMUjIsErOwH3N4InQ8Q_iBkI_JgK3IoVrOkI_E4c3SgUzK4S_E0UrEofrEwR7BsOjDoQnG4hBnLsiB_JsJ7B0KT4XoB8LUkXT4IoBoQsE4SsEsdoGsTsE4IoBsOTwHnB0PrE8LzFkcnQwMzFwHvCgPjDgPTkNoBwH8BoV8GwHkD8LgF4N0F0FwC8L8G8LkIoQ8L4N8LgK8G8GkD4mBsJ8Gv-B4DrY4DzekI_OwC_EkD3NgFnLwCrJsErYsEvWsEjNwC_EsEnG0KzKwb7VsTzP8GwbsOg3B4DwH0FsEwCAkDnBgFrEoV_dgKzKkI3IkSnQ4XrTkNrJsEgKgF0KoG0K8G8G4D8BgFoBsEAkIjDwHvHoQjcsEzF4IjI4IrEoLnB8kBnBsJ8B0FsEwC4DgFgK8L0jBkD4IwCwH7BoG7BwC_EsErJgF7GUrEnB",
"transport": {
"mode": "car"
}
},
{
"id": "d2442b8c-01e7-48b9-8b53-4a90a122ffe1",
"type": "transit",
"preActions": [
{
"action": "board",
"duration": 1200
}
],
"postActions": [
{
"action": "deboard",
"duration": 600
}
],
"departure": {
"time": "2026-05-07T17:48:15+03:00",
"place": {
"type": "place",
"location": {
"lat": 38.02229,
"lng": 24.01034
}
}
},
"arrival": {
"time": "2026-05-07T19:32:52+03:00",
"place": {
"type": "place",
"location": {
"lat": 37.8846799,
"lng": 24.7356599
}
}
},
"summary": {
"duration": 8077,
"length": 69753
},
"polyline": "BGkp2woComv5tB_Eoa77C4rL3ixDoi5Lvy_DslvL3rBgiEjwQwtvB763B4-iGn1jB883I8ukBs3nD4ncgrR0yLkzCg4DwyC8jE85DkIg6C3D8f",
"notices": [
{
"title": "Violated avoid ferry.",
"code": "violatedAvoidFerry",
"severity": "critical"
},
{
"title": "No schedule information available.",
"code": "noSchedule",
"severity": "info"
}
],
"transport": {
"mode": "ferry",
"name": "Rafina-Andros"
}
},
{
"id": "2a9f438c-5ea2-45da-aeb3-c542fda6cf85",
"type": "vehicle",
"departure": {
"time": "2026-05-07T19:42:52+03:00",
"place": {
"type": "place",
"location": {
"lat": 37.8846799,
"lng": 24.7356599
}
}
},
"arrival": {
"time": "2026-05-07T19:44:54+03:00",
"place": {
"type": "place",
"location": {
"lat": 37.8815861,
"lng": 24.7414224
},
"originalLocation": {
"lat": 37.8818499,
"lng": 24.7414999
}
}
},
"summary": {
"duration": 122,
"length": 711,
"baseDuration": 110
},
"polyline": "BGwwpooC463lvBzF4XvH4hBjS7BrO7BvCAjNjDzFjD7LnGrJkN7GoL3IoQ7L8VrOkcnLwWnGgP3DgZ3DslCnBwH3D4N7L4XnLsT_EoLjDsJjCsL",
"transport": {
"mode": "car"
}
}
]
}
]
}回避オプションが失敗する例
次のリクエストでは回避オプションに失敗しています。
curl -gX GET 'https://router.hereapi.com/v8/routes?'\
'origin=52.531106,13.384915&'\
'transportMode=car&'\
'destination=55.954408,-3.194735&'\
'avoid[features]=ferry,carShuttleTrain&'\
'return=summary&'\
'apiKey=YOUR_API_KEY'{
"notices": [
{
"title": "Route calculation failed: Couldn't find a route.",
"code": "noRouteFound"
}
],
"routes": []
}25 日前の更新