我正在使用nutiteq地圖開發交通應用程序。有超過500條交通線路,很多交通標誌。我用這種方式畫了交通線。如何清除Nutiteq中的所有mapview項目?
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);
繪圖沒有問題。當我想要刪除線條或標記時,首先刪除項目,但是當我想要滑動地圖時,所有項目都會返回並顯示在mapview上。我正在迭代刪除項目。我刪除代碼是在這裏:
for(int i = 0; i <lines.size(); i++){
geoLayer.remove(lines.get(i));
geoLayer.clear();
}
而且我再次嘗試這樣的:
geoLayer.removeAll(lines);
我怎樣才能正確地刪除Nutiteq我的所有地圖項目?有什麼方法可以清除或刪除?
請添加代碼如何爲標記和線條創建新圖層。它可以是相關的。 – JaakL 2014-12-04 07:50:27
我添加了我的活動頂部GeometryLayer geoLayer;和MarkerLayer markerLayer; 和我創建新圖層geoLayer = new GeometryLayer(new EPSG4326());你可以看到我的功能。和標記; markerLayer = new MarkerLayer(mapLayer.getProjection()); @JaakL – 2014-12-04 07:53:21