Map上にボタンアイコンを配置する方法について

1,808 views
Skip to first unread message

一馬

unread,
Oct 26, 2010, 12:49:42 AM10/26/10
to 日本Androidの会
お世話になります。
一馬と申します。

現在、google Map上にボタンアイコンを配置する方法で悩んでいます。
Mapの緯度と経度を指定して、その座標にボタンを配置させたいのですが、
うまくいきません。

ボタンアイコンを、経度、緯度を指定して配置することは可能なのでしょうか。
よろしくお願い致します。

おく

unread,
Oct 26, 2010, 2:25:40 AM10/26/10
to 日本Androidの会
一馬さん
おく と申します。

ボタンアイコンとは 「タップしたら何かのアクションが発生するアイコン」 ということでよろしいでしょうか?
それなら ItemizedOverlay を使います。

こちら
http://sites.google.com/a/techdoctranslator.com/jp/resources/tutorials/views/hello-mapview

パート 2: オーバーレイアイテムの追加
が参考になると思います。

以上です。
----
おく
http://iddy.jp/profile/amay077/
http://twitter.com/amay077

Hirotada Watanabe

unread,
Oct 26, 2010, 2:51:08 AM10/26/10
to 日本Androidの会
渡辺と申します。

一馬さんのおっしゃる「ボタンアイコン」がどのようなものかわかりませんが、
仮にマップ上にバルーンやピンのような絵柄のアイコンを置き、そのアイコンを
タップすることで発生するイベントを処理したいとのことでしたら、以下の方法を参考に
して頂ければと思います。

以下のJavadocを参照してください。
http://code.google.com/android/add-ons/google-apis/reference/index.html

Google Map上にタップされることを目的としたアイコンを置きたい場合、
ItemizedOverlay<Item extends OverlayItem>クラスを継承したクラスを作成し、
MapViewクラスのgetOverlays()メソッドで取得できるList<Overlay>にインスタンスを
追加します。これで、マップ上にバルーンやピンなどのアイコンを表示させるための
レイヤを追加したことになります。

ではレイヤの作り方ですが、ItemizedOverlayクラスを継承したクラスを作成し、
createItem()メソッドをオーバーライドします。このメソッドはOverlayItemを継承した
クラスのインスタンスを返すように実装します。このOverlayItemのインスタンス1つが、
バルーンやピン1個に相当するものとなります。

最後に、OverlayItemを継承したクラスを作成する際、getPoint()が返すGeoPoint
オブジェクトが、目的の緯度・経度になるようにします。

参考になりますでしょうか。

一馬

unread,
Oct 26, 2010, 8:18:47 PM10/26/10
to 日本Androidの会

おくさん、渡辺さん返信ありがとうございます。

ボタンに画像イメージを与えたものを
ボタンアイコンとしていました。
説明不足で申し訳ありません。

御二方の返信内容からOverlayItemクラスを使用して
作成してみたいと思います。
最終的には、マーカーがクリックされた場合、
他のレイヤーまたは、ポップアップ画面を表示させ、
文字などを記述させる形式にしようと考えています。

以上、ご返信ありがとうございました。


On 10月26日, 午後1:49, 一馬 <kazuma...@gmail.com> wrote:
Reply all
Reply to author
Forward
0 new messages