みんなの学び場を更新しました.


http://watson.xsrv.jp/index.phpを更新しました.
リリースしてから1週間,たいしてアクセス数もありませんが,ドンドン更新していきます.


Gooogle Mapsと連携して,講義の詳細情報画面に会場周辺の地図が表示されるようになりました*1

リリースする前から,「会場はGoogleMapsで表示するのがどう考えてもデファクタスタンダードな世の中だよなぁ〜...」
っと思ってはいたのですが,とにかく11月の早い段階で公開したかったので,後回しになってしまいました.


Google Maps APIを使って初めて知ったのは,地図を表示するためには引数に緯度と経度情報が必要だってこと
普段GoogleMapを使うみたいにキーワードで検索は完璧には出来ないようです.




http://code.google.com/intl/ja/apis/maps/documentation/examples/geocoding-simple.html

リンク先はgoogleのサンプルですが,チョット複雑な検索内容を入れるとヒットしません.
例えば「関西学院大学大阪梅田キャンパス」と入力しても,Not Foundと表示されてしまいます.

でも,同じ内容をgoogleMapsに入れると表示されるんですけどねぇ〜.
関西学院大学大阪梅田キャンパス



ボクの勉強不足でしょうか?
むしろ,この後者の検索結果から情報を抜けば良いような気もしなくはないですね.

個人的には「開催場所」の情報をキーにして地図を取得する予定だったので,データベースに位置情報を入力するカラムを用意していませんでした.
ですので,今回の変更でデータベースの講義テーブルに,緯度と経度の項目をdoubleで追加しました.
うーん,データベースの仕様はじっくり考えたんだけどマダマダ調べが足りないなぁ〜と痛感.



さて,住所から緯度経度情報に変更することをジオコーディングと言うそうです.
色んな人たちがサービスを提供してくれているおかげで,ボク見たいな末端エンジニアはそれをうまく利用させてもらうことができます.


でも,ボクは2つの作業が必要で,
1.今後登録する情報にどうやってひも付けするか?
2.既存の登録情報にどうやってひも付けをするか?

で,色々調べたのですが,
1の今後の登録分は,講義情報入力時にGeocoding API - 住所から緯度経度を検索を利用して,
xmlで形式を受け取ってそれをDBに登録するのが賢いかと.*2



2に内容に関しては手で入力していくのが取り敢えずは得策かと考えました.
でも,キーワードから位置情報ってどうやって抜き取るのでしょうか?


それが出来るなら,そもそも悩む必要がなくなってしまいます.
困りながらも,調べてみるとGoogle Mapsで緯度・経度を調べるための一行のコード | POP*POPに方法を教えてくれました.

Google Mapsで緯度・経度を調べたい・・・というときのために知っておくと便利な一行コードのご紹介。

使い方は簡単で、緯度・経度を調べたい地点を中心に表示させたあと、次のコードをアドレスバーに入力するだけ。

javascript:void(prompt('',gApplication.getMap().getCenter()));

すると次のようなダイアログが出てくれます。コピーしやすくていいですね。


なるほど..ってコレをうまく利用して「検索キー」から「位置情報」をとれないかなぁ〜....



(参考リンク)
Google Maps API リファレンス

*1:現在手作業にて位置情報を入力しているため,全ては対応できていませんが...

*2:コーディングはこれから