2011-02-01 5 views
1

私はマップ上にいくつかのアイテムを持っています。マップビュー上のアイテムのonTap領域を不安定にする方法はありますか?

友人の中には、ユーザーがそれらを押したときにダイアログに関する情報を表示する必要があります。そして私の現在の所在は何も見せてはいけません。

私はImtemizedOverlayのonTap関数のすべてのコードを自分の位置で削除しようとしましたが、それは機能しません....なぜですか?私の位置が友人の近くにある場合、私は友人を押すしようとすると、何も起こらないので...なぜですか?私のポジションは、タップエリアでは、それは友達と一緒になって、タップエリア、と私は友達のタップを押してしようとしているとき、それは私の所有のタップを空に押しています。

これを解決する方法はありますか?

おかげ

答えて

1

onTap()からfalseを返す必要があり、あなたの位置を示しているか、まったくこのメソッドを上書きしないItemizedOverlay。この場合、マップは他のオーバーレイにイベントを転送します。

trueonTap()から返すと、このオーバーレイでイベントが使用され、他のオーバーレイは決して呼び出されません。

+0

ありがとうございます!アイテムのonTap領域を減らすことは可能ですか? – NullPointerException

+0

これは、デバイスの解像度のような多くのものに依存していると思います。どこかで 'onTap(GeoPoint p、MapView mapView)'はアイテムを見つけて、それに対して 'onTap(int index)'を呼び出します。最初のメソッドを上書きして2番目を自分で呼び出してからtrueを返すことができますが、私の推測では、合理的なデフォルトがあり、それらを変更するほうがよいでしょう。あるレイヤーの要素を他のレイヤーよりも優先させたい場合は、レイヤーを別の順序で追加することができます。 – Michael