複数の (約 600、それらに関する情報を表示するためにすべてクリック可能) オーバーレイ アイテムを mapview に表示する必要がありました。パフォーマンスの問題については、グループごとに異なる種類の情報が表示されるため、それらを異なる ItemizedOverlay クラスにグループ化するのが賢明だと思いました。(具体的には、空港、VOR、NDB、および航空に関するものです)。
私の問題は、それらをクラスに分けて表示すると、パフォーマンスが非常に優れていることです。マップがスムーズに流れます。しかし、最初のレイヤーの上に2番目のレイヤーを追加すると、最初のレイヤーのアイテムをクリックできなくなります。
多くのことを読み、Log.i メソッドを使用してデバッグすると、すべてのレイヤーがクリックされるのに OnTap(Geopoint point, MapView mapview) メソッドのみが呼び出されることに気付きました。super.onTap(point, mapview) の呼び出しが機能しませんでした。マーカーを識別するには onTap(int index) メソッドが必要です。(私はクラスに両方のメソッドを持っています(多くの例を読んだ後))。
それで、私は何をすべきですか?私の問題を解決する方法はありますか?クリックした座標をすべてのオーバーレイアイテムの座標と比較して近いものを見つけるなど、重いアプローチにはなりたくありません。
前もって感謝します。