【マップ】Googleマップのルート表示

Google Maps APIを利用して表示するGoogleマップで、スタート地点からゴール地点までのルートを表示します。

ルート表示には事前にGoogle Developer Consoleで下記の設定が必要です。
1. Directions APIを有効化
2. 認証情報からGoogleマップで使用するAPIキーを選択
3. APIキーの制限で、キーで呼び出すことのできる有効なAPIにDirections APIを追加
・Maps JavaScript API
・Directions API

html、css、Googleマップのルート表示以外のjavascriptは下記の記事と同様です。

javascriptのコードです。
今回はJR代々木駅西口からドコモタワーまでのルートを表示します。ルート表示はDirectionsServiceクラスのオブジェクトとDirectionsRendererクラスのオブジェクトを作成するのがポイントです。
移動手段はWALKING(徒歩)を設定していますが、JRの西口改札を通って東口改札から出る最短ルートを表示してしまうため、waypoints(経由地点)に踏切を指定して改札を通らないようにします。なお、waypointsのオプションstopover: falseは立ち寄りせず通過する設定で、マーカーの表示を無しにできます。また、DirectionsRendererのオプションでpreserveViewport: trueを設定し、ビューの移動(ズーム率を変更してルート全体を表示)を行わないようにしています。

function initMap() {
	var latlng = new google.maps.LatLng(35.6843218, 139.70311200000003); //中心の緯度, 経度
	var map = new google.maps.Map(document.getElementById('maps'), {
		zoom: 17,
		center: latlng
	});

	var yoyogi = new google.maps.LatLng(35.683049, 139.702055);
	var directionsService = new google.maps.DirectionsService();
	var directionsRenderer = new google.maps.DirectionsRenderer();

	var request = {
		origin: yoyogi, //スタート地点
		destination: latlng, //ゴール地点
		waypoints: [ //経由地点
			{location: new google.maps.LatLng(35.683021,139.702668), stopover: false}
		],
		travelMode: google.maps.DirectionsTravelMode.WALKING, //移動手段
	};

	directionsService.route(request, function(result, status) {
		if (status == google.maps.DirectionsStatus.OK) {
			directionsRenderer.setOptions({
				preserveViewport: true //ズーム率を変更してルート全体を表示しない
			});
			// ルート検索の結果を地図上に描画
			directionsRenderer.setDirections(result);
			directionsRenderer.setMap(map);
		}
	});
}

タイトルとURLをコピーしました