私はosmdroidマップを持っています。その上にレイヤーを追加します。オーバーレイではなく、レイヤーです。レイヤーを追加するときは問題ありませんが、レイヤーを削除しようとすると問題ありません。例外があります:
レイヤーは現在のマップのサブレイヤーではありません。
レイヤーを追加および削除するためのコードは次のとおりです。
if(Layer_List_Adapter.toggle_status==true) {
Log.i("ADDING LAYER... :", "Adding...");
mapView.addLayer(dmsl);
Log.i("Layers ::", ""+mapView.getLayers());
layer_added_falg=true;
}
else if(Layer_List_Adapter.toggle_status==false)
{
Log.i("A", "A");
if(layer_added_falg==true)
{
try
{
Log.i("REMOVING LAYER... :", "Removing...");
Log.i("Layers ::", ""+mapView.getLayers());
mapView.removeLayer(mapView.getLayerByID(layerId));
mapView.refreshDrawableState();
layer_added_falg=false;
}
catch (Exception e) {
// TODO: handle exception
Log.e("ERROR :", e.getMessage());
}
}
else
{
}
}