全体ソースはここのページでソース表示
ルート探索 : Google Maps API
Google MAP API のルート探索は、とても単純で既存のマップ表示に単純に重ねる
ようにできています。殆ど苦労無しに2点間の移動ルートを示してくれます。
( デフォルトの移動手段が車のはずです )
この際、一方通行も判断してくれるようで、どちらを出発点にするかによって変
わるようです。さらに、実行時のオプションで、高速道路を無視する事もできま
す。それと、殆どジョークの世界ですが、国外に到着地点を設定すると面白いで
す。
Google MAP API : ルート探索。太平洋をカヤックで横断する 6,243 km
一番重要なのは、2つの点の指定方法ですが、サービス - Google Maps API
と Google 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
|
Google
|

|