Я добавил на карту разные группы маркеров, созданных мной вручную. теперь я хочу удалить с карты указанную группу c маркеров. Я пробовал использовать .remove (); и методы clear () не работали. вот мой код.
HashMap<Integer,Marker> aa = new HashMap<>();
void addAtmkMarker(LatLng latLng, String title, boolean status) {
Log.d(TAG, "moveCamera: Clearing Previous location");
if (mMap != null) {
Log.d(TAG, "moveCamera: Moving Camera to current location");
MarkerOptions options = new MarkerOptions()
.position(latLng)
.title(title)
.icon(status ? BitmapDescriptorFactory.fromResource(R.drawable.ic_green) : BitmapDescriptorFactory.fromResource(R.drawable.ic_red));
mAtm = mMap.addMarker(options);
i++;
aa.put(i,mAtm); //created hashmap to store status of multiple markers.
}
}
atm.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(((CheckBox)view).isChecked()){
addAtmkMarker(new LatLng(latLng.latitude + Math.random() * (0 - 0.005), latLng.longitude + Math.random() * (0 - 0.005)), "SBI", true);
addAtmkMarker(new LatLng(latLng.latitude + Math.random() * (0.005 - 0), latLng.longitude + Math.random() * (0 - 0.005)), "BOI", true);
addAtmkMarker(new LatLng(latLng.latitude + Math.random() * (0.005 - 0), latLng.longitude + Math.random() * (0 - 0.005)), "SBI", false);
addAtmkMarker(new LatLng(latLng.latitude + Math.random() * (0.005 - 0), latLng.longitude + Math.random() * (0 - 0.005)), "SBI", true);
}
else{
for(int j=0;j<=4;j++) //logic implemented for removing marker but didn't worked.
{
aa.remove(j);
}
}
}
});