diff --git a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java index 4a20144..219ae3b 100644 --- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java @@ -60,11 +60,16 @@ QMUITopBarLayout gisTopLayout; @BindView(R.id.mapView) MapView mapView; + private FeatureLayer communityLayer, pointLayer, packageLayer; private Point clickPoint; private Gson gson; private String caseType; + private ListenableList overlayGraphics; + private ListenableList graphicsOverlays; + private GraphicsOverlay mGraphicsOverlay; + @Override public int initLayoutView() { return R.layout.activity_gis; @@ -126,6 +131,11 @@ break; } mapView.setMap(arcGISMap); + + //Marker相关Layer + mGraphicsOverlay = new GraphicsOverlay(); + overlayGraphics = mGraphicsOverlay.getGraphics(); + graphicsOverlays = mapView.getGraphicsOverlays(); } @SuppressLint("ClickableViewAccessibility") @@ -346,13 +356,11 @@ */ private void addMarker(Point clickPoint) { SimpleMarkerSymbol simpleMarkerSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.Style.CIRCLE, Color.RED, 15); - Graphic graphic = new Graphic(clickPoint, simpleMarkerSymbol); - GraphicsOverlay mGraphicsOverlay = new GraphicsOverlay(); - ListenableList overlayGraphics = mGraphicsOverlay.getGraphics(); - ListenableList graphicsOverlays = mapView.getGraphicsOverlays(); - if (overlayGraphics.size() != 0) { + if (overlayGraphics != null && graphicsOverlays != null) { overlayGraphics.clear(); + graphicsOverlays.clear(); } + Graphic graphic = new Graphic(clickPoint, simpleMarkerSymbol); overlayGraphics.add(graphic); graphicsOverlays.add(mGraphicsOverlay); }