Google Maps 接続:TMS レーン向けのルート距離・所要時間・ETA
Google Cloud Console でプロジェクトを作成し、Routes API を有効化して API キーを作成、その 1 つの api_key を Integration に入力し、実際の Routes 呼び出しでテスト、ルート計画テンプレートを選んで有効化します。TMS がレーン原価と ETA に必要な距離・所要時間・ルートを取得できます。
Google Maps コネクタは TMS 向けのルートデータソースです。Google Maps Routes API を使って 1 回に 1 ルート(距離、所要時間、ルート自体)を計算し、TMS の出荷と入札がその結果をレーン原価と ETA の根拠として使えるようにします。それが唯一の役割です:注文の取得や送信はせず、顧客や在庫の同期もせず、車両追跡もしません。1 接続につき Google Maps API キーは 1 つです。
前提条件#
- Google Cloud Console にアクセスでき、プロジェクトの作成、API の有効化、そのプロジェクトでの API キーの作成ができる権限。
- そのプロジェクトで Routes API を有効化すること。有効化されていないと、正しいキーでもルートを返せません。
- この接続のテストには使用量が発生することを理解していること:Routes API には無料のプローブ用エンドポイントがないため、テストのたびに実際のルート呼び出しが 1 回発生し、クォータを 1 回使います。理由なくテストを繰り返しクリックしないでください。
- このシステムで Integration を開き、新規接続を作成する権限。
認証情報の取得#
- Google Cloud Console にログインし、この接続用のプロジェクトを作成します。
- そのプロジェクトで Routes API を有効化します。
- 同じプロジェクトで API キーを作成し、キー全体をコピーします。このコネクタのキーは AIza… で始まります。両端を切り取らず、値全体をコピーしてください。
- コンソールの案内に従ってキーを制限します:Routes API とあなたの IP に限定してください。許可した API と IP を正確に控えておいてください。後の失敗は、その制限との不一致が原因であることが多いためです。
Integration への入力#
- Integration → コネクタマーケットプレイス → Google Maps → 新規接続 を開きます。
- api_key、必須、Google Maps API Key:Routes API を有効化した後に Google Cloud Console で作成した API キー全体を貼り付けます。パスワード型のフィールドで、秘密情報として保存されます。このコネクタに 2 つ目のフィールドはありません:アカウント名、プロジェクト欄、ユーザー名をここに入力する必要はありません。
- テスト前に接続を保存し、テストで今入力したキーがそのまま使われるようにします。
接続テスト#
接続テストをクリックします。キーが入力されている場合、テストは実際の最小限の Routes 呼び出しを 1 回行います:https://routes.googleapis.com/directions/v2:computeRoutes へ computeRoutes リクエストを送り、キーを X-Goog-Api-Key ヘッダーに入れ、出発地 34.0633,-117.6509 から目的地 34.0733,-117.6409 まで driving モードで計算します。合格はキーが有効で Routes API に到達できることを意味し、成功メッセージにはその旨が文字で表示されます:API key 有効、Routes API 到達可能(プローブでクォータを 1 回消費)。最後の部分は文字どおりに読んでください。このプローブは実際の呼び出しで、実行のたびにクォータを 1 回使います。テストは 1 回だけ行い、失敗したら原因を直してから再テストしてください。
Mapping / テンプレート選択#
ルート計画テンプレートを選択します。このコネクタが使うテンプレートはこれだけです。マッピングする注文や顧客の項目はありません。テンプレートが決めるのは、TMS で指定された移動手段を Google へどう送るかです:driving と driving-traffic は DRIVE、cycling は BICYCLE、walking は WALK として送られます。テスト合格後、TMS で既に知っているルートを 1 件計算し、返された距離と所要時間をそのレーンに対する自身の想定と照合してから有効化してください。すべてのレーンで数値がおかしく見える場合は、まず手段を確認してください。同じ 2 地点でも、車、自転車、徒歩では結果が大きく異なります。
有効化#
有効化後、TMS は出荷や入札でレーン見積もりが必要なときに、この接続へルートを依頼できます:接続は距離、所要時間、ルートを返し、TMS はそれらをレーン原価と ETA の根拠として使います。最初は Runs / Logs で実際のリクエストを確認し、返された距離と所要時間を既知のレーンと数件照合してから、無人運用に移してください。
この接続が行わないこと:提供するのはルート計画だけです。注文を取り込まず、他のシステムへ何も返送せず、顧客や在庫を同期せず、移動中の車両を追跡しません。有効化後に TMS の画面に新しい注文が表示されなくても、それが正常です。注文は注文チャネルから来るもので、この接続は TMS が「距離は、時間は、どのルートか」と尋ねたときにだけ答えます。
よくある質問#
キーを作成した直後にテストが失敗し、Routes API に到達できない
最も多い原因は、キーを保持するプロジェクトで Routes API が有効化されていないことです。キー自体は完全に有効でも、そのプロジェクトで Google の Routes サービスがオンになっていないため、computeRoutes の呼び出し先がありません。
Google Cloud Console を開き、キーを作成した同じプロジェクトを選択し、そこで Routes API を有効化します。変更が反映されるまで少し待ち、接続をもう一度テストしてください。
キーを API と IP に制限した後にテストが失敗する
キーに設定した制限が、このシステムの Google の呼び出し方と一致していません。許可した API の一覧に Routes API が含まれていない場合、または許可した IP がこのシステムの呼び出し元アドレスでない場合、貼り付けたキーの文字列が完全に正しくても Google は呼び出しを拒否します。
Google Cloud Console でそのキーを開き、制限の両方を確認してください:許可する API の一覧に Routes API が含まれていること、許可する IP がこのシステムが Google を呼び出すアドレスであること。制限を修正して保存し、もう一度テストしてください。制限の不一致を避けるために 2 つ目のキーを作らないでください。
接続がまだ有効化されていないのに使用量が増える
テストのたびに実際の呼び出しが発生します。Routes API には無料のプローブ用エンドポイントがないため、テストは実際のルートを求めることでしかキーの動作を証明できず、そのリクエストでクォータを 1 回使います。成功メッセージのとおりです:プローブでクォータを 1 回消費。有効化前の繰り返しテストは実際の使用量です。
テストは 1 回だけ行ってください。失敗した場合は失敗内容を読み、キー、プロジェクト、制限のうちその 1 つの原因を直してから再テストしてください。テストが合格したら、再確認のためにもう一度テストするのではなく、テンプレートと有効化の手順へ進んでください。
キーは完全に見えるのに、Google に拒否される
貼り付けた値が、そのプロジェクト向けに Google が発行したキーではありません:コピー時に文字が欠けた、余分な空白が入った、または Routes API と制限の設定が異なる別プロジェクトのキーです。フィールドはどんな文字列でも受け付けるため、判別できるのはテストでの実際の呼び出しだけです。
Google Cloud Console に戻り、Routes API が有効化されているプロジェクトのキーを開き、値全体を一度にコピーし直し、手入力せずに api_key へ貼り付けて保存し、1 回テストしてください。
よく知っているレーンで距離と所要時間がおかしく見える
想定と異なる移動手段でルートが計算されています。テンプレートは driving と driving-traffic を DRIVE、cycling を BICYCLE、walking を WALK として送ります。同じ 2 地点でも手段ごとに距離、所要時間、ルートが大きく異なるため、徒歩の結果を車の結果として読むと、呼び出し自体は成功していてもおかしく見えます。
そのレーンで TMS のリクエストがどの手段を使ったかを確認し、想定していた手段と比べて、意図した手段で再計算してください。結果は同じ手段同士でのみ判断してください。BICYCLE の所要時間を車での経験と比較しないでください。
有効化したのに、注文も追跡もどこにも表示されない
何も壊れていません。この接続はもともと注文や追跡を扱いません:唯一の能力はルート計画であり、有効化しても注文フィードや車両位置は追加されません。出荷や入札でレーン見積もりが必要なときに、TMS が距離、所要時間、ルートを尋ねられるようになるだけです。
注文は注文チャネル、追跡は運送会社のツールを使ってください。この接続はレーン原価や ETA が必要な場面でのみ使い、その動作は TMS の出荷や入札のルート結果で確認してください。