MULTISOUP

MULTISOUP

MULTISOUP

Staff Blog

Introduction example

2016.12.22

未来の交通状況を考慮したルート検索

blog2

みなさん、こんにちは。

 

Google Maps API では、指定した日時の交通状況を予測したかたちでルート検索を行なうことができます。

例えば「12月24日 10:00」にA地点からB地点に移動するときのルートと「12月26日 02:00」に移動するときのルートでは、交通状況が異なるため、移動の所要時間は違った結果になるはずです。

 

Google では過去の交通情報を蓄積した結果から、未来の予測を立ててルート検索を実行することができます。

 

対象のAPIは、Google Maps Directions API、および Google Maps DistanceMatrix API ですが、今回は、Google Maps JavaScript API の「DirectionService」を使用して説明します。

// ルート表示するためのオブジェクトを生成
var _directionsService = new google.maps.DirectionsService;
var _directionsRenderer = new google.maps.DirectionsRenderer;

// ルート結果を地図に表示するための設定
_directionsRenderer.setMap(_map);

// ルート結果のテキスト情報を表示するための設定
_directionsRenderer.setPanel(document.getElementById('route-result'));

// ルート検索を実行
_directionsService.route({
	// 出発地点
	origin: start,
	// 到着地点
	destination: end,
	// トラベルモード(自動車)
	travelMode: google.maps.TravelMode.DRIVING,
	drivingOptions: {
		 // 出発予定時間 (未来の時間を指定)
		departureTime: new Date('2016/12/24 09:00:00'),
		// 交通状況モデル
		trafficModel: google.maps.TrafficModel.BEST_GUESS
	}
}, function(response, status) {
	if (status === google.maps.DirectionsStatus.OK) {
		// 結果を地図に表示
		_directionsRenderer.setDirections(response);
		// 通常の時間
		var time1 = response.routes[0].legs[0].duration.value;
		// 交通状況を考慮した時間
		var time2 = response.routes[0].legs[0].duration_in_traffic.value;
	}
});

 

今回のポイントは「drivingOptions」のパラメータです。

departureTime: ルート検索を予測する時間(現在日時以降の未来の日時)を指定
trafficModel: 交通状況を予測する方法を指定

交通状況を予測する方法は、下記3つから選択します。

google.maps.TrafficModel.BEST_GUESS: 正確に予測
google.maps.TrafficModel.OPTIMISTIC: 楽観的に予測
google.maps.TrafficModel.PESSIMISTIC: 悲観的に予測

 

ルート検索実行後の結果は、以下のように取得ができます。

// 通常の時間
var time1 = response.routes[0].legs[0].duration.value;
// 交通状況を考慮した時間
var time2 = response.routes[0].legs[0].duration_in_traffic.value;

 

以下の例では、東京を午前8時に出発し、大阪までのルートを検索した結果です。

予測日時通常正確に予測楽観的に予測悲観的に予測
2016年12月24 08:005時間58分5時間55分5時間23分7時間04分
2017年01月05 08:005時間58分5時間50分5時間19分6時間59分
2017年05月03 08:005時間58分5時間47分5時間15分6時間55分
2017年08月15 08:005時間58分5時間48分5時間18分6時間55分
2016年12月24 00:005時間58分5時間47分5時間25分6時間40分

 

以下は0時出発の場合です。

予測日時通常正確に予測楽観的に予測悲観的に予測
2016年12月24 00:005時間58分5時間47分5時間25分6時間40分
2017年01月05 00:005時間55分5時間50分5時間34分6時間45分
2017年05月03 00:005時間58分5時間56分5時間37分6時間45分
2017年08月15 08:005時間58分5時間48分5時間39分6時間53分

 

上記のとおり同じ時間に出発したとしても、予測する日時によって到着時間が異なることがわかりました。また、朝8時に出発する場合と、夜中0時に出発する場合でも到着時間はかなり異なります。

 

この機能を使用することにより、未来の交通状況を考慮したルート検索が可能となり、配達計画や旅行の計画などに役立てることができるのではないでしょうか?

また、到着までの時間も「おおよそ○分~○分の間に到着する」という表現が可能ですね。

詳細のサンプルはこちらです。

Full Screen

 

 

普段何となく使ってしまうルート検索ですが、このような進化が行われていたとは私もビックリです。

Google では、このようなビッグデータを活用した機能が今後も開発されていくと思われます。

期待して待ちましょう!

 

【関連記事】こんな記事も読まれています

2018.04.20

Google マップでルート検索のレンダリングをカスタマイズ

みなさん、こんにちは!

Google Maps JavaScript API でルート検索を行い、その結果を地図上にレンダリングするとき、・・・

続きを読む

2017.05.01

Google Places API オートコンプリートで地名検索を素早くする

みんさん、こんちには。

今回は、Google Places API のオートコンプリートについて、ご紹介します。

オートコ・・・

続きを読む

2017.06.24

ジオメトリライブラリを使って距離や面積を算出する

みなさん、こんにちは。
Google Maps JavaScript API を使用して2点間の距離やエリアの面積を計算する方法をご存知ですか・・・

続きを読む

 - Google Maps APIs, Google Maps Directions API, Google Maps DistanceMatrix API, スタッフ日記, プレミアムプラン, 経路検索

お問い合わせお見積もりから開発のご相談まで、お気軽にお問い合わせください。

(※)は入力必須項目です。

当社では、お客様がお問い合わせの際に必要な個人情報または、 お問い合わせ内容等につきましては、
お問い合わせの回答の目的のみに利用します。

Google Maps for Work™に関するご質問やお見積りは、
マルティスープまでお気軽にお問い合わせください03-3518-9013 (受付時間:平日 9:00−18:00)