![]() | ジオモバイルプログラミング―iPhone&Androidで位置情報アプリを作ろう― 新品価格 |
androidで現在の位置情報を取得して
現在地を地図の中央にもってこようと思った。
しかし、思ったよりうまくいかずにはまった点が多かったので
備忘録として残しておく。
マスタカ作成のandroidアプリ
・google map表示のためにはAPIキーが必要
考えてみるとこの通りなんだけれど、
google map使うにはAPIキーが必要。
やり方は以下。
http://www.atmarkit.co.jp/fsmart/articles/android16/android16_1.html
しかし、デバック用と公開用でAPIキーが違うので
公開前にはキーの切り替えを行う必要がある。
公開用のキーの作り方は以下に書いてあった(試してません)
http://android.roof-balcony.com/view/mapview/mapview-disp/
・ビルドターゲットにGoogle APIがない
新しいプロジェクトからビルドターゲットを選らんでプロジェクトを作成しようとしたら
Android2.3やら3.0はあるのだがGoogle APIという項目がなかった。
google mapを使うにはGoogle APIを使わけなればいけない。
調べたところ
Android SDK および ADVマネージャーの
Available PackagesからGoogle APIをインストールすればうまくいった。
http://tk-factory.net/wordpress/?p=2070
・エミュレーター上でエラーが出て地図を表示できない。
上記までやればエミュレーター上で地図が表示できるかと思ったが
以下のエラーが出て表示することができなかった。
com.example.brown requires unavailable shared library com.google.android.maps
調べたところ、エミュレーターは普通のエミュレーターでなく
Google API用のエミュレーターでなければいけない。
Android SDK および ADVマネージャーから
新しいエミュレーターを作り、ターゲットにGoogle APIを指定すれば解決。
http://stackoverflow.com/questions/2283398/shared-library-missing-in-android-how
・自分の位置を地図上で中央にする。
以前の記事でも書いたがCriteriaを使って位置情報を取得してみた。
しかし、現在地の経度と緯度は取得できているが
どうしても今の位置を中央にすることができなかった。
色々調べてみたところ取得した緯度と経度に1E6をかけた(*)ら中央に表示できた。
setCenterする前には正規化が必要なのだろう。
地図表示にはまっている人がいましたらぜひ上記を参考にしてください(・∀・)
まだまだ続く。
タグ:android



