ブロックリファレンス

BLOCKS Reference

Google Maps

移動時間と距離を計算【ベータ版】

このブロックはベータ版です。機能改善や不具合などの情報提供は、MAGELLAN BLOCKS のお問い合わせ機能からお願いします。

概要

このブロックは、Google の Distance Matrix API を使って、出発地から目的地までの移動距離と所要時間を計算します。

移動時間と距離を計算の概念図

(画像をクリックすると拡大表示されます。)

以下のような 1 つまたは複数の出発地に対して、複数の目的地への移動距離と所要時間を求めたいときに使用します。

出発地 目的地
福岡空港 太宰府天満宮
大濠公園
福岡タワー
宗像大社
博多駅 太宰府天満宮
大濠公園
福岡タワー
宗像大社

このブロックは、以下のようなユースケースで有効です。

一度に多点間の距離を決定したい場合は、Distance Matrix API を使用することで、必要なすべてのデータの取得が 1 回の呼び出しで済みます。配達所要時間でレストランのリストを絞り込んだり、利用者との距離の近さに応じて最適なドライバーを割り当てたり、顧客に最も近い場所にいる技術者を見極めて現場に派遣させるなどのユースケースには有効な方法です。

Google Developers Japan: Distance Matrix API の使い方

本ブロックは、Google の Distance Matrix API を利用しています。このためセルフサービスプランの場合は、利用する GCP プロジェクトにおいて、Distance Matrix API を有効化しておく必要があります。

このブロックは、Google Distance Matrix API を利用しているため、他の Google Cloud Platform 各種 API の料金に加えて、その利用量に応じた料金が別途発生します(従量課金制)。

料金について詳しくは、Google Maps Platform 料金表 のルート - Distance Matrix API の項を参照願います。

※ MAGELLAN BLOCKS は利用する機能に合わせて、データ保存先(Google Cloud Storage や BigQuery など)の操作で Google Cloud Platform の各種 API を、機械学習の各機能で AI Platform の各種 API を利用しており、これらについても利用量に応じた料金が発生します。

プロパティ

プロパティ名 説明
ブロック名

編集パネルに配置した当該ブロックの表示名が変更できます。

ブロックリストパネル中のブロック名は変更されません。

GCP API キー

このブロックで使用する GCP API キーを指定します。

GCP API キーは、次の手順で作成します。

  1. Google Cloud Platform コンソール へ移動します。
  2. プロジェクトを選択します。
  3. 画面上部にある[認証情報を作成]ボタンをクリックします。
  4. API キーを選択します。
住所データを参照する変数

距離と時間を計算する出発地と目的地データが格納された変数を指定します。

出発地と目的地は、以下のいずれかで指定します。

位置情報 説明
Place ID

Place ID の前には、place_id: を付ける必要があります。Place ID については、Place IDs のページを参照してください。

住所

福岡県福岡市中央区今泉1丁目19ー22」のような住所を指定します。この住所は、緯度経度の座標に変換されて道順の計算に利用されます。東京スカイツリーや東京タワーなどのランドマークでの指定も可能です。

緯度経度 33.5862718,130.3979053」のように緯度と経度をカンマ(,)区切りで指定します。緯度と経度の間には、空白を入れないでください。

info_outline 住所や緯度経度を使用するよりも、Place ID の使用をおすすめします。住所や緯度経度を使用すると、常にそれらが示す座標に最も近い道路への位置に補正されます。

出発地と目的地データは、配列の配列もしくはオブジェクトの配列の形式で作成します。

以下それぞれのケースについて、具体例を用いて説明します(出発地と目的地は便宜上ランドマークを使用)。

配列の配列の場合は、以下のように出発地と目的地の順に並べそれをペアとして繰り返して指定します。

[ [出発地, 目的地], [出発地, 目的地], … , [出発地, 目的地] ]

オブジェクト生成ブロックを使用した具体例は以下のとおりです。

オブジェクト生成ブロックによる配列の配列の例

このケースの場合は、このプロパティに _.data を指定します。

オブジェクトの配列の場合は、以下のように指定します。

[
  {
    "origin": 出発地,
    "destination": 目的地
  },
  {
    "origin": 出発地,
    "destination": 目的地
  },
  …
  {
    "origin": 出発地,
    "destination": 目的地
  },
]               

オブジェクト生成ブロックを使用した具体例は以下のとおりです。

オブジェクト生成ブロックによる配列の配列の例

このケースの場合は、このプロパティに _.data を指定します。

結果を格納する変数名

移動距離と所要時間の計算結果を格納する変数を指定します。

この変数には、以下に示すキーを含んだオブジェクトが格納されます。

キー 説明
origin

指定した出発地です。

destination

指定した目的地です。

result_origin

出発地の住所です。

result_destination

目的地の住所です。

distance

出発地から目的地までの距離です(単位:メートル)。

duration

出発地から目的地までの所要時間です(単位:秒)。

duration_in_traffic

