私の問題は次のとおりです。
複数のアイテム化されたオーバーレイを作成しています。(すべてのオーバーレイが異なるドローアブルを取得するため) アイテム化されたオーバーレイ クラスをカスタマイズしましたが、それを mapview オーバーレイに追加すると、クラスがオーバーレイ クラスに変換されます。さらに悪いことに、同じマップ上にオーバーレイを作成する 3 つのクラスを取得しました。各クラスは、その背後にある独自の知性を持つマップ上のアイテムを表します。
私が今抱えている問題は、オーバーレイを削除したいということですが、オーバーレイを挿入したインデックスが、削除しようとしたときに持っているインデックスでもあるかどうかはわかりません。(その間に他のクラスがオーバーレイを挿入した可能性があります)
クラスは自己更新であるため、メインクラスから更新または削除イベントを発生させるソリューションは必要ありません。(全体のポイントは、クラスを追加してそれを忘れることです)
私の質問は次のとおりです。そのレイヤーで削除を呼び出したいときに、どのレイヤーがどれであるかをどのように識別できますか。情報は入手できると思いますが、入手方法がわかりません。これは、オーバーレイを追加するために使用しているコードです
OverlayItem overlayitem = new OverlayItem(p,myNaam ,myOmschrijving );
LocationOverlay = new MyLocationOverlay(drawable, myContext);
LocationOverlay.SetLocation(i,overlayitem);
myOverlays.add(LocationOverlay);