Google Map View のチュートリアル、わりとめんどくさいのでそのへんまとめる。
1) Google Api の追加
Android SDK標準では Google Map は扱えないのでインストールする必要がある。
Eclipse のメニューから、
Window -> Android SDK and ADV manager -> Available Packages -> Google API とかそれっぽいの選んで Install
2) 新規プロジェクトの Build Target は Google APIs を選択
ふつーの Android Project 選んでも使えないっぽい。
3) Google Map を使用するには API Key を取得しなければいけない。
API Keyを取得するには証明書のフィンガープリント(MD5)が必要になる。あともちろんGoogleアカウント。
フィンガープリントはJDKをインストールした際についてくるツールを使用すればおk。また、作成には証明書が必要になるがデバッグ用のものが ~/.android に入っている。JDKにパスが通ってなくて相対パスで指定しているがそれはそれぞれということで。
ryomatsu@RYOMATSU-PC ~/.android
$ pwd
/c/Users/ryomatsu/.android
ryomatsu@RYOMATSU-PC ~/.android
$ ../../../Java/jdk1.6.0_24/bin/keytool.exe -list -keystore debug.keystore
キーストアのパスワードを入力してください:
***************** 警告 警告 警告 *****************
* キーストアに保存された情報の完全性は検証されて *
* いません! 完全性を検証するには、キーストアの *
* パスワードを入力する必要があります。 *
***************** 警告 警告 警告 *****************
キーストアのタイプ: JKS
キーストアのプロバイダ: SUN
キーストアには 1 エントリが含まれます。
androiddebugkey, 2011/03/26, PrivateKeyEntry,
証明書のフィンガープリント (MD5): 01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF
4) Adding Overlay Items
チュートリアルどおりにやったらオーバーレイアイテムをタップしたときにヌルポが出てなんじゃこれーと考えていた。結論からいうとこの項目時に HelloItemizedOverlay にコンストラクタを追加して、そっちを呼ばなければいけなかったのだが、そうしてなかったのが原因だった。ついでにこの追加したコンストラクタも修正しないとドロイド君のアイコンは表示されなかった。
というわけで以下のように変更。
HelloMap.java
// HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(drawable);
HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(drawable, this);
HelloItemizedOverlay.java
public HelloItemizedOverlay(Drawable defaultMarker, Context context){
// super(defaultMarker);
super(boundCenterBottom(defaultMarker));
mContext = context;
}
動いた。
コメント