Удаление маркеров в Android
У меня есть объект Глобальный массив, какMarker marker_array[];
и позже в Layout нажмите я инициализировал его какmarker_array = new Marker[8];
, Я хочу добавить маркеры на карту на этом макете и удалить при втором клике, чтобы я создалclickcount
Глобальная переменная с нулевым значением.
Мой правильный код здесь
final RelativeLayout layout = (RelativeLayout) findViewById(R.id.track_div);
layout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
clickcount++;
point_new = new LatLng[8];
point_new[0] = new LatLng(31.5301843, 74.3207487);
point_new[1] = new LatLng(31.5214693,74.3236027);
point_new[2] = new LatLng(31.5194393, 74.3257327);
point_new[3] = new LatLng(31.4942166, 74.3004533);
point_new[4] = new LatLng(31.4864646, 74.2911203);
point_new[5] = new LatLng(31.4803596, 74.2787933);
point_new[6] = new LatLng(31.4764716, 74.2638203);
point_new[7] = new LatLng(31.4775236, 74.2628873);
// initialize marker_array;
marker_array = new Marker[8];
Toast.makeText(getApplicationContext(), "count "+clickcount, Toast.LENGTH_SHORT).show();
//
if (clickcount % 2 == 0) {
polyline.setVisible(false);
for (int i = 0; i < point_new.length; i++){
Toast.makeText(getApplicationContext(), "marker length ="+marker_array.length, Toast.LENGTH_SHORT).show();
marker_array[i].remove();
// marker_array.setVisible(false);
}
} else {
polyline.setVisible(true);
for (int i = 0; i < point_new.length; i++) {
// marker_array = new Marker[point_new.length];
MarkerOptions markerOptions = new MarkerOptions()
.position(point_new[i]);
marker_array[i] = mMap.addMarker(markerOptions);
marker_array[i].setTitle("Points");
marker_array[i].setSnippet("Distance = 9.6 km, Time = 20 minute/s");
marker_array[i].setIcon(BitmapDescriptorFactory.fromResource(R.drawable.bus));
}
}
Проблема в том, что он создает все 8 маркеров, но не удаляет, даже если в состоянии, если я пытаюсь удалить маркерыToast
показывает правильную длину8
. приклад когда я удаляюmarker_array
отдельно какmarker_array[7]
это удаляет это.
Как я могу удалить все маркеры вmarker_array безmap.clear();
метод, потому что у меня есть некоторые другие вещи, как полилинии и т. д., которые я не хочу удалять.
Любые усилия будут оценены.