Я разрабатываю приложение для трафика с использованием карты nutiteq. Существует более 500 линий трафика, много маркеров о трафике. Я нарисовал дорожные линии таким образом;Как я могу очистить все элементы mapview в Nutiteq?
public void drawlines(){
ArrayList<MapPos> arr_lat_long1 = new ArrayList<MapPos>();
for(int i = 0; i < arr_lat_long1.size(); i ++){
MapPos lineMapPos = new MapPos(arr_lat_long1.get(i).x,arr_lat_long1.get(i).y);
arr_lat_long1.add(lineMapPos);
geoLayer = new GeometryLayer(new EPSG4326());
mapView.getLayers().addLayer(geoLayer);
LineStyle lineStyle = null;
lineStyle =LineStyle.builder().setWidth(0.14f).setColor(Color.RED).build();
//Label label = new DefaultLabel("Line", "Here is a line");
Line line = new Line(arr_lat_long1, null, lineStyle, null);
line.setVertexList(arr_lat_long1);
geoLayer.add(line);
lines.add(line);
}
и я добавляю маркеры таким же образом;
Bitmap pointMarker = UnscaledBitmapLoader.decodeResource(activity.getResources(), R.drawable.marker3);
MarkerStyle markerStyle = MarkerStyle.builder().setBitmap(pointMarker).setSize(0.5f).setColor(Color.WHITE).build();
Label markerLabel = new DefaultLabel("Here", "Blabla");
MapPos markerLocation = MainActivity.mapLayer.getProjection().fromWgs84(log, lat);
marker = new Marker(markerLocation, markerLabel, markerStyle, null);
markerLayer.add(marker);
MainActivity.mapView.getLayers().addLayer(markerLayer);
проблем нет для рисования. Когда я хочу удалить строки или маркеры, сначала удалил элемент, но когда я хочу свернуть карту, все элементы возвращаются и отображаются на карте. Я удаляю элементы итеративно. Мое удаление код здесь:
for(int i = 0; i <lines.size(); i++){
geoLayer.remove(lines.get(i));
geoLayer.clear();
}
, а также я попробовал это снова:
geoLayer.removeAll(lines);
Как я могу удалить все мои детали карты должным образом на Nutiteq ?? Есть ли способ очистить или удалить?
Пожалуйста, добавьте код, как вы создаете новые слои для меток и линий. Это может быть актуально. – JaakL
Я добавил вершину своей деятельности GeometryLayer geoLayer; и MarkerLayer markerLayer; и я создаю новый слой geoLayer = новый GeometryLayer (новый EPSG4326()); вы можете видеть в моей функции. И для маркера; markerLayer = новый MarkerLayer (mapLayer.getProjection()); @JaakL –