SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

japan.internet.com翻訳記事

Google Map APIでルート表示をする

ルート距離の測定やルート案内の表示をWebサイトに実装

ルート距離と移動時間の計算

 また、GDirectionクラスのgetDistance()メソッドやgetDuration()メソッドを使用して、距離の測定や移動時間の推定ができます。しかし、これらの値はloadFromWaypoints()メソッドがルートを返すまで返されないため、適切なタイミングで値を取得するにはリスナーを使用する必要があります。例えば、次のリスナーはdirectionsオブジェクトのロードを待機します。directionsオブジェクトがロードされたら移動時間を取得し、分単位に変換し、Webページのどこかに配置されているdurationというdiv要素の内容を更新します。

GEvent.addListener(directions, "load", function() {
  var duration = (directions.getDuration().seconds / 60).toFixed(2);
  document.getElementById("duration").innerHTML = duration + 
  " minutes to arrive at your destination.";
});
図3:推定移動時間の表示
図3:推定移動時間の表示

ルート案内の表示

 ある地点から次の地点まで、ユーザーに道案内を提供する場合を考えてみましょう。この機能を追加するのは非常に簡単です。次のように、GDirectionsオブジェクトの呼び出しに道案内の挿入先となるdiv要素を指定するだけです。

var directions = new GDirections(map, document.getElementById("sidebar"));

 sidebarというdiv要素をWebページに追加すると、図4のようなインターフェースを作成できます。

図4 道案内の追加
図4 道案内の追加

まとめ

 今回と前回の記事では、地図上の複数のポイント間の距離を測定する2つの簡単な方法を紹介しました。この方法は、直線距離と道なりの距離の両方に対応しています。これらの機能を使って何か面白いものができたら、私にもぜひ教えてください!

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
japan.internet.com翻訳記事連載記事一覧

もっと読む

この記事の著者

japan.internet.com(ジャパンインターネットコム)

japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.comEarthWeb.com からの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

W. Jason Gilmore(W. Jason Gilmore)

オハイオ州コロンバスに本社を置く出版・コンサルティング企業であるW.J. Gilmore, LLCの創設者。最新のプロジェクトに、PHP言語の学習用ワンストップショップEasyPHPWebsites.comがある。以前はApressのオープンソース系編集者として60冊を超える書籍の出版に携わり、オープンソース製品に関する優れた出版物の刊行に貢献。著作も多く、ベストセラーになった『Beginning PHP and MySQL: From Novice to Professional』(現在は第3版)、『Beginning PHP and PostgreSQL: From Novice to Professional』、『Beginning PHP and Oracle: From Novice to Professional』などがある。年1回の開発者向けカンファレンス「CodeMash」を主催する非営利組織CodeMashの共同創設者。2008 MySQL Conferenceの発表者選考委員会のメンバーも務めた。Developer.com、Linux Magazine、TechTargetなどの著名なサイトに執筆したチュートリアルや記事の数は100以上にのぼる。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/4156 2009/07/30 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー