2010年10月18日


Google MAP API : ルート探索とそのクエリの仕様

全体ソースはここのページでソース表示

ルート探索 : Google Maps API

Google MAP API のルート探索は、とても単純で既存のマップ表示に単純に重ねる
ようにできています。殆ど苦労無しに2点間の移動ルートを示してくれます。
( デフォルトの移動手段が車のはずです )

この際、一方通行も判断してくれるようで、どちらを出発点にするかによって変
わるようです。さらに、実行時のオプションで、高速道路を無視する事もできま
す。それと、殆どジョークの世界ですが、国外に到着地点を設定すると面白いで
す。

Google MAP API : ルート探索。太平洋をカヤックで横断する 6,243 km
Ggmap_route3

一番重要なのは、2つの点の指定方法ですが、サービス - Google Maps APIGoogle Maps API リファレンス にそのクエリの文法が書かれています。

一つは、from: 住所1 to: 住所2ですが、
from: 緯度1, 経度2 to: 緯度2, 経度2 でうまく動いています。

// *********************************************************
// ルート探索
// *********************************************************
function getRoute() {

	lbox.map.clearOverlays();

	var query = "from: " + document.getElementById("point_a_1").value;
	query += " ," + document.getElementById("point_a_2").value;
	query += " to: " + document.getElementById("point_b_1").value;
	query += " ," + document.getElementById("point_b_2").value;

	if ( document.getElementById("highways").checked ) {
		lbox.directions.load(query,{avoidHighways: true});
	}
	else {
		lbox.directions.load(query,{avoidHighways: false});
	}

}

オプションについては、Google Maps API リファレンス - Google Code に記述
がありますが、「コンストラクタはありませんが、オブジェクト リテラルと
してインスタンス化されます。」とあります。要するにそのままオブジェクト
表現しろという事で、{ プロパティ1 : 値1, プロパティ2 : 値2 } という表記
を直接するか、インスタンス作って代入しろという事です。

var opt = {avoidHighways: true};
lbox.directions.load(query,opt);

lbox は、window オブジェクトを使って専用の名前空間作って、グローバル
変数として使っています。

関連する記事

JavaScript : ネームスペースの作成
// 名前空間作成
window["lbox"] = {};
lbox.map = null;



posted by at 2010-10-18 15:35 | Comment(0) | Google | このブログの読者になる | 更新情報をチェックする
SQLの窓全体の検索
Loading
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。