交通状況を考慮した所要時間です(単位:秒)。以下の条件が満たされたときのみ有効な値が設定されます。条件未達の場合は、0 が設定されます。

  • 出発時刻が指定されている
  • 指定されたルート(出発地から目的地)で交通状況が利用可能である
  • 移動手段が自動車である

以下は、出力されたオブジェクトの例です。

[
  {
    "origin": "博多駅",
    "destination": "大濠公園",
    "result_origin": "日本、〒812-0012 福岡県福岡市博多区博多駅中央街1−1 博多駅",
    "result_destination": "日本、〒810-0051 福岡県福岡市中央区大濠公園1 大濠公園",
    "distance": 4485,
    "duration": 804,
    "duration_in_traffic": 0
  },
  {
    "origin": "博多駅",
    "destination": "太宰府天満宮",
    "result_origin": "日本、〒812-0012 福岡県福岡市博多区博多駅中央街1−1 博多駅",
    "result_destination": "日本、〒818-0195 福岡県太宰府市宰府4丁目7−1",
    "distance": 16974,
    "duration": 1591,
    "duration_in_traffic": 0
  },
  {
    "origin": "博多駅",
    "destination": "宗像大社",
    "result_origin": "日本、〒812-0012 福岡県福岡市博多区博多駅中央街1−1 博多駅",
    "result_destination": "日本、〒811-3505 福岡県宗像市田島2331",
    "distance": 33627,
    "duration": 2929,
    "duration_in_traffic": 0
  },
  {
    "origin": "博多駅",
    "destination": "福岡タワー",
    "result_origin": "日本、〒812-0012 福岡県福岡市博多区博多駅中央街1−1 博多駅",
    "result_destination": "日本、〒814-0001 福岡県福岡市早良区百道浜2丁目3−26",
    "distance": 9272,
    "duration": 855,
    "duration_in_traffic": 0
  },
  {
    "origin": "福岡空港",
    "destination": "大濠公園",
    "result_origin": "日本、〒812-0003 福岡県福岡市博多区下臼井778−1 福岡空港 (FUK)",
    "result_destination": "日本、〒810-0051 福岡県福岡市中央区大濠公園1 大濠公園",
    "distance": 10244,
    "duration": 962,
    "duration_in_traffic": 0
  },
  {
    "origin": "福岡空港",
    "destination": "太宰府天満宮",
    "result_origin": "日本、〒812-0003 福岡県福岡市博多区下臼井778−1 福岡空港 (FUK)",
    "result_destination": "日本、〒818-0195 福岡県太宰府市宰府4丁目7−1",
    "distance": 15620,
    "duration": 1323,
    "duration_in_traffic": 0
  },
  {
    "origin": "福岡空港",
    "destination": "宗像大社",
    "result_origin": "日本、〒812-0003 福岡県福岡市博多区下臼井778−1 福岡空港 (FUK)",
    "result_destination": "日本、〒811-3505 福岡県宗像市田島2331",
    "distance": 35726,
    "duration": 3022,
    "duration_in_traffic": 0
  },
  {
    "origin": "福岡空港",
    "destination": "福岡タワー",
    "result_origin": "日本、〒812-0003 福岡県福岡市博多区下臼井778−1 福岡空港 (FUK)",
    "result_destination": "日本、〒814-0001 福岡県福岡市早良区百道浜2丁目3−26",
    "distance": 11370,
    "duration": 948,
    "duration_in_traffic": 0
  }
]
到着時刻

到着時刻を時:分で指定します。

出発時刻

出発時刻を時:分で指定します。

移動手段

移動距離と所要時間を計算する際に使用する移動手段を指定します。

  • 自動車
  • 徒歩
  • 自転車
  • 公共交通機関
ブロックメモ このブロックに関するメモが記載できます。このブロックの処理に影響しません。
不使用

指定された対象物を避けたルートを計算するよう指定します(複数指定可)。

  • なし
  • 有料道路
  • 高速道路
  • フェリー
所要時間を計算する際に使用する仮定

所要時間の見積もり方法を選択します。

  • 過去と現在の交通状況のデータを基に見積る
  • 実際の移動時間よりも多めに見積もる
  • 実際の移動時間よりも少なめに見積もる
交通機関

「移動手段」が公共交通機関の場合の交通機関を指定します。複数の交通機関が指定可能です。

  • バス
  • 地下鉄
  • 列車
  • 市街電車やライトレール
  • 列車や市街電車、ライトレール、地下鉄
交通機関のリクエストの優先度

「移動手段」が公共交通機関の場合の移動時間と距離の計算時の制限事項を選択します。

  • 歩行距離に制限を付けてルートを計算する
  • 乗り換え回数に制限を付けてルートを計算する
結果の言語

取得結果の住所の表記言語を選択します。

サポートしている言語のリストは、Google Maps Platform FAQを参照してください。

結果の単位

計算する距離の単位を指定します。

  • メートル法
  • ヤードポンド法
エラー時の繰り返し回数

エラー発生時の再試行回数を指定します。

繰り返し間隔

エラー発生時の再試行ごとの時間間隔を秒単位で指定します。

この情報は役に立ちましたか?