ルート検索からテリトリーを除外するには
exclude[countries]、exclude[states]、exclude[areas]パラメーターを使用すると、ルート検索から特定のテリトリーを除外するルートを計算できます。
これらのパラメーターを使用することで、ルートがこれらの州、国、またはカスタムエリアを通過しないようにします。
たとえば、ルートのoriginまたはdestinationが除外されたテリトリーにある場合、ルート計算は失敗します。
国を除外する
この例では、ルート計算リクエストでexclude[countries]パラメーターを使用し、スイスをルート計算から除外しています。
curl -gX GET 'https://router.hereapi.com/v8/routes?'\
'origin=45.474427,9.138537&'\
'destination=50.096988,8.66033&'\
'return=polyline&'\
'transportMode=car&'\
'exclude[countries]=CHE&'\
'apiKey=YOUR_API_KEY'青色のルートはスイスを除外しています。紫色のルートはexclude[countries]=CHEなしの結果を示しています。
州を除外する
exclude[states]パラメーターを使用すると、テリトリーを州レベルで除外できます。
州の除外は、一部の国でしかサポートされていません。
完全なリストについては、「州の除外をサポートする国」を参照してください。
この例では、トゥクムカリからオクラホマシティへのルート計算リクエストで、テキサス州を除外しています。
curl -gX GET 'https://router.hereapi.com/v8/routes?'\
'origin=35.171888,-103.724999&'\
'destination=35.46546193,-97.52597214&'\
'return=polyline&'\
'transportMode=car&'\
'exclude[states]=USA:TX&'\
'apiKey=YOUR_API_KEY'紫色のルートはテキサスを除外しています。青色のルートはexclude[states]=USA:TXなしの結果を示しています。
エリアを除外する
exclude[areas]パラメーターを使用すると、ルート計算から1つ以上のカスタム地理エリアを除外できます。
これは、建設区域や通行制限エリアなど、行政区分の境界で定義されていない特定のゾーンを避けたい場合に役立ちます。
次のエリアタイプがサポートされています。
- バウンディングボックス - 西、南、東、北の座標で定義される長方形のエリア。
フォーマット:bbox:{west},{south},{east},{north} - ポリゴン - セミコロンで区切られた
{lat},{lon}ペアのリスト、またはフレキシブルポリラインでエンコードされた文字列として定義される任意の多角形。
フォーマット:polygon:{lat},{lon};{lat},{lon};... - コリドー - ライン周囲の帯状の領域を定義する、半径 (メートル単位) を持つポリライン。
フォーマット:corridor:{lat},{lon};{lat},{lon};...;r={radius}
複数のエリアは|で区切ってください。
制限:
- 除外エリアは合計で250個までです (例外を含む)。
- その合計のうち、ポリゴンとコリドーを組み合わせる場合は、20個までです。残りのエリアはバウンディングボックスとなります。
この例では、ルート計算からベルリン中心部のバウンディングボックスエリアが除外されています。
curl -gX GET 'https://router.hereapi.com/v8/routes?'\
'origin=52.3739,13.0582&'\
'destination=52.6755,13.7606&'\
'return=polyline&'\
'transportMode=car&'\
'exclude[areas]=bbox:13.082,52.416,13.628,52.626&'\
'apiKey=YOUR_API_KEY'
複数のエリアを除外する
エリアを|で区切り、単一のexclude[areas]値としてリストします。
この例では、ルート計算からベルリン周辺の2つのエリアが除外されています。
curl -gX GET 'https://router.hereapi.com/v8/routes?'\
'origin=52.3739,13.0582&'\
'destination=52.6755,13.7606&'\
'return=polyline&'\
'transportMode=car&'\
'exclude[areas]=bbox:13.082,52.416,13.628,52.626|bbox:13.53,52.28,13.72,52.43&'\
'apiKey=YOUR_API_KEY'
例外
除外エリア内のサブエリアを例外としてマークすることで、ルーターはそのエリアを通過できます。
エリア定義に!exception={area}を追加します。
この例では、ベルリン周辺のエリアが除外されていますが、例外により、そのエリア内の目的地に到達できます。
curl -gX GET 'https://router.hereapi.com/v8/routes?'\
'origin=52.530,12.900&'\
'destination=52.513831,13.475821&'\
'return=polyline&'\
'transportMode=car&'\
'exclude[areas]=bbox:13.082,52.416,13.628,52.626!exception=bbox:13.082,52.5,13.628,52.56&'\
'apiKey=YOUR_API_KEY'
迂回路が利用できない場合
テリトリーを除外する場合、HERE Routing API v8はユーザーの除外設定を尊重した迂回路を確実に提供します。
ただし、APIが迂回路を計算する能力には制限があります。
その一例が、ポーランドを回避してベルリンからヴィリニュスまでのルートを計算する場合です。
このサンプルリクエストを実行すると、計算が失敗することが確認できます。
curl -gX GET 'https://router.hereapi.com/v8/routes?'\
'origin=52.494438,13.40415&'\
'destination=54.679577,25.254137&'\
'return=polyline&'\
'transportMode=car&'\
'exclude[countries]=POL&'\
'apiKey=YOUR_API_KEY'次のステップ
25 日前の更新