
すると、プラグインファイルを選択する画面が出てきますので、先ほど準備したファイルを選択してアップロードします。

アップロードが完了すれば、GeoKitがインストール出来ている事が表示されます。確認してください。

インストールされたGeoKitを利用できるようにします。「app」→「models」からplace.rbを開きます。そして、Placeクラスに次の一文を挿入します。
acts_as_mappable :lng_column_name => 'longitude', :lat_column_name => 'latitude'
これでlongitudeを緯度、latitudeを経度として取り扱ってくれるようになります。

次にcontrollerを変更します。トップページに表示されるリストを神戸空港の緯度・経度から近い順に並べ替えて表示させるという設定をしてみます。 「app」→「controllers」からplaces_controller.rbを選択します。そして、PlacesControllerクラスのindexメソッドの冒頭を次のように書き換えます。 @places = Place.find(:all, :origin => [34.638857,135.22728], :order => "distance ASC")

これで作業は完了です。34.638857,135.22728という座標を中心に距離順表示されるようになったと思います。下記リンク先で適当に座標を入力して試してみてください。 http://geokitsample.herokugarden.com/places/ GeoKitは他にもジオコーディングやIPアドレスに対応していたり、多機能なプラグインのようです(やったこと無いので分かりませんが。)。詳細はGeoKitのhome等を確認してください。 実際には入力数値を緯度・経度に即したものになっているかチェックする等、やることが他にもありますが、今回は動作確認ということで。。。
『追記(09.3.22)』 GoogleMapsを表示したい場合の参考リンクをコメント欄にて教えていただきました。 興味のある方はコメントをご覧ください。


4 コメント:
参考になりました。
デモサイトと地図が見えなくなっています。
旧 heroku.com は herokugarden.com にURL変更になっています。また、URL変更のため、google maps APIが無効になっているためでしょう。もし余力がありましたら修正頂くとありがたいです。
tenfu2tea様
情報提供ありがとうございます。アドレスは変更しておきました。
それと、大変申し訳ありませんが、このサンプルでは僕が不精なものでマップを使用していません。申し訳ないです。いずれはRailsとGeoRubyネタでもやってみたいとは思っているのですが…。
上のコメントでは geokit plugin の機能を知らない段階で「マップが表示されない」などと書いてしまい申し訳ありません。
google map 2の表示は gmap-on-rails プラグインを使って簡単にできました。 herokugardenでも Plugin メニューの Install from URLに、
http://gmaps-on-rails.googlecode.com
を入力すれば、インストール完了です。
↓を参考にしました。
http://www.banwanko.net/etc/?GoogleMaps+%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3
tenfu2tea様
またまた情報提供ありがとうございます。
GoogleMapsを利用される場合に役立つと思いますので、本文の方にもコメントがあった旨をアナウンスしておきます。
何かあればまた情報提供いただければ幸いです。
コメントを投稿