GoogleMapsAPIの新機能 ルート検索機能を試してみる
- 2009/06/29
松田惇
こんにちは。松田です。
GoogleMapsAPIにルート検索機能がついたらしいので試してみました。
英語版では以前から使えたようですが、日本語版での使用が可能になったということらしいです。
http://googlejapan.blogspot.com/2009/06/api.html
使い方は簡単で、今までのコードに少し付け足すだけでルート検索機能を追加することが出来ます。
1. script呼び出しの "v=2" の部分を "v=2.x" に変更
2. GDirectionsにGMap2オブジェクトを渡しインスタンスを生成
3. 出発地点と到着地点の「座標」もしくは「地名・名称」を配列に格納
座標の場合はGLatlng型を渡し、地名の場合はそのまま文字列で渡します。
4. 座標、地名の配列をGDirectionsのloadFromWaypointsに渡す
これで完成です。
コード全体は以下のようになります。
実行結果はこちらです。
また、以下のようにGDirectionsコンストラクタの第2引数にdivエレメントを渡すとルートの詳細を自動的に表示してくれます。
divを一つ用意するだけでルートの詳細が出るのはうれしいですね。
これが見やすいのかどうかは微妙ですが。
3, 4の部分はloadFromWaypointsの代わりにloadを使った、文字列をまとめて一つ渡すだけの方法もありますが、コードの組みやすさや座標を組み込むことを考えると、loadFromWaypointsだけ覚えておけばいいんじゃないかなーと言う気がします。
ルート検索のAPIについての質問 [Google-Maps-API-Japan]
また、このルート検索機能の仕様として、検索を実行すると開始地点・中継地点・到着地点に緑色のGMarkerが必ずaddOverlayされてしまいます。
自分で生成したマーカーをドラッグさせて開始地点・終了地点を決めるようなスクリプトを作ろうとすると、コイツが邪魔をしてうまくクリック出来なくなってしまうので注意しましょう。
本家にそれをうまく回避したデモがありました。
↓
http://esa.ilmari.googlepages.com/draggabledir.htm
なんにせよ使いどころの多い機能だと思いますので、今後も注目していきたいですね。
GoogleMapsAPIにルート検索機能がついたらしいので試してみました。
英語版では以前から使えたようですが、日本語版での使用が可能になったということらしいです。
http://googlejapan.blogspot.com/2009/06/api.html
使い方は簡単で、今までのコードに少し付け足すだけでルート検索機能を追加することが出来ます。
1. script呼び出しの "v=2" の部分を "v=2.x" に変更
- <script
src="http://maps.google.com/maps?file=api&v=2.x&key=....
2. GDirectionsにGMap2オブジェクトを渡しインスタンスを生成
- directions
= new GDirections(map);
3. 出発地点と到着地点の「座標」もしくは「地名・名称」を配列に格納
座標の場合はGLatlng型を渡し、地名の場合はそのまま文字列で渡します。
- points
= []; - points.push(new
GLatLng(35.706,139.76)); - points.push('東京ドーム');
4. 座標、地名の配列をGDirectionsのloadFromWaypointsに渡す
- directions.loadFromWaypoints(points);
これで完成です。
コード全体は以下のようになります。
- <!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - <html
xmlns="http://www.w3.org/1999/xhtml"> - <head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title>Google Maps JavaScript API Example</title> <script src="http://maps.google.com/maps?file=api&v=2.x&key=ABQIAAAAbMxmqyfT0_t60Kczi-q5lBSySxmB-uUmG4DOxxXg63OHEaT07BREeBFXvMHRK6Ipn7liRsdLZmNVNA" type="text/javascript"></script> <script type="text/javascript"> //<![CDATA[ var map; var directions; function load() { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById("map")); map.addControl(new GSmallMapControl()); map.addControl(new GMapTypeControl()); map.setCenter(new GLatLng(35.706, 139.76), 13); points = []; points.push(new GLatLng(35.706,139.76)); points.push("東京ドーム"); // ルート詳細を表示する場合は第二引数にdivエレメントを渡す directions = new GDirections(map, document.getElementById("route")); directions.loadFromWaypoints(points); } } //]]> </script> - </head>
- <body
onload="load()" onunload="GUnload()"> <div id="map" style="width: 500px; height: 300px"></div> <div id="route"></div> - </body>
- </html>
実行結果はこちらです。
また、以下のようにGDirectionsコンストラクタの第2引数にdivエレメントを渡すとルートの詳細を自動的に表示してくれます。
- directions
= new GDirections(map, document.getElementById("route"));
divを一つ用意するだけでルートの詳細が出るのはうれしいですね。
これが見やすいのかどうかは微妙ですが。
3, 4の部分はloadFromWaypointsの代わりにloadを使った、文字列をまとめて一つ渡すだけの方法もありますが、コードの組みやすさや座標を組み込むことを考えると、loadFromWaypointsだけ覚えておけばいいんじゃないかなーと言う気がします。
- directions.load(
"from: 東京都文京区本郷3丁目 to: 東京ドーム", { locale: "ja", travelMode: G_TRAVEL_MODE_DRIVING // 交通手段 } - );
ルート検索のAPIについての質問 [Google-Maps-API-Japan]
また、このルート検索機能の仕様として、検索を実行すると開始地点・中継地点・到着地点に緑色のGMarkerが必ずaddOverlayされてしまいます。
自分で生成したマーカーをドラッグさせて開始地点・終了地点を決めるようなスクリプトを作ろうとすると、コイツが邪魔をしてうまくクリック出来なくなってしまうので注意しましょう。
本家にそれをうまく回避したデモがありました。
↓
http://esa.ilmari.googlepages.com/draggabledir.htm
なんにせよ使いどころの多い機能だと思いますので、今後も注目していきたいですね。
コメントフォーム
トラックバック
最近の記事
- もうすぐ健康診断があるんだ・・・ [2010年09月02日 : 阿部恵]
- Photoshopで壁紙を作りながら、基本的な使い方を覚える [2010年09月01日 : 鴨田健次]
- はじめての共同作業 Canvas編 (node.js + websocket) [2010年09月01日 : 中川善樹]
- 「PHP×Flex(後編)」PHPテクニカルセミナー(無料)第4弾の募集を開始しました!! [2010年08月26日 : 和田記光]
- 【HTML5】Canvasでお絵かきしてみた(前編) [2010年08月25日 : 橋本章史]
- MacにgroongaのMySQL用ストレージエンジン [2010年08月23日 : 笹亀弘]
- Appleのサイトで見たiPhone4をFireworksで描いてみました-1/2 [2010年08月19日 : 和田記光]
- iPad版の会社紹介を作ってみました [2010年08月19日 : 小林有佳]
- iPhoneアプリ開発開始時に気をつけるべきファイルの取り扱い (2) [2010年08月19日 : 亀本大地]
- symfonyセミナー動画無料公開! [2010年08月13日 : 岡本雄樹]



最近のコメント