GPS×Twitter4Rで
       たのしい位置情報ライフ
               2009/7/18
              川戸 正裕
     http://d.hatena.ne.jp/m-kawato
     ht...
自己紹介
 ●   某電機メーカー勤務
 ●
     仕事ではあんまりRuby触ってません
 ●   気が乗ったら欲しいツールを自作
     ➢
         最近はもっぱらTwitter関連
 ●
     ときどきTokyu.rbに...
あらすじ
 ●
     最近iPhone 3GSを入手
 ●
     GPSを使って、現在位置をTwitterに投稿したい
     ➢
         でもSDKはMac OS版しかないし…
 ●
     iPhone OS 3のSa...
作ったもの




2009/7/18   RejectKaigi2009   4
2009/7/18   RejectKaigi2009   5
Geolocation API
●   Google Gears APIの一部
    http://code.google.com/intl/ja/apis/gears/api_geolocation.html
●   こんな感じでJavaS...
Yahoo! ローカルサーチAPI
 ●
      地図上の住所/ランドマーク/位置情報 (緯度・経度) を相互に変換するWeb API
 ●
      今回は、Geolocation APIで取得した位置情報から住所を取得するために利用
...
Twitter4R
 ●
     TwitterのWeb APIをRubyから使うためのライブラリ
 ●
     今回はメッセージ投稿のためだけに利用
 ●
     位置情報取得用JavaScriptコードからCGIとして呼び出し

  ...
ユーザインタフェース



                                  現在位置の住所
                                  (Yahoo! ローカルサーチ
                ...
まとめ
 ●
     Geolocation API+Twitter 4RによるGPS活
     用
 ●   使いたい機能を自分で作るのがサンデープロ
     グラミングの醍醐味
     ●   車輪の再発明とか気にしない
 ●
  ...
おまけ: システム構成

Webサーバ (Ubuntu 8.04)


                                                    5. POST
                          ...
Upcoming SlideShare
Loading in …5
×

GPS×Twitter4Rでたのしい位置情報ライフ

4,024 views

Published on

RejectKaigi2009 (RubyKaigi2009併設) での発表資料

Published in: Technology
1 Comment
1 Like
Statistics
Notes
No Downloads
Views
Total views
4,024
On SlideShare
0
From Embeds
0
Number of Embeds
21
Actions
Shares
0
Downloads
17
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

GPS×Twitter4Rでたのしい位置情報ライフ

  1. 1. GPS×Twitter4Rで たのしい位置情報ライフ 2009/7/18 川戸 正裕 http://d.hatena.ne.jp/m-kawato http://twitter.com/m_kawato 2009/7/18 RejectKaigi2009 1
  2. 2. 自己紹介 ● 某電機メーカー勤務 ● 仕事ではあんまりRuby触ってません ● 気が乗ったら欲しいツールを自作 ➢ 最近はもっぱらTwitter関連 ● ときどきTokyu.rbに出没 2009/7/18 RejectKaigi2009 2
  3. 3. あらすじ ● 最近iPhone 3GSを入手 ● GPSを使って、現在位置をTwitterに投稿したい ➢ でもSDKはMac OS版しかないし… ● iPhone OS 3のSafariではJavaScriptから GPS測定結果が取れる → これだ! 2009/7/18 RejectKaigi2009 3
  4. 4. 作ったもの 2009/7/18 RejectKaigi2009 4
  5. 5. 2009/7/18 RejectKaigi2009 5
  6. 6. Geolocation API ● Google Gears APIの一部 http://code.google.com/intl/ja/apis/gears/api_geolocation.html ● こんな感じでJavaScriptから位置情報を取得 <head> <script type=”text/javascript”> // コールバック関数 function updateLocation(pos) { var lat = pos.coords.latitude; // 緯度 var long = = pos.coords.longitude; // 経度 .... } </script> </head> <body onload=”navigator.geolocation.watchPosition(updateLocation)”> 2009/7/18 RejectKaigi2009 6
  7. 7. Yahoo! ローカルサーチAPI ● 地図上の住所/ランドマーク/位置情報 (緯度・経度) を相互に変換するWeb API ● 今回は、Geolocation APIで取得した位置情報から住所を取得するために利用 <script type=”text/javascript”> // Yahoo! local search JSONP APIの呼び出し function getAddress(lat, long) { var target = document.createElement('script'); target.src = "http://map.yahooapis.jp/LocalSearchService/V1/LocalSearch? appid=hogehoge&lat=" + encodeURI(lat) + "&lon=" + encodeURI(long) + "&datum=wgs&category=address&o=json&callback=getResult"; document.body.appendChild(target); } // コールバック関数 function getResult(result) { if (result.Count > 0) { var addr = result.Item[0].Address; // API呼び出し結果から住所取り出し .. } ... } </script> 2009/7/18 RejectKaigi2009 7
  8. 8. Twitter4R ● TwitterのWeb APIをRubyから使うためのライブラリ ● 今回はメッセージ投稿のためだけに利用 ● 位置情報取得用JavaScriptコードからCGIとして呼び出し require 'rubygems' require 'twitter' TWITTER_USER = <Twitter user ID> TWITTER_PASSWORD = <Twitter password> client = Twitter::Client.new(:login => TWITTER_USER, :password => TWITTER_PASSWORD) client.status(:post, “投稿メッセージ”) 2009/7/18 RejectKaigi2009 8
  9. 9. ユーザインタフェース 現在位置の住所 (Yahoo! ローカルサーチ APIから) GPS生データ (緯度、経度) Twitter投稿に付加する コメント Twitterに投稿 2009/7/18 RejectKaigi2009 9
  10. 10. まとめ ● Geolocation API+Twitter 4RによるGPS活 用 ● 使いたい機能を自分で作るのがサンデープロ グラミングの醍醐味 ● 車輪の再発明とか気にしない ● 興味や記憶を維持するのは面倒なので、1日で 完結する範囲で開発 ● スキルの蓄積によって、1日で作れる範囲の拡大を 期待 2009/7/18 RejectKaigi2009 10
  11. 11. おまけ: システム構成 Webサーバ (Ubuntu 8.04) 5. POST (via Twitter4R) Twitter HTML+JavaScript Ruby CGIスクリプト twitter.com 4. POST 3. 位置情報から住所取得 1. GET (via Yahoo! local search API) JavaScript コード Yahoo! map.yahooapis.jp iPhone 2. 位置情報取得 GPS (via Geolocation API) 2009/7/18 RejectKaigi2009 11

×