Geolocation API実地試験
@みかん
テーマ
• マップアプリをカーナビ代わりに使うと
画面常時点灯+Wifi+GPS でめっちゃ電池
食う
• 充電が追い付かない
位置情報の取得頻度を落としたい
built-inアプリにそんな
設定項目はないよ(泣)
ポストマップ( )実現方法
• アプリ開発 △
– しきいが高そう
– 配布してもどうせ誰も使わない
– AndroidとiOSとWindows ▂▅▇█▓▒░(’ω’)░▒▓█▇▅▂
• Javascript ○
• おとなしくカーナビを買う ×
• 道を暗記 ×
• タクシー ×
評価技術
• Javascript
– Geolocation APIで位置情報を取得できる
– モダンブラウザは大抵サポート OS非依存
– テキストなので公開が楽
– 位置情報取得タイミングをある程度制御できる
仕組み
∧_∧
( ・ω・)
_(__つ/ ̄ ̄ ̄/
\/ /
 ̄ ̄ ̄\ (現在位置) (Wi-fi) ( GPS )(基地局情報)(Bluetooth)(IPアドレス)
\┗(^o^ )┛ ┗( ^o^)┛┗( ^o^)┛┗( ^o^)┛ ┗( ^o^)┛ ┗( ^o^)┛
\┏┗ ┛┓ ┛┓ ┛┓ ┛┓ ┛┓
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
Earlier, websites would use the IP address to determine your approximate location
but with the HTML5 Geolocation API, web browsers can more accurately detect your
location using data from GPS, Wi-Fi networks, cell towers, Bluetooth and the computer’s
IP address. If you agree to share your location with the browser, it will send these details
to Google Location Services for estimating your location which is then shared with the
requesting website.
http://www.labnol.org/internet/geo-location/27878/
検証システム
• Javascript
– Geolocation APIで位置情報を取得
– DBサーバーに取得情報を送信
• Webサーバー
– Google mapを埋め込んだサイトを作成
– DBサーバーから情報を取得
– 現在位置が中心になるように常に調整
• DBサーバー
– ブラウザの取得情報を保存
評価項目
• 日程 休日の昼間
• 場所 横浜周辺
• 時間 4h
端末:iPhone
明るさ:最小
ロック:しない
取得間隔:10秒
• 取得位置情報の精度
• バッテリー消耗度合い
知りたいこと
諸条件
評価結果
• 取得位置情報の精度
→情報が取得できている限りそこそこいける
• バッテリー消耗度合い
→4時間で50%消耗 (92%→42%)
• built-inアプリの取得間隔は不明だが、それに
近い感覚でリアルタイムに情報を追える
• 他のアプリと同時に使えない
• 割と発熱する。胸ポケットだと違和感
位置情報
• 取得位置情報(電車)
位置情報
• 取得位置情報(徒歩)
位置情報
• 荒ぶるGPS@横浜駅
実際はホーム4からホーム1へ乗り換え
←①ここで並んでカレーを買い
↓②ここで食べた
③↓帰宅(データ飛び)
位置情報
よこすかカレーフェスティバル2015 参戦
実用への課題
• Geolocationはユーザーの明示的な許可なし
に使えない(スマホでも同じ)
実用への課題
• スリープにしたりホーム画面に戻ったら終了
終わる画面例
実用への課題
• 取得頻度を減らして節電効果はあるか?
• 取得頻度を減らしたときにストレスは無い
か?
• 場面に応じた取得頻度最適化
• Google先生への完全依存
要チェック!!

Geolocation API実地試験