これは、Google I/O 2013 - Beyond the Blue Dot: New Features in Android Location - YouTube から主要な部分を切り出して勝手な解説を加えたものです。
このセッションは、Android に追加された「Fused Location Provider」「Geofencing」「Activity Recognition」に関するお話です。
これらの3つのデモだけ見れば、だいたい「すげー」ってなるかと。
で、これらの機能は Google Play services として提供されるので、新しい端末を待たなくても今日から使えますよ、と。
タイトルは「Beyond the Blue Dot」、Blue Dot とは…デモを観たら分かります。
Intro&Closing 担当の Waleed さん(右)と、Deep Dive してくれる Jaikumar さん(左)
基本として、各種測位技術の比較表を。
Intro を早々に飛ばして、ここから各機能の詳細説明。
まず、現在の Location 周りの構成図。これが…
こうなる。今までのレイヤの上に Google Play-services として構成される。
さあてお待ちかねのデモ。
まずは、実際の経路(緑) vs GPS(黄色)
画像だけだと若干分かりづらいけど、屋内はすっ飛ばされてる。
次、緑 vs WiFi測位(赤)
もう、カックカクなのであります。
そして、緑 vs Fused Location Provider(青 the Blue Dot)
屋外は GPS によるスムースな軌跡、屋内は WiFi+センサーによる自律測位で十分に滑らか。入出、退出時の切り替えも自動で行われる。(拍手!)
使い方。
LocationClient というのが増えてるので、それを使います。
connect
した後は、LocationListener
が使えます。(注:android.location.LocationListener
ではなく新しい com.google.android.gms.location.LocationListener
でした)
[setPriority](http://developer.android.com/reference/com/google/android/gms/location/LocationRequest.html#setPriority(int) で電池消費と精度をコントロールできるとのこと。
次のトピック、ジオフェンシング。
さっそくデモから。
ジオフェンスが2つ仕掛けてあって、自車がフェンス内に入ると色が変わるというもの。
使い方。
同じく LocationClient
から。
結果は IntentService で受け取ります。
そして嬉しいのがコレ。
消費電力が今までの 1/3 になってるとのことです。 実は、ジオフェンシングの機能自体は [addProximityAlert](http://developer.android.com/reference/android/location/LocationManager.html#addProximityAlert(double, double, float, long, android.app.PendingIntent) という形で既存だったのです(存在は知ってたが使ったこと無い)。
ユーザーの大雑把な場所や、現在の状態(歩いてるのか留まっているのか)やら、ハードウェアに直接処理させているので実現できた、とか言ってるみたいです。
最後のトピック、行動(状態)認識。
乗り物、徒歩、留まってる、自転車 を判別できます。
これはライブデモ。 自転車と認識されているのは…
…マークさんの実演でしたー。(会場ここが一番盛り上がってた)
そして使い方、 ActivityRecognitionClient というのを使います。 これは早速使ってみたのでこちらもご参考に。
Waleed さんに戻ってまとめなど。
Google Play-services で提供してるから、使うなら?「今でしょ!」(言ってません)。 これからも、消費電力・精度・使える場所(?) を改良していくぜい、とのこと。
どうもありがとうございました。
Fused Location Provider(GPS+WiFi+自律測位)は、カーナビ(GPS+自律測位)では普通に行われているものの、あちらは道路の上という縛りがあるのに対し、こちらはフリーダムな移動を処理しなければならないのですが、実用レベルの API を、誰でも使える形で提供してくる Google さん怖すぎ。
国内でも大学とかベンチャーが頑張って屋内測位とか行動認識技術開発してるので、ぜひがんばってください。
「なぜ Google Play-services で提供するのか?」に:
などのメリットを説明していましたが、その後ツイッターで、
@amay077 おおー、参考になりました。ありがとうございます。ところで、これGooglePlayクラスのしただったのね。業務用のタブレットやスマホだとGooglePlay使えないから、ちょっと残念。
— new hirofumi hayashiさん (@picaosgeo) 2013年5月18日
というやりとりをして気づきました。Google Play-services って「(オープンソースとしての)Android」じゃないのねーと(まあこれほどの技術の内部を公開なんて普通に考えてもありえない話ですが)。
「Google Play-services が使えない端末では利用できない」 というのは割と盲点になりそうです(Kindle もダメだよね、たぶん。しかしエミュレータですら使えないのは何とかして欲しい)。
Chrome との統合がうわさされる Android ですが、Android の名を冠していない Google Play-services が充実していくのは、その流れなのかも知れませんね。