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 c29bc54..4a20144 100644 --- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java @@ -87,17 +87,19 @@ caseType = getIntent().getStringExtra("type"); gson = new Gson(); mapView.setAttributionTextVisible(false);//去掉左下角属性标识 - mapView.setViewpointScaleAsync(3000);//数字越大,放大比例越小,缩放比例[36000,250] + mapView.setViewpointScaleAsync(1000);//数字越大,放大比例越小,缩放比例[36000,250] ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); - arcGISMap.setMinScale(36000); - arcGISMap.setMaxScale(250); //创建底图、并设置底图图层 ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); Basemap basemap = new Basemap(baseLayer); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); + //设置地图显示在中心位置 + Point point = new Point(Constant.DEFAULT_LNG, Constant.DEFAULT_LAT, mapView.getSpatialReference()); + mapView.setViewpointCenterAsync(point, 1000);//标注到指定经纬度并放大地图显示 + //网格和社区 (ID: 13) ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); 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 c29bc54..4a20144 100644 --- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java @@ -87,17 +87,19 @@ caseType = getIntent().getStringExtra("type"); gson = new Gson(); mapView.setAttributionTextVisible(false);//去掉左下角属性标识 - mapView.setViewpointScaleAsync(3000);//数字越大,放大比例越小,缩放比例[36000,250] + mapView.setViewpointScaleAsync(1000);//数字越大,放大比例越小,缩放比例[36000,250] ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); - arcGISMap.setMinScale(36000); - arcGISMap.setMaxScale(250); //创建底图、并设置底图图层 ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); Basemap basemap = new Basemap(baseLayer); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); + //设置地图显示在中心位置 + Point point = new Point(Constant.DEFAULT_LNG, Constant.DEFAULT_LAT, mapView.getSpatialReference()); + mapView.setViewpointCenterAsync(point, 1000);//标注到指定经纬度并放大地图显示 + //网格和社区 (ID: 13) ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); diff --git a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java index 0344417..811875b 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java @@ -1,9 +1,11 @@ package com.casic.dcms.ui; +import android.annotation.SuppressLint; import android.content.Context; import android.graphics.drawable.BitmapDrawable; import android.text.TextUtils; import android.util.Log; +import android.view.MotionEvent; import android.view.View; import android.widget.RadioButton; import android.widget.RadioGroup; @@ -24,18 +26,23 @@ import com.casic.dcms.utils.ColorHelper; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; +import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.layers.ArcGISTiledLayer; +import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; +import com.esri.arcgisruntime.mapping.view.DefaultMapViewOnTouchListener; import com.esri.arcgisruntime.mapping.view.Graphic; import com.esri.arcgisruntime.mapping.view.GraphicsOverlay; import com.esri.arcgisruntime.mapping.view.MapView; import com.esri.arcgisruntime.symbology.PictureMarkerSymbol; import com.esri.arcgisruntime.util.ListenableList; +import com.google.gson.Gson; import com.qmuiteam.qmui.widget.QMUITopBarLayout; +import java.util.Arrays; import java.util.List; import butterknife.BindView; @@ -61,7 +68,9 @@ private CaseHandleListPresenterImpl caseHandleListPresenter; private CaseVerifyPresenterImpl caseVerifyPresenter; private CaseCheckPresenterImpl caseCheckPresenter; - private BitmapDrawable caseDrawable = null; + private ListenableList overlayGraphics; + private ListenableList graphicsOverlays; + private GraphicsOverlay mGraphicsOverlay; @Override public int initLayoutView() { @@ -92,17 +101,43 @@ arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); + ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); + + ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); + + arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); + mapView.setMap(arcGISMap); + caseHandleListPresenter = new CaseHandleListPresenterImpl(this); caseVerifyPresenter = new CaseVerifyPresenterImpl(this); caseCheckPresenter = new CaseCheckPresenterImpl(this); //默认加载处置中数据 caseHandleListPresenter.onReadyRetrofitRequest(null, null, 1000, 1); + + //Marker相关Layer + mGraphicsOverlay = new GraphicsOverlay(); + overlayGraphics = mGraphicsOverlay.getGraphics(); + graphicsOverlays = mapView.getGraphicsOverlays(); } + @SuppressLint("ClickableViewAccessibility") @Override public void initEvent() { radioGroup.setOnCheckedChangeListener(this); + mapView.setOnTouchListener(new DefaultMapViewOnTouchListener(this, mapView) { + @Override + public boolean onSingleTapConfirmed(MotionEvent e) { + android.graphics.Point screenPoint = new android.graphics.Point(Math.round(e.getX()), Math.round(e.getY())); + Point clickPoint = mapView.screenToLocation(screenPoint); + + return true; + } + }); } @Override @@ -208,7 +243,7 @@ */ @Override public void obtainVerifyListResult(CaseVerifyBean resultBean) { -// Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); + Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); if (resultBean.isSuccess()) { List rowsBeans = resultBean.getData().getRows(); if (rowsBeans.size() >= 1) { @@ -229,6 +264,11 @@ } private void addPictureMarker(Point point, int caseStatus) { + if (overlayGraphics != null && graphicsOverlays != null) { + overlayGraphics.clear(); + graphicsOverlays.clear(); + } + BitmapDrawable caseDrawable; switch (caseStatus) { case Constant.CASE_HANDLE: caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_handle); @@ -240,6 +280,7 @@ caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_check); break; default: + caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_case); break; } PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); @@ -249,9 +290,6 @@ pictureMarker.loadAsync(); Graphic graphic = new Graphic(point, pictureMarker); - GraphicsOverlay mGraphicsOverlay = new GraphicsOverlay(); - ListenableList overlayGraphics = mGraphicsOverlay.getGraphics(); - ListenableList graphicsOverlays = mapView.getGraphicsOverlays(); overlayGraphics.add(graphic); graphicsOverlays.add(mGraphicsOverlay); } 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 c29bc54..4a20144 100644 --- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java @@ -87,17 +87,19 @@ caseType = getIntent().getStringExtra("type"); gson = new Gson(); mapView.setAttributionTextVisible(false);//去掉左下角属性标识 - mapView.setViewpointScaleAsync(3000);//数字越大,放大比例越小,缩放比例[36000,250] + mapView.setViewpointScaleAsync(1000);//数字越大,放大比例越小,缩放比例[36000,250] ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); - arcGISMap.setMinScale(36000); - arcGISMap.setMaxScale(250); //创建底图、并设置底图图层 ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); Basemap basemap = new Basemap(baseLayer); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); + //设置地图显示在中心位置 + Point point = new Point(Constant.DEFAULT_LNG, Constant.DEFAULT_LAT, mapView.getSpatialReference()); + mapView.setViewpointCenterAsync(point, 1000);//标注到指定经纬度并放大地图显示 + //网格和社区 (ID: 13) ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); diff --git a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java index 0344417..811875b 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java @@ -1,9 +1,11 @@ package com.casic.dcms.ui; +import android.annotation.SuppressLint; import android.content.Context; import android.graphics.drawable.BitmapDrawable; import android.text.TextUtils; import android.util.Log; +import android.view.MotionEvent; import android.view.View; import android.widget.RadioButton; import android.widget.RadioGroup; @@ -24,18 +26,23 @@ import com.casic.dcms.utils.ColorHelper; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; +import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.layers.ArcGISTiledLayer; +import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; +import com.esri.arcgisruntime.mapping.view.DefaultMapViewOnTouchListener; import com.esri.arcgisruntime.mapping.view.Graphic; import com.esri.arcgisruntime.mapping.view.GraphicsOverlay; import com.esri.arcgisruntime.mapping.view.MapView; import com.esri.arcgisruntime.symbology.PictureMarkerSymbol; import com.esri.arcgisruntime.util.ListenableList; +import com.google.gson.Gson; import com.qmuiteam.qmui.widget.QMUITopBarLayout; +import java.util.Arrays; import java.util.List; import butterknife.BindView; @@ -61,7 +68,9 @@ private CaseHandleListPresenterImpl caseHandleListPresenter; private CaseVerifyPresenterImpl caseVerifyPresenter; private CaseCheckPresenterImpl caseCheckPresenter; - private BitmapDrawable caseDrawable = null; + private ListenableList overlayGraphics; + private ListenableList graphicsOverlays; + private GraphicsOverlay mGraphicsOverlay; @Override public int initLayoutView() { @@ -92,17 +101,43 @@ arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); + ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); + + ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); + + arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); + mapView.setMap(arcGISMap); + caseHandleListPresenter = new CaseHandleListPresenterImpl(this); caseVerifyPresenter = new CaseVerifyPresenterImpl(this); caseCheckPresenter = new CaseCheckPresenterImpl(this); //默认加载处置中数据 caseHandleListPresenter.onReadyRetrofitRequest(null, null, 1000, 1); + + //Marker相关Layer + mGraphicsOverlay = new GraphicsOverlay(); + overlayGraphics = mGraphicsOverlay.getGraphics(); + graphicsOverlays = mapView.getGraphicsOverlays(); } + @SuppressLint("ClickableViewAccessibility") @Override public void initEvent() { radioGroup.setOnCheckedChangeListener(this); + mapView.setOnTouchListener(new DefaultMapViewOnTouchListener(this, mapView) { + @Override + public boolean onSingleTapConfirmed(MotionEvent e) { + android.graphics.Point screenPoint = new android.graphics.Point(Math.round(e.getX()), Math.round(e.getY())); + Point clickPoint = mapView.screenToLocation(screenPoint); + + return true; + } + }); } @Override @@ -208,7 +243,7 @@ */ @Override public void obtainVerifyListResult(CaseVerifyBean resultBean) { -// Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); + Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); if (resultBean.isSuccess()) { List rowsBeans = resultBean.getData().getRows(); if (rowsBeans.size() >= 1) { @@ -229,6 +264,11 @@ } private void addPictureMarker(Point point, int caseStatus) { + if (overlayGraphics != null && graphicsOverlays != null) { + overlayGraphics.clear(); + graphicsOverlays.clear(); + } + BitmapDrawable caseDrawable; switch (caseStatus) { case Constant.CASE_HANDLE: caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_handle); @@ -240,6 +280,7 @@ caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_check); break; default: + caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_case); break; } PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); @@ -249,9 +290,6 @@ pictureMarker.loadAsync(); Graphic graphic = new Graphic(point, pictureMarker); - GraphicsOverlay mGraphicsOverlay = new GraphicsOverlay(); - ListenableList overlayGraphics = mGraphicsOverlay.getGraphics(); - ListenableList graphicsOverlays = mapView.getGraphicsOverlays(); overlayGraphics.add(graphic); graphicsOverlays.add(mGraphicsOverlay); } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java index f02c712..c696986 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java @@ -53,7 +53,7 @@ @BindView(R.id.casePicRecyclerView) RecyclerView casePicRecyclerView; @BindView(R.id.caseHandleResultView) - EditText caseHandleResultView; + TextView caseHandleResultView; @BindView(R.id.caseCommonSentenceView) TextView caseCommonSentenceView; @@ -151,7 +151,7 @@ this.data = resultBean.getData().get(0); caseNumberView.setText(data.getCaseid()); caseOverTimeView.setText(data.getNodeLimittime()); - caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "无处理意见" : data.getCaseStateName()); + caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "案卷状态未知" : data.getCaseStateName()); casePlaceView.setText(data.getFieldintro()); caseDescriptionView.setText(data.getDescription()); @@ -197,6 +197,7 @@ CommonSentenceBean.DataBean dataBean = dataBeans.get(position); caseCommonSentenceView.setText(dataBean.getName()); + caseHandleResultView.setText(dataBean.getName()); } }).build().show(); } else { 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 c29bc54..4a20144 100644 --- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java @@ -87,17 +87,19 @@ caseType = getIntent().getStringExtra("type"); gson = new Gson(); mapView.setAttributionTextVisible(false);//去掉左下角属性标识 - mapView.setViewpointScaleAsync(3000);//数字越大,放大比例越小,缩放比例[36000,250] + mapView.setViewpointScaleAsync(1000);//数字越大,放大比例越小,缩放比例[36000,250] ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); - arcGISMap.setMinScale(36000); - arcGISMap.setMaxScale(250); //创建底图、并设置底图图层 ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); Basemap basemap = new Basemap(baseLayer); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); + //设置地图显示在中心位置 + Point point = new Point(Constant.DEFAULT_LNG, Constant.DEFAULT_LAT, mapView.getSpatialReference()); + mapView.setViewpointCenterAsync(point, 1000);//标注到指定经纬度并放大地图显示 + //网格和社区 (ID: 13) ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); diff --git a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java index 0344417..811875b 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java @@ -1,9 +1,11 @@ package com.casic.dcms.ui; +import android.annotation.SuppressLint; import android.content.Context; import android.graphics.drawable.BitmapDrawable; import android.text.TextUtils; import android.util.Log; +import android.view.MotionEvent; import android.view.View; import android.widget.RadioButton; import android.widget.RadioGroup; @@ -24,18 +26,23 @@ import com.casic.dcms.utils.ColorHelper; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; +import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.layers.ArcGISTiledLayer; +import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; +import com.esri.arcgisruntime.mapping.view.DefaultMapViewOnTouchListener; import com.esri.arcgisruntime.mapping.view.Graphic; import com.esri.arcgisruntime.mapping.view.GraphicsOverlay; import com.esri.arcgisruntime.mapping.view.MapView; import com.esri.arcgisruntime.symbology.PictureMarkerSymbol; import com.esri.arcgisruntime.util.ListenableList; +import com.google.gson.Gson; import com.qmuiteam.qmui.widget.QMUITopBarLayout; +import java.util.Arrays; import java.util.List; import butterknife.BindView; @@ -61,7 +68,9 @@ private CaseHandleListPresenterImpl caseHandleListPresenter; private CaseVerifyPresenterImpl caseVerifyPresenter; private CaseCheckPresenterImpl caseCheckPresenter; - private BitmapDrawable caseDrawable = null; + private ListenableList overlayGraphics; + private ListenableList graphicsOverlays; + private GraphicsOverlay mGraphicsOverlay; @Override public int initLayoutView() { @@ -92,17 +101,43 @@ arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); + ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); + + ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); + + arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); + mapView.setMap(arcGISMap); + caseHandleListPresenter = new CaseHandleListPresenterImpl(this); caseVerifyPresenter = new CaseVerifyPresenterImpl(this); caseCheckPresenter = new CaseCheckPresenterImpl(this); //默认加载处置中数据 caseHandleListPresenter.onReadyRetrofitRequest(null, null, 1000, 1); + + //Marker相关Layer + mGraphicsOverlay = new GraphicsOverlay(); + overlayGraphics = mGraphicsOverlay.getGraphics(); + graphicsOverlays = mapView.getGraphicsOverlays(); } + @SuppressLint("ClickableViewAccessibility") @Override public void initEvent() { radioGroup.setOnCheckedChangeListener(this); + mapView.setOnTouchListener(new DefaultMapViewOnTouchListener(this, mapView) { + @Override + public boolean onSingleTapConfirmed(MotionEvent e) { + android.graphics.Point screenPoint = new android.graphics.Point(Math.round(e.getX()), Math.round(e.getY())); + Point clickPoint = mapView.screenToLocation(screenPoint); + + return true; + } + }); } @Override @@ -208,7 +243,7 @@ */ @Override public void obtainVerifyListResult(CaseVerifyBean resultBean) { -// Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); + Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); if (resultBean.isSuccess()) { List rowsBeans = resultBean.getData().getRows(); if (rowsBeans.size() >= 1) { @@ -229,6 +264,11 @@ } private void addPictureMarker(Point point, int caseStatus) { + if (overlayGraphics != null && graphicsOverlays != null) { + overlayGraphics.clear(); + graphicsOverlays.clear(); + } + BitmapDrawable caseDrawable; switch (caseStatus) { case Constant.CASE_HANDLE: caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_handle); @@ -240,6 +280,7 @@ caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_check); break; default: + caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_case); break; } PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); @@ -249,9 +290,6 @@ pictureMarker.loadAsync(); Graphic graphic = new Graphic(point, pictureMarker); - GraphicsOverlay mGraphicsOverlay = new GraphicsOverlay(); - ListenableList overlayGraphics = mGraphicsOverlay.getGraphics(); - ListenableList graphicsOverlays = mapView.getGraphicsOverlays(); overlayGraphics.add(graphic); graphicsOverlays.add(mGraphicsOverlay); } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java index f02c712..c696986 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java @@ -53,7 +53,7 @@ @BindView(R.id.casePicRecyclerView) RecyclerView casePicRecyclerView; @BindView(R.id.caseHandleResultView) - EditText caseHandleResultView; + TextView caseHandleResultView; @BindView(R.id.caseCommonSentenceView) TextView caseCommonSentenceView; @@ -151,7 +151,7 @@ this.data = resultBean.getData().get(0); caseNumberView.setText(data.getCaseid()); caseOverTimeView.setText(data.getNodeLimittime()); - caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "无处理意见" : data.getCaseStateName()); + caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "案卷状态未知" : data.getCaseStateName()); casePlaceView.setText(data.getFieldintro()); caseDescriptionView.setText(data.getDescription()); @@ -197,6 +197,7 @@ CommonSentenceBean.DataBean dataBean = dataBeans.get(position); caseCommonSentenceView.setText(dataBean.getName()); + caseHandleResultView.setText(dataBean.getName()); } }).build().show(); } else { diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java index 7c2bd0e..6a6320a 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java @@ -374,6 +374,7 @@ startActivityForResult(intent, Constant.REQUEST_MAP_CODE); } else { Intent intent = new Intent(this, DisplayMapActivity.class); + intent.putExtra("caseType", data.getEorcName()); String dataLng = data.getLng(); if (TextUtils.isEmpty(dataLng)) { ToastHelper.showToast("案卷经度异常", ToastHelper.ERROR); 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 c29bc54..4a20144 100644 --- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java @@ -87,17 +87,19 @@ caseType = getIntent().getStringExtra("type"); gson = new Gson(); mapView.setAttributionTextVisible(false);//去掉左下角属性标识 - mapView.setViewpointScaleAsync(3000);//数字越大,放大比例越小,缩放比例[36000,250] + mapView.setViewpointScaleAsync(1000);//数字越大,放大比例越小,缩放比例[36000,250] ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); - arcGISMap.setMinScale(36000); - arcGISMap.setMaxScale(250); //创建底图、并设置底图图层 ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); Basemap basemap = new Basemap(baseLayer); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); + //设置地图显示在中心位置 + Point point = new Point(Constant.DEFAULT_LNG, Constant.DEFAULT_LAT, mapView.getSpatialReference()); + mapView.setViewpointCenterAsync(point, 1000);//标注到指定经纬度并放大地图显示 + //网格和社区 (ID: 13) ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); diff --git a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java index 0344417..811875b 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java @@ -1,9 +1,11 @@ package com.casic.dcms.ui; +import android.annotation.SuppressLint; import android.content.Context; import android.graphics.drawable.BitmapDrawable; import android.text.TextUtils; import android.util.Log; +import android.view.MotionEvent; import android.view.View; import android.widget.RadioButton; import android.widget.RadioGroup; @@ -24,18 +26,23 @@ import com.casic.dcms.utils.ColorHelper; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; +import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.layers.ArcGISTiledLayer; +import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; +import com.esri.arcgisruntime.mapping.view.DefaultMapViewOnTouchListener; import com.esri.arcgisruntime.mapping.view.Graphic; import com.esri.arcgisruntime.mapping.view.GraphicsOverlay; import com.esri.arcgisruntime.mapping.view.MapView; import com.esri.arcgisruntime.symbology.PictureMarkerSymbol; import com.esri.arcgisruntime.util.ListenableList; +import com.google.gson.Gson; import com.qmuiteam.qmui.widget.QMUITopBarLayout; +import java.util.Arrays; import java.util.List; import butterknife.BindView; @@ -61,7 +68,9 @@ private CaseHandleListPresenterImpl caseHandleListPresenter; private CaseVerifyPresenterImpl caseVerifyPresenter; private CaseCheckPresenterImpl caseCheckPresenter; - private BitmapDrawable caseDrawable = null; + private ListenableList overlayGraphics; + private ListenableList graphicsOverlays; + private GraphicsOverlay mGraphicsOverlay; @Override public int initLayoutView() { @@ -92,17 +101,43 @@ arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); + ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); + + ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); + + arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); + mapView.setMap(arcGISMap); + caseHandleListPresenter = new CaseHandleListPresenterImpl(this); caseVerifyPresenter = new CaseVerifyPresenterImpl(this); caseCheckPresenter = new CaseCheckPresenterImpl(this); //默认加载处置中数据 caseHandleListPresenter.onReadyRetrofitRequest(null, null, 1000, 1); + + //Marker相关Layer + mGraphicsOverlay = new GraphicsOverlay(); + overlayGraphics = mGraphicsOverlay.getGraphics(); + graphicsOverlays = mapView.getGraphicsOverlays(); } + @SuppressLint("ClickableViewAccessibility") @Override public void initEvent() { radioGroup.setOnCheckedChangeListener(this); + mapView.setOnTouchListener(new DefaultMapViewOnTouchListener(this, mapView) { + @Override + public boolean onSingleTapConfirmed(MotionEvent e) { + android.graphics.Point screenPoint = new android.graphics.Point(Math.round(e.getX()), Math.round(e.getY())); + Point clickPoint = mapView.screenToLocation(screenPoint); + + return true; + } + }); } @Override @@ -208,7 +243,7 @@ */ @Override public void obtainVerifyListResult(CaseVerifyBean resultBean) { -// Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); + Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); if (resultBean.isSuccess()) { List rowsBeans = resultBean.getData().getRows(); if (rowsBeans.size() >= 1) { @@ -229,6 +264,11 @@ } private void addPictureMarker(Point point, int caseStatus) { + if (overlayGraphics != null && graphicsOverlays != null) { + overlayGraphics.clear(); + graphicsOverlays.clear(); + } + BitmapDrawable caseDrawable; switch (caseStatus) { case Constant.CASE_HANDLE: caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_handle); @@ -240,6 +280,7 @@ caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_check); break; default: + caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_case); break; } PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); @@ -249,9 +290,6 @@ pictureMarker.loadAsync(); Graphic graphic = new Graphic(point, pictureMarker); - GraphicsOverlay mGraphicsOverlay = new GraphicsOverlay(); - ListenableList overlayGraphics = mGraphicsOverlay.getGraphics(); - ListenableList graphicsOverlays = mapView.getGraphicsOverlays(); overlayGraphics.add(graphic); graphicsOverlays.add(mGraphicsOverlay); } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java index f02c712..c696986 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java @@ -53,7 +53,7 @@ @BindView(R.id.casePicRecyclerView) RecyclerView casePicRecyclerView; @BindView(R.id.caseHandleResultView) - EditText caseHandleResultView; + TextView caseHandleResultView; @BindView(R.id.caseCommonSentenceView) TextView caseCommonSentenceView; @@ -151,7 +151,7 @@ this.data = resultBean.getData().get(0); caseNumberView.setText(data.getCaseid()); caseOverTimeView.setText(data.getNodeLimittime()); - caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "无处理意见" : data.getCaseStateName()); + caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "案卷状态未知" : data.getCaseStateName()); casePlaceView.setText(data.getFieldintro()); caseDescriptionView.setText(data.getDescription()); @@ -197,6 +197,7 @@ CommonSentenceBean.DataBean dataBean = dataBeans.get(position); caseCommonSentenceView.setText(dataBean.getName()); + caseHandleResultView.setText(dataBean.getName()); } }).build().show(); } else { diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java index 7c2bd0e..6a6320a 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java @@ -374,6 +374,7 @@ startActivityForResult(intent, Constant.REQUEST_MAP_CODE); } else { Intent intent = new Intent(this, DisplayMapActivity.class); + intent.putExtra("caseType", data.getEorcName()); String dataLng = data.getLng(); if (TextUtils.isEmpty(dataLng)) { ToastHelper.showToast("案卷经度异常", ToastHelper.ERROR); diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java index d258c0b..f612abf 100644 --- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java @@ -96,7 +96,7 @@ * [116.598359, 28.247870, 0.000000, NaN] SR: 4326 */ Point point = new Point(lng, lat, mapView.getSpatialReference()); - mapView.setViewpointCenterAsync(point, 2500);//标注到指定经纬度并放大地图显示 + mapView.setViewpointCenterAsync(point, 1000);//标注到指定经纬度并放大地图显示 //添加普通小圆点Marker // addSimpleMarker(point); @@ -116,7 +116,7 @@ } private void addPictureMarker(Point point) { - BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_handle); + BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_case); PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); pictureMarker.setHeight(24); pictureMarker.setWidth(24); 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 c29bc54..4a20144 100644 --- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java @@ -87,17 +87,19 @@ caseType = getIntent().getStringExtra("type"); gson = new Gson(); mapView.setAttributionTextVisible(false);//去掉左下角属性标识 - mapView.setViewpointScaleAsync(3000);//数字越大,放大比例越小,缩放比例[36000,250] + mapView.setViewpointScaleAsync(1000);//数字越大,放大比例越小,缩放比例[36000,250] ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); - arcGISMap.setMinScale(36000); - arcGISMap.setMaxScale(250); //创建底图、并设置底图图层 ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); Basemap basemap = new Basemap(baseLayer); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); + //设置地图显示在中心位置 + Point point = new Point(Constant.DEFAULT_LNG, Constant.DEFAULT_LAT, mapView.getSpatialReference()); + mapView.setViewpointCenterAsync(point, 1000);//标注到指定经纬度并放大地图显示 + //网格和社区 (ID: 13) ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); diff --git a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java index 0344417..811875b 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java @@ -1,9 +1,11 @@ package com.casic.dcms.ui; +import android.annotation.SuppressLint; import android.content.Context; import android.graphics.drawable.BitmapDrawable; import android.text.TextUtils; import android.util.Log; +import android.view.MotionEvent; import android.view.View; import android.widget.RadioButton; import android.widget.RadioGroup; @@ -24,18 +26,23 @@ import com.casic.dcms.utils.ColorHelper; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; +import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.layers.ArcGISTiledLayer; +import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; +import com.esri.arcgisruntime.mapping.view.DefaultMapViewOnTouchListener; import com.esri.arcgisruntime.mapping.view.Graphic; import com.esri.arcgisruntime.mapping.view.GraphicsOverlay; import com.esri.arcgisruntime.mapping.view.MapView; import com.esri.arcgisruntime.symbology.PictureMarkerSymbol; import com.esri.arcgisruntime.util.ListenableList; +import com.google.gson.Gson; import com.qmuiteam.qmui.widget.QMUITopBarLayout; +import java.util.Arrays; import java.util.List; import butterknife.BindView; @@ -61,7 +68,9 @@ private CaseHandleListPresenterImpl caseHandleListPresenter; private CaseVerifyPresenterImpl caseVerifyPresenter; private CaseCheckPresenterImpl caseCheckPresenter; - private BitmapDrawable caseDrawable = null; + private ListenableList overlayGraphics; + private ListenableList graphicsOverlays; + private GraphicsOverlay mGraphicsOverlay; @Override public int initLayoutView() { @@ -92,17 +101,43 @@ arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); + ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); + + ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); + + arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); + mapView.setMap(arcGISMap); + caseHandleListPresenter = new CaseHandleListPresenterImpl(this); caseVerifyPresenter = new CaseVerifyPresenterImpl(this); caseCheckPresenter = new CaseCheckPresenterImpl(this); //默认加载处置中数据 caseHandleListPresenter.onReadyRetrofitRequest(null, null, 1000, 1); + + //Marker相关Layer + mGraphicsOverlay = new GraphicsOverlay(); + overlayGraphics = mGraphicsOverlay.getGraphics(); + graphicsOverlays = mapView.getGraphicsOverlays(); } + @SuppressLint("ClickableViewAccessibility") @Override public void initEvent() { radioGroup.setOnCheckedChangeListener(this); + mapView.setOnTouchListener(new DefaultMapViewOnTouchListener(this, mapView) { + @Override + public boolean onSingleTapConfirmed(MotionEvent e) { + android.graphics.Point screenPoint = new android.graphics.Point(Math.round(e.getX()), Math.round(e.getY())); + Point clickPoint = mapView.screenToLocation(screenPoint); + + return true; + } + }); } @Override @@ -208,7 +243,7 @@ */ @Override public void obtainVerifyListResult(CaseVerifyBean resultBean) { -// Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); + Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); if (resultBean.isSuccess()) { List rowsBeans = resultBean.getData().getRows(); if (rowsBeans.size() >= 1) { @@ -229,6 +264,11 @@ } private void addPictureMarker(Point point, int caseStatus) { + if (overlayGraphics != null && graphicsOverlays != null) { + overlayGraphics.clear(); + graphicsOverlays.clear(); + } + BitmapDrawable caseDrawable; switch (caseStatus) { case Constant.CASE_HANDLE: caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_handle); @@ -240,6 +280,7 @@ caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_check); break; default: + caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_case); break; } PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); @@ -249,9 +290,6 @@ pictureMarker.loadAsync(); Graphic graphic = new Graphic(point, pictureMarker); - GraphicsOverlay mGraphicsOverlay = new GraphicsOverlay(); - ListenableList overlayGraphics = mGraphicsOverlay.getGraphics(); - ListenableList graphicsOverlays = mapView.getGraphicsOverlays(); overlayGraphics.add(graphic); graphicsOverlays.add(mGraphicsOverlay); } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java index f02c712..c696986 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java @@ -53,7 +53,7 @@ @BindView(R.id.casePicRecyclerView) RecyclerView casePicRecyclerView; @BindView(R.id.caseHandleResultView) - EditText caseHandleResultView; + TextView caseHandleResultView; @BindView(R.id.caseCommonSentenceView) TextView caseCommonSentenceView; @@ -151,7 +151,7 @@ this.data = resultBean.getData().get(0); caseNumberView.setText(data.getCaseid()); caseOverTimeView.setText(data.getNodeLimittime()); - caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "无处理意见" : data.getCaseStateName()); + caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "案卷状态未知" : data.getCaseStateName()); casePlaceView.setText(data.getFieldintro()); caseDescriptionView.setText(data.getDescription()); @@ -197,6 +197,7 @@ CommonSentenceBean.DataBean dataBean = dataBeans.get(position); caseCommonSentenceView.setText(dataBean.getName()); + caseHandleResultView.setText(dataBean.getName()); } }).build().show(); } else { diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java index 7c2bd0e..6a6320a 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java @@ -374,6 +374,7 @@ startActivityForResult(intent, Constant.REQUEST_MAP_CODE); } else { Intent intent = new Intent(this, DisplayMapActivity.class); + intent.putExtra("caseType", data.getEorcName()); String dataLng = data.getLng(); if (TextUtils.isEmpty(dataLng)) { ToastHelper.showToast("案卷经度异常", ToastHelper.ERROR); diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java index d258c0b..f612abf 100644 --- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java @@ -96,7 +96,7 @@ * [116.598359, 28.247870, 0.000000, NaN] SR: 4326 */ Point point = new Point(lng, lat, mapView.getSpatialReference()); - mapView.setViewpointCenterAsync(point, 2500);//标注到指定经纬度并放大地图显示 + mapView.setViewpointCenterAsync(point, 1000);//标注到指定经纬度并放大地图显示 //添加普通小圆点Marker // addSimpleMarker(point); @@ -116,7 +116,7 @@ } private void addPictureMarker(Point point) { - BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_handle); + BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_case); PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); pictureMarker.setHeight(24); pictureMarker.setWidth(24); diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java index abb4436..26d9b6f 100644 --- a/app/src/main/java/com/casic/dcms/utils/Constant.java +++ b/app/src/main/java/com/casic/dcms/utils/Constant.java @@ -15,18 +15,6 @@ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CALL_PHONE, Manifest.permission.READ_PHONE_STATE}; - public static final List ALL_ICONS = Arrays.asList( - R.mipmap.ajsb, R.mipmap.kssb, R.mipmap.sbsb, - R.mipmap.ajhs, R.mipmap.ajhc, R.mipmap.ajcl, - R.mipmap.jjyj, R.mipmap.csdb, R.mipmap.tjfx, - R.mipmap.zgry, R.mipmap.ajcx, R.mipmap.dtck); - - public static final List ALL_ITEMS = Arrays.asList( - "案卷上报", "快速上报", "三包上报", - "案卷核实", "案卷核查", "案卷处理", - "紧急要件", "超时督办", "统计分析", - "在岗人员", "案卷查询", "案卷分布"); - public static final List ANALYSIS_ICONS = Arrays.asList( R.drawable.ic_wtly, R.drawable.ic_ajzt, R.drawable.ic_gfwt, R.drawable.ic_jdtj, R.drawable.ic_cltj, R.drawable.ic_qsfx); @@ -55,6 +43,9 @@ public static final int CASE_VERIFY = 1; public static final int CASE_CHECK = 2; + public static final double DEFAULT_LNG = 116.06639658728571; + public static final double DEFAULT_LAT = 27.759547805536418; + public static final String IP_KEY = "BASE_IP"; public static final String LOGIN_OUT_ACTION = "loginOut"; public static final String NOTICE_MSG = "receivePush"; 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 c29bc54..4a20144 100644 --- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java @@ -87,17 +87,19 @@ caseType = getIntent().getStringExtra("type"); gson = new Gson(); mapView.setAttributionTextVisible(false);//去掉左下角属性标识 - mapView.setViewpointScaleAsync(3000);//数字越大,放大比例越小,缩放比例[36000,250] + mapView.setViewpointScaleAsync(1000);//数字越大,放大比例越小,缩放比例[36000,250] ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); - arcGISMap.setMinScale(36000); - arcGISMap.setMaxScale(250); //创建底图、并设置底图图层 ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); Basemap basemap = new Basemap(baseLayer); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); + //设置地图显示在中心位置 + Point point = new Point(Constant.DEFAULT_LNG, Constant.DEFAULT_LAT, mapView.getSpatialReference()); + mapView.setViewpointCenterAsync(point, 1000);//标注到指定经纬度并放大地图显示 + //网格和社区 (ID: 13) ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); diff --git a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java index 0344417..811875b 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java @@ -1,9 +1,11 @@ package com.casic.dcms.ui; +import android.annotation.SuppressLint; import android.content.Context; import android.graphics.drawable.BitmapDrawable; import android.text.TextUtils; import android.util.Log; +import android.view.MotionEvent; import android.view.View; import android.widget.RadioButton; import android.widget.RadioGroup; @@ -24,18 +26,23 @@ import com.casic.dcms.utils.ColorHelper; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; +import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.layers.ArcGISTiledLayer; +import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; +import com.esri.arcgisruntime.mapping.view.DefaultMapViewOnTouchListener; import com.esri.arcgisruntime.mapping.view.Graphic; import com.esri.arcgisruntime.mapping.view.GraphicsOverlay; import com.esri.arcgisruntime.mapping.view.MapView; import com.esri.arcgisruntime.symbology.PictureMarkerSymbol; import com.esri.arcgisruntime.util.ListenableList; +import com.google.gson.Gson; import com.qmuiteam.qmui.widget.QMUITopBarLayout; +import java.util.Arrays; import java.util.List; import butterknife.BindView; @@ -61,7 +68,9 @@ private CaseHandleListPresenterImpl caseHandleListPresenter; private CaseVerifyPresenterImpl caseVerifyPresenter; private CaseCheckPresenterImpl caseCheckPresenter; - private BitmapDrawable caseDrawable = null; + private ListenableList overlayGraphics; + private ListenableList graphicsOverlays; + private GraphicsOverlay mGraphicsOverlay; @Override public int initLayoutView() { @@ -92,17 +101,43 @@ arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); + ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); + + ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); + + arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); + mapView.setMap(arcGISMap); + caseHandleListPresenter = new CaseHandleListPresenterImpl(this); caseVerifyPresenter = new CaseVerifyPresenterImpl(this); caseCheckPresenter = new CaseCheckPresenterImpl(this); //默认加载处置中数据 caseHandleListPresenter.onReadyRetrofitRequest(null, null, 1000, 1); + + //Marker相关Layer + mGraphicsOverlay = new GraphicsOverlay(); + overlayGraphics = mGraphicsOverlay.getGraphics(); + graphicsOverlays = mapView.getGraphicsOverlays(); } + @SuppressLint("ClickableViewAccessibility") @Override public void initEvent() { radioGroup.setOnCheckedChangeListener(this); + mapView.setOnTouchListener(new DefaultMapViewOnTouchListener(this, mapView) { + @Override + public boolean onSingleTapConfirmed(MotionEvent e) { + android.graphics.Point screenPoint = new android.graphics.Point(Math.round(e.getX()), Math.round(e.getY())); + Point clickPoint = mapView.screenToLocation(screenPoint); + + return true; + } + }); } @Override @@ -208,7 +243,7 @@ */ @Override public void obtainVerifyListResult(CaseVerifyBean resultBean) { -// Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); + Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); if (resultBean.isSuccess()) { List rowsBeans = resultBean.getData().getRows(); if (rowsBeans.size() >= 1) { @@ -229,6 +264,11 @@ } private void addPictureMarker(Point point, int caseStatus) { + if (overlayGraphics != null && graphicsOverlays != null) { + overlayGraphics.clear(); + graphicsOverlays.clear(); + } + BitmapDrawable caseDrawable; switch (caseStatus) { case Constant.CASE_HANDLE: caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_handle); @@ -240,6 +280,7 @@ caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_check); break; default: + caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_case); break; } PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); @@ -249,9 +290,6 @@ pictureMarker.loadAsync(); Graphic graphic = new Graphic(point, pictureMarker); - GraphicsOverlay mGraphicsOverlay = new GraphicsOverlay(); - ListenableList overlayGraphics = mGraphicsOverlay.getGraphics(); - ListenableList graphicsOverlays = mapView.getGraphicsOverlays(); overlayGraphics.add(graphic); graphicsOverlays.add(mGraphicsOverlay); } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java index f02c712..c696986 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java @@ -53,7 +53,7 @@ @BindView(R.id.casePicRecyclerView) RecyclerView casePicRecyclerView; @BindView(R.id.caseHandleResultView) - EditText caseHandleResultView; + TextView caseHandleResultView; @BindView(R.id.caseCommonSentenceView) TextView caseCommonSentenceView; @@ -151,7 +151,7 @@ this.data = resultBean.getData().get(0); caseNumberView.setText(data.getCaseid()); caseOverTimeView.setText(data.getNodeLimittime()); - caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "无处理意见" : data.getCaseStateName()); + caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "案卷状态未知" : data.getCaseStateName()); casePlaceView.setText(data.getFieldintro()); caseDescriptionView.setText(data.getDescription()); @@ -197,6 +197,7 @@ CommonSentenceBean.DataBean dataBean = dataBeans.get(position); caseCommonSentenceView.setText(dataBean.getName()); + caseHandleResultView.setText(dataBean.getName()); } }).build().show(); } else { diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java index 7c2bd0e..6a6320a 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java @@ -374,6 +374,7 @@ startActivityForResult(intent, Constant.REQUEST_MAP_CODE); } else { Intent intent = new Intent(this, DisplayMapActivity.class); + intent.putExtra("caseType", data.getEorcName()); String dataLng = data.getLng(); if (TextUtils.isEmpty(dataLng)) { ToastHelper.showToast("案卷经度异常", ToastHelper.ERROR); diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java index d258c0b..f612abf 100644 --- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java @@ -96,7 +96,7 @@ * [116.598359, 28.247870, 0.000000, NaN] SR: 4326 */ Point point = new Point(lng, lat, mapView.getSpatialReference()); - mapView.setViewpointCenterAsync(point, 2500);//标注到指定经纬度并放大地图显示 + mapView.setViewpointCenterAsync(point, 1000);//标注到指定经纬度并放大地图显示 //添加普通小圆点Marker // addSimpleMarker(point); @@ -116,7 +116,7 @@ } private void addPictureMarker(Point point) { - BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_handle); + BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_case); PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); pictureMarker.setHeight(24); pictureMarker.setWidth(24); diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java index abb4436..26d9b6f 100644 --- a/app/src/main/java/com/casic/dcms/utils/Constant.java +++ b/app/src/main/java/com/casic/dcms/utils/Constant.java @@ -15,18 +15,6 @@ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CALL_PHONE, Manifest.permission.READ_PHONE_STATE}; - public static final List ALL_ICONS = Arrays.asList( - R.mipmap.ajsb, R.mipmap.kssb, R.mipmap.sbsb, - R.mipmap.ajhs, R.mipmap.ajhc, R.mipmap.ajcl, - R.mipmap.jjyj, R.mipmap.csdb, R.mipmap.tjfx, - R.mipmap.zgry, R.mipmap.ajcx, R.mipmap.dtck); - - public static final List ALL_ITEMS = Arrays.asList( - "案卷上报", "快速上报", "三包上报", - "案卷核实", "案卷核查", "案卷处理", - "紧急要件", "超时督办", "统计分析", - "在岗人员", "案卷查询", "案卷分布"); - public static final List ANALYSIS_ICONS = Arrays.asList( R.drawable.ic_wtly, R.drawable.ic_ajzt, R.drawable.ic_gfwt, R.drawable.ic_jdtj, R.drawable.ic_cltj, R.drawable.ic_qsfx); @@ -55,6 +43,9 @@ public static final int CASE_VERIFY = 1; public static final int CASE_CHECK = 2; + public static final double DEFAULT_LNG = 116.06639658728571; + public static final double DEFAULT_LAT = 27.759547805536418; + public static final String IP_KEY = "BASE_IP"; public static final String LOGIN_OUT_ACTION = "loginOut"; public static final String NOTICE_MSG = "receivePush"; diff --git a/app/src/main/res/layout/activity_case_handle_detail.xml b/app/src/main/res/layout/activity_case_handle_detail.xml index f033833..4b92553 100644 --- a/app/src/main/res/layout/activity_case_handle_detail.xml +++ b/app/src/main/res/layout/activity_case_handle_detail.xml @@ -26,7 +26,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" - android:drawableEnd="@mipmap/point" android:text="案卷图片" android:textSize="@dimen/textFontSize" /> @@ -34,6 +33,7 @@ android:id="@+id/casePicRecyclerView" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginStart="25dp" android:layout_toEndOf="@id/t" /> @@ -44,8 +44,6 @@ @@ -66,7 +64,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" - android:drawableEnd="@mipmap/point" android:text="完成时限" android:textSize="@dimen/textFontSize" /> 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 c29bc54..4a20144 100644 --- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java @@ -87,17 +87,19 @@ caseType = getIntent().getStringExtra("type"); gson = new Gson(); mapView.setAttributionTextVisible(false);//去掉左下角属性标识 - mapView.setViewpointScaleAsync(3000);//数字越大,放大比例越小,缩放比例[36000,250] + mapView.setViewpointScaleAsync(1000);//数字越大,放大比例越小,缩放比例[36000,250] ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); - arcGISMap.setMinScale(36000); - arcGISMap.setMaxScale(250); //创建底图、并设置底图图层 ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); Basemap basemap = new Basemap(baseLayer); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); + //设置地图显示在中心位置 + Point point = new Point(Constant.DEFAULT_LNG, Constant.DEFAULT_LAT, mapView.getSpatialReference()); + mapView.setViewpointCenterAsync(point, 1000);//标注到指定经纬度并放大地图显示 + //网格和社区 (ID: 13) ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); diff --git a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java index 0344417..811875b 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java @@ -1,9 +1,11 @@ package com.casic.dcms.ui; +import android.annotation.SuppressLint; import android.content.Context; import android.graphics.drawable.BitmapDrawable; import android.text.TextUtils; import android.util.Log; +import android.view.MotionEvent; import android.view.View; import android.widget.RadioButton; import android.widget.RadioGroup; @@ -24,18 +26,23 @@ import com.casic.dcms.utils.ColorHelper; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; +import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.layers.ArcGISTiledLayer; +import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; +import com.esri.arcgisruntime.mapping.view.DefaultMapViewOnTouchListener; import com.esri.arcgisruntime.mapping.view.Graphic; import com.esri.arcgisruntime.mapping.view.GraphicsOverlay; import com.esri.arcgisruntime.mapping.view.MapView; import com.esri.arcgisruntime.symbology.PictureMarkerSymbol; import com.esri.arcgisruntime.util.ListenableList; +import com.google.gson.Gson; import com.qmuiteam.qmui.widget.QMUITopBarLayout; +import java.util.Arrays; import java.util.List; import butterknife.BindView; @@ -61,7 +68,9 @@ private CaseHandleListPresenterImpl caseHandleListPresenter; private CaseVerifyPresenterImpl caseVerifyPresenter; private CaseCheckPresenterImpl caseCheckPresenter; - private BitmapDrawable caseDrawable = null; + private ListenableList overlayGraphics; + private ListenableList graphicsOverlays; + private GraphicsOverlay mGraphicsOverlay; @Override public int initLayoutView() { @@ -92,17 +101,43 @@ arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); + ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); + + ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); + + arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); + mapView.setMap(arcGISMap); + caseHandleListPresenter = new CaseHandleListPresenterImpl(this); caseVerifyPresenter = new CaseVerifyPresenterImpl(this); caseCheckPresenter = new CaseCheckPresenterImpl(this); //默认加载处置中数据 caseHandleListPresenter.onReadyRetrofitRequest(null, null, 1000, 1); + + //Marker相关Layer + mGraphicsOverlay = new GraphicsOverlay(); + overlayGraphics = mGraphicsOverlay.getGraphics(); + graphicsOverlays = mapView.getGraphicsOverlays(); } + @SuppressLint("ClickableViewAccessibility") @Override public void initEvent() { radioGroup.setOnCheckedChangeListener(this); + mapView.setOnTouchListener(new DefaultMapViewOnTouchListener(this, mapView) { + @Override + public boolean onSingleTapConfirmed(MotionEvent e) { + android.graphics.Point screenPoint = new android.graphics.Point(Math.round(e.getX()), Math.round(e.getY())); + Point clickPoint = mapView.screenToLocation(screenPoint); + + return true; + } + }); } @Override @@ -208,7 +243,7 @@ */ @Override public void obtainVerifyListResult(CaseVerifyBean resultBean) { -// Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); + Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); if (resultBean.isSuccess()) { List rowsBeans = resultBean.getData().getRows(); if (rowsBeans.size() >= 1) { @@ -229,6 +264,11 @@ } private void addPictureMarker(Point point, int caseStatus) { + if (overlayGraphics != null && graphicsOverlays != null) { + overlayGraphics.clear(); + graphicsOverlays.clear(); + } + BitmapDrawable caseDrawable; switch (caseStatus) { case Constant.CASE_HANDLE: caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_handle); @@ -240,6 +280,7 @@ caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_check); break; default: + caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_case); break; } PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); @@ -249,9 +290,6 @@ pictureMarker.loadAsync(); Graphic graphic = new Graphic(point, pictureMarker); - GraphicsOverlay mGraphicsOverlay = new GraphicsOverlay(); - ListenableList overlayGraphics = mGraphicsOverlay.getGraphics(); - ListenableList graphicsOverlays = mapView.getGraphicsOverlays(); overlayGraphics.add(graphic); graphicsOverlays.add(mGraphicsOverlay); } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java index f02c712..c696986 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java @@ -53,7 +53,7 @@ @BindView(R.id.casePicRecyclerView) RecyclerView casePicRecyclerView; @BindView(R.id.caseHandleResultView) - EditText caseHandleResultView; + TextView caseHandleResultView; @BindView(R.id.caseCommonSentenceView) TextView caseCommonSentenceView; @@ -151,7 +151,7 @@ this.data = resultBean.getData().get(0); caseNumberView.setText(data.getCaseid()); caseOverTimeView.setText(data.getNodeLimittime()); - caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "无处理意见" : data.getCaseStateName()); + caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "案卷状态未知" : data.getCaseStateName()); casePlaceView.setText(data.getFieldintro()); caseDescriptionView.setText(data.getDescription()); @@ -197,6 +197,7 @@ CommonSentenceBean.DataBean dataBean = dataBeans.get(position); caseCommonSentenceView.setText(dataBean.getName()); + caseHandleResultView.setText(dataBean.getName()); } }).build().show(); } else { diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java index 7c2bd0e..6a6320a 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java @@ -374,6 +374,7 @@ startActivityForResult(intent, Constant.REQUEST_MAP_CODE); } else { Intent intent = new Intent(this, DisplayMapActivity.class); + intent.putExtra("caseType", data.getEorcName()); String dataLng = data.getLng(); if (TextUtils.isEmpty(dataLng)) { ToastHelper.showToast("案卷经度异常", ToastHelper.ERROR); diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java index d258c0b..f612abf 100644 --- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java @@ -96,7 +96,7 @@ * [116.598359, 28.247870, 0.000000, NaN] SR: 4326 */ Point point = new Point(lng, lat, mapView.getSpatialReference()); - mapView.setViewpointCenterAsync(point, 2500);//标注到指定经纬度并放大地图显示 + mapView.setViewpointCenterAsync(point, 1000);//标注到指定经纬度并放大地图显示 //添加普通小圆点Marker // addSimpleMarker(point); @@ -116,7 +116,7 @@ } private void addPictureMarker(Point point) { - BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_handle); + BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_case); PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); pictureMarker.setHeight(24); pictureMarker.setWidth(24); diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java index abb4436..26d9b6f 100644 --- a/app/src/main/java/com/casic/dcms/utils/Constant.java +++ b/app/src/main/java/com/casic/dcms/utils/Constant.java @@ -15,18 +15,6 @@ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CALL_PHONE, Manifest.permission.READ_PHONE_STATE}; - public static final List ALL_ICONS = Arrays.asList( - R.mipmap.ajsb, R.mipmap.kssb, R.mipmap.sbsb, - R.mipmap.ajhs, R.mipmap.ajhc, R.mipmap.ajcl, - R.mipmap.jjyj, R.mipmap.csdb, R.mipmap.tjfx, - R.mipmap.zgry, R.mipmap.ajcx, R.mipmap.dtck); - - public static final List ALL_ITEMS = Arrays.asList( - "案卷上报", "快速上报", "三包上报", - "案卷核实", "案卷核查", "案卷处理", - "紧急要件", "超时督办", "统计分析", - "在岗人员", "案卷查询", "案卷分布"); - public static final List ANALYSIS_ICONS = Arrays.asList( R.drawable.ic_wtly, R.drawable.ic_ajzt, R.drawable.ic_gfwt, R.drawable.ic_jdtj, R.drawable.ic_cltj, R.drawable.ic_qsfx); @@ -55,6 +43,9 @@ public static final int CASE_VERIFY = 1; public static final int CASE_CHECK = 2; + public static final double DEFAULT_LNG = 116.06639658728571; + public static final double DEFAULT_LAT = 27.759547805536418; + public static final String IP_KEY = "BASE_IP"; public static final String LOGIN_OUT_ACTION = "loginOut"; public static final String NOTICE_MSG = "receivePush"; diff --git a/app/src/main/res/layout/activity_case_handle_detail.xml b/app/src/main/res/layout/activity_case_handle_detail.xml index f033833..4b92553 100644 --- a/app/src/main/res/layout/activity_case_handle_detail.xml +++ b/app/src/main/res/layout/activity_case_handle_detail.xml @@ -26,7 +26,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" - android:drawableEnd="@mipmap/point" android:text="案卷图片" android:textSize="@dimen/textFontSize" /> @@ -34,6 +33,7 @@ android:id="@+id/casePicRecyclerView" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginStart="25dp" android:layout_toEndOf="@id/t" /> @@ -44,8 +44,6 @@ @@ -66,7 +64,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" - android:drawableEnd="@mipmap/point" android:text="完成时限" android:textSize="@dimen/textFontSize" /> diff --git a/app/src/main/res/layout/activity_case_todo_detail.xml b/app/src/main/res/layout/activity_case_todo_detail.xml index 957b6a8..8e25d43 100644 --- a/app/src/main/res/layout/activity_case_todo_detail.xml +++ b/app/src/main/res/layout/activity_case_todo_detail.xml @@ -180,17 +180,12 @@ android:text="督办意见" android:textSize="@dimen/textFontSize" /> - 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 c29bc54..4a20144 100644 --- a/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/ArcGISMapActivity.java @@ -87,17 +87,19 @@ caseType = getIntent().getStringExtra("type"); gson = new Gson(); mapView.setAttributionTextVisible(false);//去掉左下角属性标识 - mapView.setViewpointScaleAsync(3000);//数字越大,放大比例越小,缩放比例[36000,250] + mapView.setViewpointScaleAsync(1000);//数字越大,放大比例越小,缩放比例[36000,250] ArcGISMap arcGISMap = new ArcGISMap(BasemapStyle.ARCGIS_STREETS); - arcGISMap.setMinScale(36000); - arcGISMap.setMaxScale(250); //创建底图、并设置底图图层 ArcGISTiledLayer baseLayer = new ArcGISTiledLayer(Constant.BASE_MAP_SERVICE_URL); Basemap basemap = new Basemap(baseLayer); arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); + //设置地图显示在中心位置 + Point point = new Point(Constant.DEFAULT_LNG, Constant.DEFAULT_LAT, mapView.getSpatialReference()); + mapView.setViewpointCenterAsync(point, 1000);//标注到指定经纬度并放大地图显示 + //网格和社区 (ID: 13) ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); diff --git a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java index 0344417..811875b 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseOnMapActivity.java @@ -1,9 +1,11 @@ package com.casic.dcms.ui; +import android.annotation.SuppressLint; import android.content.Context; import android.graphics.drawable.BitmapDrawable; import android.text.TextUtils; import android.util.Log; +import android.view.MotionEvent; import android.view.View; import android.widget.RadioButton; import android.widget.RadioGroup; @@ -24,18 +26,23 @@ import com.casic.dcms.utils.ColorHelper; import com.casic.dcms.utils.Constant; import com.casic.dcms.utils.ToastHelper; +import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.layers.ArcGISTiledLayer; +import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; +import com.esri.arcgisruntime.mapping.view.DefaultMapViewOnTouchListener; import com.esri.arcgisruntime.mapping.view.Graphic; import com.esri.arcgisruntime.mapping.view.GraphicsOverlay; import com.esri.arcgisruntime.mapping.view.MapView; import com.esri.arcgisruntime.symbology.PictureMarkerSymbol; import com.esri.arcgisruntime.util.ListenableList; +import com.google.gson.Gson; import com.qmuiteam.qmui.widget.QMUITopBarLayout; +import java.util.Arrays; import java.util.List; import butterknife.BindView; @@ -61,7 +68,9 @@ private CaseHandleListPresenterImpl caseHandleListPresenter; private CaseVerifyPresenterImpl caseVerifyPresenter; private CaseCheckPresenterImpl caseCheckPresenter; - private BitmapDrawable caseDrawable = null; + private ListenableList overlayGraphics; + private ListenableList graphicsOverlays; + private GraphicsOverlay mGraphicsOverlay; @Override public int initLayoutView() { @@ -92,17 +101,43 @@ arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); + ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); + + ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); + + arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); + mapView.setMap(arcGISMap); + caseHandleListPresenter = new CaseHandleListPresenterImpl(this); caseVerifyPresenter = new CaseVerifyPresenterImpl(this); caseCheckPresenter = new CaseCheckPresenterImpl(this); //默认加载处置中数据 caseHandleListPresenter.onReadyRetrofitRequest(null, null, 1000, 1); + + //Marker相关Layer + mGraphicsOverlay = new GraphicsOverlay(); + overlayGraphics = mGraphicsOverlay.getGraphics(); + graphicsOverlays = mapView.getGraphicsOverlays(); } + @SuppressLint("ClickableViewAccessibility") @Override public void initEvent() { radioGroup.setOnCheckedChangeListener(this); + mapView.setOnTouchListener(new DefaultMapViewOnTouchListener(this, mapView) { + @Override + public boolean onSingleTapConfirmed(MotionEvent e) { + android.graphics.Point screenPoint = new android.graphics.Point(Math.round(e.getX()), Math.round(e.getY())); + Point clickPoint = mapView.screenToLocation(screenPoint); + + return true; + } + }); } @Override @@ -208,7 +243,7 @@ */ @Override public void obtainVerifyListResult(CaseVerifyBean resultBean) { -// Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); + Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); if (resultBean.isSuccess()) { List rowsBeans = resultBean.getData().getRows(); if (rowsBeans.size() >= 1) { @@ -229,6 +264,11 @@ } private void addPictureMarker(Point point, int caseStatus) { + if (overlayGraphics != null && graphicsOverlays != null) { + overlayGraphics.clear(); + graphicsOverlays.clear(); + } + BitmapDrawable caseDrawable; switch (caseStatus) { case Constant.CASE_HANDLE: caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_handle); @@ -240,6 +280,7 @@ caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_check); break; default: + caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_case); break; } PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); @@ -249,9 +290,6 @@ pictureMarker.loadAsync(); Graphic graphic = new Graphic(point, pictureMarker); - GraphicsOverlay mGraphicsOverlay = new GraphicsOverlay(); - ListenableList overlayGraphics = mGraphicsOverlay.getGraphics(); - ListenableList graphicsOverlays = mapView.getGraphicsOverlays(); overlayGraphics.add(graphic); graphicsOverlays.add(mGraphicsOverlay); } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java index f02c712..c696986 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java @@ -53,7 +53,7 @@ @BindView(R.id.casePicRecyclerView) RecyclerView casePicRecyclerView; @BindView(R.id.caseHandleResultView) - EditText caseHandleResultView; + TextView caseHandleResultView; @BindView(R.id.caseCommonSentenceView) TextView caseCommonSentenceView; @@ -151,7 +151,7 @@ this.data = resultBean.getData().get(0); caseNumberView.setText(data.getCaseid()); caseOverTimeView.setText(data.getNodeLimittime()); - caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "无处理意见" : data.getCaseStateName()); + caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "案卷状态未知" : data.getCaseStateName()); casePlaceView.setText(data.getFieldintro()); caseDescriptionView.setText(data.getDescription()); @@ -197,6 +197,7 @@ CommonSentenceBean.DataBean dataBean = dataBeans.get(position); caseCommonSentenceView.setText(dataBean.getName()); + caseHandleResultView.setText(dataBean.getName()); } }).build().show(); } else { diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java index 7c2bd0e..6a6320a 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java @@ -374,6 +374,7 @@ startActivityForResult(intent, Constant.REQUEST_MAP_CODE); } else { Intent intent = new Intent(this, DisplayMapActivity.class); + intent.putExtra("caseType", data.getEorcName()); String dataLng = data.getLng(); if (TextUtils.isEmpty(dataLng)) { ToastHelper.showToast("案卷经度异常", ToastHelper.ERROR); diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java index d258c0b..f612abf 100644 --- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java @@ -96,7 +96,7 @@ * [116.598359, 28.247870, 0.000000, NaN] SR: 4326 */ Point point = new Point(lng, lat, mapView.getSpatialReference()); - mapView.setViewpointCenterAsync(point, 2500);//标注到指定经纬度并放大地图显示 + mapView.setViewpointCenterAsync(point, 1000);//标注到指定经纬度并放大地图显示 //添加普通小圆点Marker // addSimpleMarker(point); @@ -116,7 +116,7 @@ } private void addPictureMarker(Point point) { - BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_handle); + BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_case); PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); pictureMarker.setHeight(24); pictureMarker.setWidth(24); diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java index abb4436..26d9b6f 100644 --- a/app/src/main/java/com/casic/dcms/utils/Constant.java +++ b/app/src/main/java/com/casic/dcms/utils/Constant.java @@ -15,18 +15,6 @@ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CALL_PHONE, Manifest.permission.READ_PHONE_STATE}; - public static final List ALL_ICONS = Arrays.asList( - R.mipmap.ajsb, R.mipmap.kssb, R.mipmap.sbsb, - R.mipmap.ajhs, R.mipmap.ajhc, R.mipmap.ajcl, - R.mipmap.jjyj, R.mipmap.csdb, R.mipmap.tjfx, - R.mipmap.zgry, R.mipmap.ajcx, R.mipmap.dtck); - - public static final List ALL_ITEMS = Arrays.asList( - "案卷上报", "快速上报", "三包上报", - "案卷核实", "案卷核查", "案卷处理", - "紧急要件", "超时督办", "统计分析", - "在岗人员", "案卷查询", "案卷分布"); - public static final List ANALYSIS_ICONS = Arrays.asList( R.drawable.ic_wtly, R.drawable.ic_ajzt, R.drawable.ic_gfwt, R.drawable.ic_jdtj, R.drawable.ic_cltj, R.drawable.ic_qsfx); @@ -55,6 +43,9 @@ public static final int CASE_VERIFY = 1; public static final int CASE_CHECK = 2; + public static final double DEFAULT_LNG = 116.06639658728571; + public static final double DEFAULT_LAT = 27.759547805536418; + public static final String IP_KEY = "BASE_IP"; public static final String LOGIN_OUT_ACTION = "loginOut"; public static final String NOTICE_MSG = "receivePush"; diff --git a/app/src/main/res/layout/activity_case_handle_detail.xml b/app/src/main/res/layout/activity_case_handle_detail.xml index f033833..4b92553 100644 --- a/app/src/main/res/layout/activity_case_handle_detail.xml +++ b/app/src/main/res/layout/activity_case_handle_detail.xml @@ -26,7 +26,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" - android:drawableEnd="@mipmap/point" android:text="案卷图片" android:textSize="@dimen/textFontSize" /> @@ -34,6 +33,7 @@ android:id="@+id/casePicRecyclerView" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginStart="25dp" android:layout_toEndOf="@id/t" /> @@ -44,8 +44,6 @@ @@ -66,7 +64,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" - android:drawableEnd="@mipmap/point" android:text="完成时限" android:textSize="@dimen/textFontSize" /> diff --git a/app/src/main/res/layout/activity_case_todo_detail.xml b/app/src/main/res/layout/activity_case_todo_detail.xml index 957b6a8..8e25d43 100644 --- a/app/src/main/res/layout/activity_case_todo_detail.xml +++ b/app/src/main/res/layout/activity_case_todo_detail.xml @@ -180,17 +180,12 @@ android:text="督办意见" android:textSize="@dimen/textFontSize" /> - diff --git a/app/src/main/res/layout/activity_case_upload.xml b/app/src/main/res/layout/activity_case_upload.xml index 5cfa31e..1b94cc1 100644 --- a/app/src/main/res/layout/activity_case_upload.xml +++ b/app/src/main/res/layout/activity_case_upload.xml @@ -116,7 +116,7 @@ android:layout_height="wrap_content" android:layout_centerVertical="true" android:drawableEnd="@mipmap/point" - android:text="经度" + android:text="经\u3000\u3000度" android:textSize="@dimen/textFontSize" /> overlayGraphics; + private ListenableList graphicsOverlays; + private GraphicsOverlay mGraphicsOverlay; @Override public int initLayoutView() { @@ -92,17 +101,43 @@ arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); + ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); + + ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); + + arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); + mapView.setMap(arcGISMap); + caseHandleListPresenter = new CaseHandleListPresenterImpl(this); caseVerifyPresenter = new CaseVerifyPresenterImpl(this); caseCheckPresenter = new CaseCheckPresenterImpl(this); //默认加载处置中数据 caseHandleListPresenter.onReadyRetrofitRequest(null, null, 1000, 1); + + //Marker相关Layer + mGraphicsOverlay = new GraphicsOverlay(); + overlayGraphics = mGraphicsOverlay.getGraphics(); + graphicsOverlays = mapView.getGraphicsOverlays(); } + @SuppressLint("ClickableViewAccessibility") @Override public void initEvent() { radioGroup.setOnCheckedChangeListener(this); + mapView.setOnTouchListener(new DefaultMapViewOnTouchListener(this, mapView) { + @Override + public boolean onSingleTapConfirmed(MotionEvent e) { + android.graphics.Point screenPoint = new android.graphics.Point(Math.round(e.getX()), Math.round(e.getY())); + Point clickPoint = mapView.screenToLocation(screenPoint); + + return true; + } + }); } @Override @@ -208,7 +243,7 @@ */ @Override public void obtainVerifyListResult(CaseVerifyBean resultBean) { -// Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); + Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); if (resultBean.isSuccess()) { List rowsBeans = resultBean.getData().getRows(); if (rowsBeans.size() >= 1) { @@ -229,6 +264,11 @@ } private void addPictureMarker(Point point, int caseStatus) { + if (overlayGraphics != null && graphicsOverlays != null) { + overlayGraphics.clear(); + graphicsOverlays.clear(); + } + BitmapDrawable caseDrawable; switch (caseStatus) { case Constant.CASE_HANDLE: caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_handle); @@ -240,6 +280,7 @@ caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_check); break; default: + caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_case); break; } PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); @@ -249,9 +290,6 @@ pictureMarker.loadAsync(); Graphic graphic = new Graphic(point, pictureMarker); - GraphicsOverlay mGraphicsOverlay = new GraphicsOverlay(); - ListenableList overlayGraphics = mGraphicsOverlay.getGraphics(); - ListenableList graphicsOverlays = mapView.getGraphicsOverlays(); overlayGraphics.add(graphic); graphicsOverlays.add(mGraphicsOverlay); } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java index f02c712..c696986 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java @@ -53,7 +53,7 @@ @BindView(R.id.casePicRecyclerView) RecyclerView casePicRecyclerView; @BindView(R.id.caseHandleResultView) - EditText caseHandleResultView; + TextView caseHandleResultView; @BindView(R.id.caseCommonSentenceView) TextView caseCommonSentenceView; @@ -151,7 +151,7 @@ this.data = resultBean.getData().get(0); caseNumberView.setText(data.getCaseid()); caseOverTimeView.setText(data.getNodeLimittime()); - caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "无处理意见" : data.getCaseStateName()); + caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "案卷状态未知" : data.getCaseStateName()); casePlaceView.setText(data.getFieldintro()); caseDescriptionView.setText(data.getDescription()); @@ -197,6 +197,7 @@ CommonSentenceBean.DataBean dataBean = dataBeans.get(position); caseCommonSentenceView.setText(dataBean.getName()); + caseHandleResultView.setText(dataBean.getName()); } }).build().show(); } else { diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java index 7c2bd0e..6a6320a 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java @@ -374,6 +374,7 @@ startActivityForResult(intent, Constant.REQUEST_MAP_CODE); } else { Intent intent = new Intent(this, DisplayMapActivity.class); + intent.putExtra("caseType", data.getEorcName()); String dataLng = data.getLng(); if (TextUtils.isEmpty(dataLng)) { ToastHelper.showToast("案卷经度异常", ToastHelper.ERROR); diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java index d258c0b..f612abf 100644 --- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java @@ -96,7 +96,7 @@ * [116.598359, 28.247870, 0.000000, NaN] SR: 4326 */ Point point = new Point(lng, lat, mapView.getSpatialReference()); - mapView.setViewpointCenterAsync(point, 2500);//标注到指定经纬度并放大地图显示 + mapView.setViewpointCenterAsync(point, 1000);//标注到指定经纬度并放大地图显示 //添加普通小圆点Marker // addSimpleMarker(point); @@ -116,7 +116,7 @@ } private void addPictureMarker(Point point) { - BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_handle); + BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_case); PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); pictureMarker.setHeight(24); pictureMarker.setWidth(24); diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java index abb4436..26d9b6f 100644 --- a/app/src/main/java/com/casic/dcms/utils/Constant.java +++ b/app/src/main/java/com/casic/dcms/utils/Constant.java @@ -15,18 +15,6 @@ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CALL_PHONE, Manifest.permission.READ_PHONE_STATE}; - public static final List ALL_ICONS = Arrays.asList( - R.mipmap.ajsb, R.mipmap.kssb, R.mipmap.sbsb, - R.mipmap.ajhs, R.mipmap.ajhc, R.mipmap.ajcl, - R.mipmap.jjyj, R.mipmap.csdb, R.mipmap.tjfx, - R.mipmap.zgry, R.mipmap.ajcx, R.mipmap.dtck); - - public static final List ALL_ITEMS = Arrays.asList( - "案卷上报", "快速上报", "三包上报", - "案卷核实", "案卷核查", "案卷处理", - "紧急要件", "超时督办", "统计分析", - "在岗人员", "案卷查询", "案卷分布"); - public static final List ANALYSIS_ICONS = Arrays.asList( R.drawable.ic_wtly, R.drawable.ic_ajzt, R.drawable.ic_gfwt, R.drawable.ic_jdtj, R.drawable.ic_cltj, R.drawable.ic_qsfx); @@ -55,6 +43,9 @@ public static final int CASE_VERIFY = 1; public static final int CASE_CHECK = 2; + public static final double DEFAULT_LNG = 116.06639658728571; + public static final double DEFAULT_LAT = 27.759547805536418; + public static final String IP_KEY = "BASE_IP"; public static final String LOGIN_OUT_ACTION = "loginOut"; public static final String NOTICE_MSG = "receivePush"; diff --git a/app/src/main/res/layout/activity_case_handle_detail.xml b/app/src/main/res/layout/activity_case_handle_detail.xml index f033833..4b92553 100644 --- a/app/src/main/res/layout/activity_case_handle_detail.xml +++ b/app/src/main/res/layout/activity_case_handle_detail.xml @@ -26,7 +26,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" - android:drawableEnd="@mipmap/point" android:text="案卷图片" android:textSize="@dimen/textFontSize" /> @@ -34,6 +33,7 @@ android:id="@+id/casePicRecyclerView" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginStart="25dp" android:layout_toEndOf="@id/t" /> @@ -44,8 +44,6 @@ @@ -66,7 +64,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" - android:drawableEnd="@mipmap/point" android:text="完成时限" android:textSize="@dimen/textFontSize" /> diff --git a/app/src/main/res/layout/activity_case_todo_detail.xml b/app/src/main/res/layout/activity_case_todo_detail.xml index 957b6a8..8e25d43 100644 --- a/app/src/main/res/layout/activity_case_todo_detail.xml +++ b/app/src/main/res/layout/activity_case_todo_detail.xml @@ -180,17 +180,12 @@ android:text="督办意见" android:textSize="@dimen/textFontSize" /> - diff --git a/app/src/main/res/layout/activity_case_upload.xml b/app/src/main/res/layout/activity_case_upload.xml index 5cfa31e..1b94cc1 100644 --- a/app/src/main/res/layout/activity_case_upload.xml +++ b/app/src/main/res/layout/activity_case_upload.xml @@ -116,7 +116,7 @@ android:layout_height="wrap_content" android:layout_centerVertical="true" android:drawableEnd="@mipmap/point" - android:text="经度" + android:text="经\u3000\u3000度" android:textSize="@dimen/textFontSize" /> overlayGraphics; + private ListenableList graphicsOverlays; + private GraphicsOverlay mGraphicsOverlay; @Override public int initLayoutView() { @@ -92,17 +101,43 @@ arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); + ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); + + ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); + + arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); + mapView.setMap(arcGISMap); + caseHandleListPresenter = new CaseHandleListPresenterImpl(this); caseVerifyPresenter = new CaseVerifyPresenterImpl(this); caseCheckPresenter = new CaseCheckPresenterImpl(this); //默认加载处置中数据 caseHandleListPresenter.onReadyRetrofitRequest(null, null, 1000, 1); + + //Marker相关Layer + mGraphicsOverlay = new GraphicsOverlay(); + overlayGraphics = mGraphicsOverlay.getGraphics(); + graphicsOverlays = mapView.getGraphicsOverlays(); } + @SuppressLint("ClickableViewAccessibility") @Override public void initEvent() { radioGroup.setOnCheckedChangeListener(this); + mapView.setOnTouchListener(new DefaultMapViewOnTouchListener(this, mapView) { + @Override + public boolean onSingleTapConfirmed(MotionEvent e) { + android.graphics.Point screenPoint = new android.graphics.Point(Math.round(e.getX()), Math.round(e.getY())); + Point clickPoint = mapView.screenToLocation(screenPoint); + + return true; + } + }); } @Override @@ -208,7 +243,7 @@ */ @Override public void obtainVerifyListResult(CaseVerifyBean resultBean) { -// Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); + Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); if (resultBean.isSuccess()) { List rowsBeans = resultBean.getData().getRows(); if (rowsBeans.size() >= 1) { @@ -229,6 +264,11 @@ } private void addPictureMarker(Point point, int caseStatus) { + if (overlayGraphics != null && graphicsOverlays != null) { + overlayGraphics.clear(); + graphicsOverlays.clear(); + } + BitmapDrawable caseDrawable; switch (caseStatus) { case Constant.CASE_HANDLE: caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_handle); @@ -240,6 +280,7 @@ caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_check); break; default: + caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_case); break; } PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); @@ -249,9 +290,6 @@ pictureMarker.loadAsync(); Graphic graphic = new Graphic(point, pictureMarker); - GraphicsOverlay mGraphicsOverlay = new GraphicsOverlay(); - ListenableList overlayGraphics = mGraphicsOverlay.getGraphics(); - ListenableList graphicsOverlays = mapView.getGraphicsOverlays(); overlayGraphics.add(graphic); graphicsOverlays.add(mGraphicsOverlay); } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java index f02c712..c696986 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java @@ -53,7 +53,7 @@ @BindView(R.id.casePicRecyclerView) RecyclerView casePicRecyclerView; @BindView(R.id.caseHandleResultView) - EditText caseHandleResultView; + TextView caseHandleResultView; @BindView(R.id.caseCommonSentenceView) TextView caseCommonSentenceView; @@ -151,7 +151,7 @@ this.data = resultBean.getData().get(0); caseNumberView.setText(data.getCaseid()); caseOverTimeView.setText(data.getNodeLimittime()); - caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "无处理意见" : data.getCaseStateName()); + caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "案卷状态未知" : data.getCaseStateName()); casePlaceView.setText(data.getFieldintro()); caseDescriptionView.setText(data.getDescription()); @@ -197,6 +197,7 @@ CommonSentenceBean.DataBean dataBean = dataBeans.get(position); caseCommonSentenceView.setText(dataBean.getName()); + caseHandleResultView.setText(dataBean.getName()); } }).build().show(); } else { diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java index 7c2bd0e..6a6320a 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java @@ -374,6 +374,7 @@ startActivityForResult(intent, Constant.REQUEST_MAP_CODE); } else { Intent intent = new Intent(this, DisplayMapActivity.class); + intent.putExtra("caseType", data.getEorcName()); String dataLng = data.getLng(); if (TextUtils.isEmpty(dataLng)) { ToastHelper.showToast("案卷经度异常", ToastHelper.ERROR); diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java index d258c0b..f612abf 100644 --- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java @@ -96,7 +96,7 @@ * [116.598359, 28.247870, 0.000000, NaN] SR: 4326 */ Point point = new Point(lng, lat, mapView.getSpatialReference()); - mapView.setViewpointCenterAsync(point, 2500);//标注到指定经纬度并放大地图显示 + mapView.setViewpointCenterAsync(point, 1000);//标注到指定经纬度并放大地图显示 //添加普通小圆点Marker // addSimpleMarker(point); @@ -116,7 +116,7 @@ } private void addPictureMarker(Point point) { - BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_handle); + BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_case); PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); pictureMarker.setHeight(24); pictureMarker.setWidth(24); diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java index abb4436..26d9b6f 100644 --- a/app/src/main/java/com/casic/dcms/utils/Constant.java +++ b/app/src/main/java/com/casic/dcms/utils/Constant.java @@ -15,18 +15,6 @@ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CALL_PHONE, Manifest.permission.READ_PHONE_STATE}; - public static final List ALL_ICONS = Arrays.asList( - R.mipmap.ajsb, R.mipmap.kssb, R.mipmap.sbsb, - R.mipmap.ajhs, R.mipmap.ajhc, R.mipmap.ajcl, - R.mipmap.jjyj, R.mipmap.csdb, R.mipmap.tjfx, - R.mipmap.zgry, R.mipmap.ajcx, R.mipmap.dtck); - - public static final List ALL_ITEMS = Arrays.asList( - "案卷上报", "快速上报", "三包上报", - "案卷核实", "案卷核查", "案卷处理", - "紧急要件", "超时督办", "统计分析", - "在岗人员", "案卷查询", "案卷分布"); - public static final List ANALYSIS_ICONS = Arrays.asList( R.drawable.ic_wtly, R.drawable.ic_ajzt, R.drawable.ic_gfwt, R.drawable.ic_jdtj, R.drawable.ic_cltj, R.drawable.ic_qsfx); @@ -55,6 +43,9 @@ public static final int CASE_VERIFY = 1; public static final int CASE_CHECK = 2; + public static final double DEFAULT_LNG = 116.06639658728571; + public static final double DEFAULT_LAT = 27.759547805536418; + public static final String IP_KEY = "BASE_IP"; public static final String LOGIN_OUT_ACTION = "loginOut"; public static final String NOTICE_MSG = "receivePush"; diff --git a/app/src/main/res/layout/activity_case_handle_detail.xml b/app/src/main/res/layout/activity_case_handle_detail.xml index f033833..4b92553 100644 --- a/app/src/main/res/layout/activity_case_handle_detail.xml +++ b/app/src/main/res/layout/activity_case_handle_detail.xml @@ -26,7 +26,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" - android:drawableEnd="@mipmap/point" android:text="案卷图片" android:textSize="@dimen/textFontSize" /> @@ -34,6 +33,7 @@ android:id="@+id/casePicRecyclerView" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginStart="25dp" android:layout_toEndOf="@id/t" /> @@ -44,8 +44,6 @@ @@ -66,7 +64,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" - android:drawableEnd="@mipmap/point" android:text="完成时限" android:textSize="@dimen/textFontSize" /> diff --git a/app/src/main/res/layout/activity_case_todo_detail.xml b/app/src/main/res/layout/activity_case_todo_detail.xml index 957b6a8..8e25d43 100644 --- a/app/src/main/res/layout/activity_case_todo_detail.xml +++ b/app/src/main/res/layout/activity_case_todo_detail.xml @@ -180,17 +180,12 @@ android:text="督办意见" android:textSize="@dimen/textFontSize" /> - diff --git a/app/src/main/res/layout/activity_case_upload.xml b/app/src/main/res/layout/activity_case_upload.xml index 5cfa31e..1b94cc1 100644 --- a/app/src/main/res/layout/activity_case_upload.xml +++ b/app/src/main/res/layout/activity_case_upload.xml @@ -116,7 +116,7 @@ android:layout_height="wrap_content" android:layout_centerVertical="true" android:drawableEnd="@mipmap/point" - android:text="经度" + android:text="经\u3000\u3000度" android:textSize="@dimen/textFontSize" /> overlayGraphics; + private ListenableList graphicsOverlays; + private GraphicsOverlay mGraphicsOverlay; @Override public int initLayoutView() { @@ -92,17 +101,43 @@ arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); + ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); + + ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); + + arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); + mapView.setMap(arcGISMap); + caseHandleListPresenter = new CaseHandleListPresenterImpl(this); caseVerifyPresenter = new CaseVerifyPresenterImpl(this); caseCheckPresenter = new CaseCheckPresenterImpl(this); //默认加载处置中数据 caseHandleListPresenter.onReadyRetrofitRequest(null, null, 1000, 1); + + //Marker相关Layer + mGraphicsOverlay = new GraphicsOverlay(); + overlayGraphics = mGraphicsOverlay.getGraphics(); + graphicsOverlays = mapView.getGraphicsOverlays(); } + @SuppressLint("ClickableViewAccessibility") @Override public void initEvent() { radioGroup.setOnCheckedChangeListener(this); + mapView.setOnTouchListener(new DefaultMapViewOnTouchListener(this, mapView) { + @Override + public boolean onSingleTapConfirmed(MotionEvent e) { + android.graphics.Point screenPoint = new android.graphics.Point(Math.round(e.getX()), Math.round(e.getY())); + Point clickPoint = mapView.screenToLocation(screenPoint); + + return true; + } + }); } @Override @@ -208,7 +243,7 @@ */ @Override public void obtainVerifyListResult(CaseVerifyBean resultBean) { -// Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); + Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); if (resultBean.isSuccess()) { List rowsBeans = resultBean.getData().getRows(); if (rowsBeans.size() >= 1) { @@ -229,6 +264,11 @@ } private void addPictureMarker(Point point, int caseStatus) { + if (overlayGraphics != null && graphicsOverlays != null) { + overlayGraphics.clear(); + graphicsOverlays.clear(); + } + BitmapDrawable caseDrawable; switch (caseStatus) { case Constant.CASE_HANDLE: caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_handle); @@ -240,6 +280,7 @@ caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_check); break; default: + caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_case); break; } PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); @@ -249,9 +290,6 @@ pictureMarker.loadAsync(); Graphic graphic = new Graphic(point, pictureMarker); - GraphicsOverlay mGraphicsOverlay = new GraphicsOverlay(); - ListenableList overlayGraphics = mGraphicsOverlay.getGraphics(); - ListenableList graphicsOverlays = mapView.getGraphicsOverlays(); overlayGraphics.add(graphic); graphicsOverlays.add(mGraphicsOverlay); } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java index f02c712..c696986 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java @@ -53,7 +53,7 @@ @BindView(R.id.casePicRecyclerView) RecyclerView casePicRecyclerView; @BindView(R.id.caseHandleResultView) - EditText caseHandleResultView; + TextView caseHandleResultView; @BindView(R.id.caseCommonSentenceView) TextView caseCommonSentenceView; @@ -151,7 +151,7 @@ this.data = resultBean.getData().get(0); caseNumberView.setText(data.getCaseid()); caseOverTimeView.setText(data.getNodeLimittime()); - caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "无处理意见" : data.getCaseStateName()); + caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "案卷状态未知" : data.getCaseStateName()); casePlaceView.setText(data.getFieldintro()); caseDescriptionView.setText(data.getDescription()); @@ -197,6 +197,7 @@ CommonSentenceBean.DataBean dataBean = dataBeans.get(position); caseCommonSentenceView.setText(dataBean.getName()); + caseHandleResultView.setText(dataBean.getName()); } }).build().show(); } else { diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java index 7c2bd0e..6a6320a 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java @@ -374,6 +374,7 @@ startActivityForResult(intent, Constant.REQUEST_MAP_CODE); } else { Intent intent = new Intent(this, DisplayMapActivity.class); + intent.putExtra("caseType", data.getEorcName()); String dataLng = data.getLng(); if (TextUtils.isEmpty(dataLng)) { ToastHelper.showToast("案卷经度异常", ToastHelper.ERROR); diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java index d258c0b..f612abf 100644 --- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java @@ -96,7 +96,7 @@ * [116.598359, 28.247870, 0.000000, NaN] SR: 4326 */ Point point = new Point(lng, lat, mapView.getSpatialReference()); - mapView.setViewpointCenterAsync(point, 2500);//标注到指定经纬度并放大地图显示 + mapView.setViewpointCenterAsync(point, 1000);//标注到指定经纬度并放大地图显示 //添加普通小圆点Marker // addSimpleMarker(point); @@ -116,7 +116,7 @@ } private void addPictureMarker(Point point) { - BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_handle); + BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_case); PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); pictureMarker.setHeight(24); pictureMarker.setWidth(24); diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java index abb4436..26d9b6f 100644 --- a/app/src/main/java/com/casic/dcms/utils/Constant.java +++ b/app/src/main/java/com/casic/dcms/utils/Constant.java @@ -15,18 +15,6 @@ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CALL_PHONE, Manifest.permission.READ_PHONE_STATE}; - public static final List ALL_ICONS = Arrays.asList( - R.mipmap.ajsb, R.mipmap.kssb, R.mipmap.sbsb, - R.mipmap.ajhs, R.mipmap.ajhc, R.mipmap.ajcl, - R.mipmap.jjyj, R.mipmap.csdb, R.mipmap.tjfx, - R.mipmap.zgry, R.mipmap.ajcx, R.mipmap.dtck); - - public static final List ALL_ITEMS = Arrays.asList( - "案卷上报", "快速上报", "三包上报", - "案卷核实", "案卷核查", "案卷处理", - "紧急要件", "超时督办", "统计分析", - "在岗人员", "案卷查询", "案卷分布"); - public static final List ANALYSIS_ICONS = Arrays.asList( R.drawable.ic_wtly, R.drawable.ic_ajzt, R.drawable.ic_gfwt, R.drawable.ic_jdtj, R.drawable.ic_cltj, R.drawable.ic_qsfx); @@ -55,6 +43,9 @@ public static final int CASE_VERIFY = 1; public static final int CASE_CHECK = 2; + public static final double DEFAULT_LNG = 116.06639658728571; + public static final double DEFAULT_LAT = 27.759547805536418; + public static final String IP_KEY = "BASE_IP"; public static final String LOGIN_OUT_ACTION = "loginOut"; public static final String NOTICE_MSG = "receivePush"; diff --git a/app/src/main/res/layout/activity_case_handle_detail.xml b/app/src/main/res/layout/activity_case_handle_detail.xml index f033833..4b92553 100644 --- a/app/src/main/res/layout/activity_case_handle_detail.xml +++ b/app/src/main/res/layout/activity_case_handle_detail.xml @@ -26,7 +26,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" - android:drawableEnd="@mipmap/point" android:text="案卷图片" android:textSize="@dimen/textFontSize" /> @@ -34,6 +33,7 @@ android:id="@+id/casePicRecyclerView" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginStart="25dp" android:layout_toEndOf="@id/t" /> @@ -44,8 +44,6 @@ @@ -66,7 +64,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" - android:drawableEnd="@mipmap/point" android:text="完成时限" android:textSize="@dimen/textFontSize" /> diff --git a/app/src/main/res/layout/activity_case_todo_detail.xml b/app/src/main/res/layout/activity_case_todo_detail.xml index 957b6a8..8e25d43 100644 --- a/app/src/main/res/layout/activity_case_todo_detail.xml +++ b/app/src/main/res/layout/activity_case_todo_detail.xml @@ -180,17 +180,12 @@ android:text="督办意见" android:textSize="@dimen/textFontSize" /> - diff --git a/app/src/main/res/layout/activity_case_upload.xml b/app/src/main/res/layout/activity_case_upload.xml index 5cfa31e..1b94cc1 100644 --- a/app/src/main/res/layout/activity_case_upload.xml +++ b/app/src/main/res/layout/activity_case_upload.xml @@ -116,7 +116,7 @@ android:layout_height="wrap_content" android:layout_centerVertical="true" android:drawableEnd="@mipmap/point" - android:text="经度" + android:text="经\u3000\u3000度" android:textSize="@dimen/textFontSize" /> overlayGraphics; + private ListenableList graphicsOverlays; + private GraphicsOverlay mGraphicsOverlay; @Override public int initLayoutView() { @@ -92,17 +101,43 @@ arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); + ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); + + ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); + + arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); + mapView.setMap(arcGISMap); + caseHandleListPresenter = new CaseHandleListPresenterImpl(this); caseVerifyPresenter = new CaseVerifyPresenterImpl(this); caseCheckPresenter = new CaseCheckPresenterImpl(this); //默认加载处置中数据 caseHandleListPresenter.onReadyRetrofitRequest(null, null, 1000, 1); + + //Marker相关Layer + mGraphicsOverlay = new GraphicsOverlay(); + overlayGraphics = mGraphicsOverlay.getGraphics(); + graphicsOverlays = mapView.getGraphicsOverlays(); } + @SuppressLint("ClickableViewAccessibility") @Override public void initEvent() { radioGroup.setOnCheckedChangeListener(this); + mapView.setOnTouchListener(new DefaultMapViewOnTouchListener(this, mapView) { + @Override + public boolean onSingleTapConfirmed(MotionEvent e) { + android.graphics.Point screenPoint = new android.graphics.Point(Math.round(e.getX()), Math.round(e.getY())); + Point clickPoint = mapView.screenToLocation(screenPoint); + + return true; + } + }); } @Override @@ -208,7 +243,7 @@ */ @Override public void obtainVerifyListResult(CaseVerifyBean resultBean) { -// Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); + Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); if (resultBean.isSuccess()) { List rowsBeans = resultBean.getData().getRows(); if (rowsBeans.size() >= 1) { @@ -229,6 +264,11 @@ } private void addPictureMarker(Point point, int caseStatus) { + if (overlayGraphics != null && graphicsOverlays != null) { + overlayGraphics.clear(); + graphicsOverlays.clear(); + } + BitmapDrawable caseDrawable; switch (caseStatus) { case Constant.CASE_HANDLE: caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_handle); @@ -240,6 +280,7 @@ caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_check); break; default: + caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_case); break; } PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); @@ -249,9 +290,6 @@ pictureMarker.loadAsync(); Graphic graphic = new Graphic(point, pictureMarker); - GraphicsOverlay mGraphicsOverlay = new GraphicsOverlay(); - ListenableList overlayGraphics = mGraphicsOverlay.getGraphics(); - ListenableList graphicsOverlays = mapView.getGraphicsOverlays(); overlayGraphics.add(graphic); graphicsOverlays.add(mGraphicsOverlay); } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java index f02c712..c696986 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java @@ -53,7 +53,7 @@ @BindView(R.id.casePicRecyclerView) RecyclerView casePicRecyclerView; @BindView(R.id.caseHandleResultView) - EditText caseHandleResultView; + TextView caseHandleResultView; @BindView(R.id.caseCommonSentenceView) TextView caseCommonSentenceView; @@ -151,7 +151,7 @@ this.data = resultBean.getData().get(0); caseNumberView.setText(data.getCaseid()); caseOverTimeView.setText(data.getNodeLimittime()); - caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "无处理意见" : data.getCaseStateName()); + caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "案卷状态未知" : data.getCaseStateName()); casePlaceView.setText(data.getFieldintro()); caseDescriptionView.setText(data.getDescription()); @@ -197,6 +197,7 @@ CommonSentenceBean.DataBean dataBean = dataBeans.get(position); caseCommonSentenceView.setText(dataBean.getName()); + caseHandleResultView.setText(dataBean.getName()); } }).build().show(); } else { diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java index 7c2bd0e..6a6320a 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java @@ -374,6 +374,7 @@ startActivityForResult(intent, Constant.REQUEST_MAP_CODE); } else { Intent intent = new Intent(this, DisplayMapActivity.class); + intent.putExtra("caseType", data.getEorcName()); String dataLng = data.getLng(); if (TextUtils.isEmpty(dataLng)) { ToastHelper.showToast("案卷经度异常", ToastHelper.ERROR); diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java index d258c0b..f612abf 100644 --- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java @@ -96,7 +96,7 @@ * [116.598359, 28.247870, 0.000000, NaN] SR: 4326 */ Point point = new Point(lng, lat, mapView.getSpatialReference()); - mapView.setViewpointCenterAsync(point, 2500);//标注到指定经纬度并放大地图显示 + mapView.setViewpointCenterAsync(point, 1000);//标注到指定经纬度并放大地图显示 //添加普通小圆点Marker // addSimpleMarker(point); @@ -116,7 +116,7 @@ } private void addPictureMarker(Point point) { - BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_handle); + BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_case); PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); pictureMarker.setHeight(24); pictureMarker.setWidth(24); diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java index abb4436..26d9b6f 100644 --- a/app/src/main/java/com/casic/dcms/utils/Constant.java +++ b/app/src/main/java/com/casic/dcms/utils/Constant.java @@ -15,18 +15,6 @@ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CALL_PHONE, Manifest.permission.READ_PHONE_STATE}; - public static final List ALL_ICONS = Arrays.asList( - R.mipmap.ajsb, R.mipmap.kssb, R.mipmap.sbsb, - R.mipmap.ajhs, R.mipmap.ajhc, R.mipmap.ajcl, - R.mipmap.jjyj, R.mipmap.csdb, R.mipmap.tjfx, - R.mipmap.zgry, R.mipmap.ajcx, R.mipmap.dtck); - - public static final List ALL_ITEMS = Arrays.asList( - "案卷上报", "快速上报", "三包上报", - "案卷核实", "案卷核查", "案卷处理", - "紧急要件", "超时督办", "统计分析", - "在岗人员", "案卷查询", "案卷分布"); - public static final List ANALYSIS_ICONS = Arrays.asList( R.drawable.ic_wtly, R.drawable.ic_ajzt, R.drawable.ic_gfwt, R.drawable.ic_jdtj, R.drawable.ic_cltj, R.drawable.ic_qsfx); @@ -55,6 +43,9 @@ public static final int CASE_VERIFY = 1; public static final int CASE_CHECK = 2; + public static final double DEFAULT_LNG = 116.06639658728571; + public static final double DEFAULT_LAT = 27.759547805536418; + public static final String IP_KEY = "BASE_IP"; public static final String LOGIN_OUT_ACTION = "loginOut"; public static final String NOTICE_MSG = "receivePush"; diff --git a/app/src/main/res/layout/activity_case_handle_detail.xml b/app/src/main/res/layout/activity_case_handle_detail.xml index f033833..4b92553 100644 --- a/app/src/main/res/layout/activity_case_handle_detail.xml +++ b/app/src/main/res/layout/activity_case_handle_detail.xml @@ -26,7 +26,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" - android:drawableEnd="@mipmap/point" android:text="案卷图片" android:textSize="@dimen/textFontSize" /> @@ -34,6 +33,7 @@ android:id="@+id/casePicRecyclerView" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginStart="25dp" android:layout_toEndOf="@id/t" /> @@ -44,8 +44,6 @@ @@ -66,7 +64,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" - android:drawableEnd="@mipmap/point" android:text="完成时限" android:textSize="@dimen/textFontSize" /> diff --git a/app/src/main/res/layout/activity_case_todo_detail.xml b/app/src/main/res/layout/activity_case_todo_detail.xml index 957b6a8..8e25d43 100644 --- a/app/src/main/res/layout/activity_case_todo_detail.xml +++ b/app/src/main/res/layout/activity_case_todo_detail.xml @@ -180,17 +180,12 @@ android:text="督办意见" android:textSize="@dimen/textFontSize" /> - diff --git a/app/src/main/res/layout/activity_case_upload.xml b/app/src/main/res/layout/activity_case_upload.xml index 5cfa31e..1b94cc1 100644 --- a/app/src/main/res/layout/activity_case_upload.xml +++ b/app/src/main/res/layout/activity_case_upload.xml @@ -116,7 +116,7 @@ android:layout_height="wrap_content" android:layout_centerVertical="true" android:drawableEnd="@mipmap/point" - android:text="经度" + android:text="经\u3000\u3000度" android:textSize="@dimen/textFontSize" /> overlayGraphics; + private ListenableList graphicsOverlays; + private GraphicsOverlay mGraphicsOverlay; @Override public int initLayoutView() { @@ -92,17 +101,43 @@ arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); + ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); + + ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); + + arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); + mapView.setMap(arcGISMap); + caseHandleListPresenter = new CaseHandleListPresenterImpl(this); caseVerifyPresenter = new CaseVerifyPresenterImpl(this); caseCheckPresenter = new CaseCheckPresenterImpl(this); //默认加载处置中数据 caseHandleListPresenter.onReadyRetrofitRequest(null, null, 1000, 1); + + //Marker相关Layer + mGraphicsOverlay = new GraphicsOverlay(); + overlayGraphics = mGraphicsOverlay.getGraphics(); + graphicsOverlays = mapView.getGraphicsOverlays(); } + @SuppressLint("ClickableViewAccessibility") @Override public void initEvent() { radioGroup.setOnCheckedChangeListener(this); + mapView.setOnTouchListener(new DefaultMapViewOnTouchListener(this, mapView) { + @Override + public boolean onSingleTapConfirmed(MotionEvent e) { + android.graphics.Point screenPoint = new android.graphics.Point(Math.round(e.getX()), Math.round(e.getY())); + Point clickPoint = mapView.screenToLocation(screenPoint); + + return true; + } + }); } @Override @@ -208,7 +243,7 @@ */ @Override public void obtainVerifyListResult(CaseVerifyBean resultBean) { -// Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); + Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); if (resultBean.isSuccess()) { List rowsBeans = resultBean.getData().getRows(); if (rowsBeans.size() >= 1) { @@ -229,6 +264,11 @@ } private void addPictureMarker(Point point, int caseStatus) { + if (overlayGraphics != null && graphicsOverlays != null) { + overlayGraphics.clear(); + graphicsOverlays.clear(); + } + BitmapDrawable caseDrawable; switch (caseStatus) { case Constant.CASE_HANDLE: caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_handle); @@ -240,6 +280,7 @@ caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_check); break; default: + caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_case); break; } PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); @@ -249,9 +290,6 @@ pictureMarker.loadAsync(); Graphic graphic = new Graphic(point, pictureMarker); - GraphicsOverlay mGraphicsOverlay = new GraphicsOverlay(); - ListenableList overlayGraphics = mGraphicsOverlay.getGraphics(); - ListenableList graphicsOverlays = mapView.getGraphicsOverlays(); overlayGraphics.add(graphic); graphicsOverlays.add(mGraphicsOverlay); } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java index f02c712..c696986 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java @@ -53,7 +53,7 @@ @BindView(R.id.casePicRecyclerView) RecyclerView casePicRecyclerView; @BindView(R.id.caseHandleResultView) - EditText caseHandleResultView; + TextView caseHandleResultView; @BindView(R.id.caseCommonSentenceView) TextView caseCommonSentenceView; @@ -151,7 +151,7 @@ this.data = resultBean.getData().get(0); caseNumberView.setText(data.getCaseid()); caseOverTimeView.setText(data.getNodeLimittime()); - caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "无处理意见" : data.getCaseStateName()); + caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "案卷状态未知" : data.getCaseStateName()); casePlaceView.setText(data.getFieldintro()); caseDescriptionView.setText(data.getDescription()); @@ -197,6 +197,7 @@ CommonSentenceBean.DataBean dataBean = dataBeans.get(position); caseCommonSentenceView.setText(dataBean.getName()); + caseHandleResultView.setText(dataBean.getName()); } }).build().show(); } else { diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java index 7c2bd0e..6a6320a 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java @@ -374,6 +374,7 @@ startActivityForResult(intent, Constant.REQUEST_MAP_CODE); } else { Intent intent = new Intent(this, DisplayMapActivity.class); + intent.putExtra("caseType", data.getEorcName()); String dataLng = data.getLng(); if (TextUtils.isEmpty(dataLng)) { ToastHelper.showToast("案卷经度异常", ToastHelper.ERROR); diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java index d258c0b..f612abf 100644 --- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java @@ -96,7 +96,7 @@ * [116.598359, 28.247870, 0.000000, NaN] SR: 4326 */ Point point = new Point(lng, lat, mapView.getSpatialReference()); - mapView.setViewpointCenterAsync(point, 2500);//标注到指定经纬度并放大地图显示 + mapView.setViewpointCenterAsync(point, 1000);//标注到指定经纬度并放大地图显示 //添加普通小圆点Marker // addSimpleMarker(point); @@ -116,7 +116,7 @@ } private void addPictureMarker(Point point) { - BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_handle); + BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_case); PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); pictureMarker.setHeight(24); pictureMarker.setWidth(24); diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java index abb4436..26d9b6f 100644 --- a/app/src/main/java/com/casic/dcms/utils/Constant.java +++ b/app/src/main/java/com/casic/dcms/utils/Constant.java @@ -15,18 +15,6 @@ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CALL_PHONE, Manifest.permission.READ_PHONE_STATE}; - public static final List ALL_ICONS = Arrays.asList( - R.mipmap.ajsb, R.mipmap.kssb, R.mipmap.sbsb, - R.mipmap.ajhs, R.mipmap.ajhc, R.mipmap.ajcl, - R.mipmap.jjyj, R.mipmap.csdb, R.mipmap.tjfx, - R.mipmap.zgry, R.mipmap.ajcx, R.mipmap.dtck); - - public static final List ALL_ITEMS = Arrays.asList( - "案卷上报", "快速上报", "三包上报", - "案卷核实", "案卷核查", "案卷处理", - "紧急要件", "超时督办", "统计分析", - "在岗人员", "案卷查询", "案卷分布"); - public static final List ANALYSIS_ICONS = Arrays.asList( R.drawable.ic_wtly, R.drawable.ic_ajzt, R.drawable.ic_gfwt, R.drawable.ic_jdtj, R.drawable.ic_cltj, R.drawable.ic_qsfx); @@ -55,6 +43,9 @@ public static final int CASE_VERIFY = 1; public static final int CASE_CHECK = 2; + public static final double DEFAULT_LNG = 116.06639658728571; + public static final double DEFAULT_LAT = 27.759547805536418; + public static final String IP_KEY = "BASE_IP"; public static final String LOGIN_OUT_ACTION = "loginOut"; public static final String NOTICE_MSG = "receivePush"; diff --git a/app/src/main/res/layout/activity_case_handle_detail.xml b/app/src/main/res/layout/activity_case_handle_detail.xml index f033833..4b92553 100644 --- a/app/src/main/res/layout/activity_case_handle_detail.xml +++ b/app/src/main/res/layout/activity_case_handle_detail.xml @@ -26,7 +26,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" - android:drawableEnd="@mipmap/point" android:text="案卷图片" android:textSize="@dimen/textFontSize" /> @@ -34,6 +33,7 @@ android:id="@+id/casePicRecyclerView" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginStart="25dp" android:layout_toEndOf="@id/t" /> @@ -44,8 +44,6 @@ @@ -66,7 +64,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" - android:drawableEnd="@mipmap/point" android:text="完成时限" android:textSize="@dimen/textFontSize" /> diff --git a/app/src/main/res/layout/activity_case_todo_detail.xml b/app/src/main/res/layout/activity_case_todo_detail.xml index 957b6a8..8e25d43 100644 --- a/app/src/main/res/layout/activity_case_todo_detail.xml +++ b/app/src/main/res/layout/activity_case_todo_detail.xml @@ -180,17 +180,12 @@ android:text="督办意见" android:textSize="@dimen/textFontSize" /> - diff --git a/app/src/main/res/layout/activity_case_upload.xml b/app/src/main/res/layout/activity_case_upload.xml index 5cfa31e..1b94cc1 100644 --- a/app/src/main/res/layout/activity_case_upload.xml +++ b/app/src/main/res/layout/activity_case_upload.xml @@ -116,7 +116,7 @@ android:layout_height="wrap_content" android:layout_centerVertical="true" android:drawableEnd="@mipmap/point" - android:text="经度" + android:text="经\u3000\u3000度" android:textSize="@dimen/textFontSize" /> overlayGraphics; + private ListenableList graphicsOverlays; + private GraphicsOverlay mGraphicsOverlay; @Override public int initLayoutView() { @@ -92,17 +101,43 @@ arcGISMap.setBasemap(basemap); mapView.setMap(arcGISMap); + ServiceFeatureTable communityFeatureTable = new ServiceFeatureTable(Constant.BASE_MAP_SERVICE_URL + "/13"); + communityFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer communityLayer = new FeatureLayer(communityFeatureTable); + + ServiceFeatureTable pointFeatureTable = new ServiceFeatureTable(Constant.COMPONENT_SERVICE_URL + "/0"); + pointFeatureTable.setFeatureRequestMode(ServiceFeatureTable.FeatureRequestMode.ON_INTERACTION_NO_CACHE); + FeatureLayer pointLayer = new FeatureLayer(pointFeatureTable); + + arcGISMap.getOperationalLayers().addAll(Arrays.asList(communityLayer, pointLayer)); + mapView.setMap(arcGISMap); + caseHandleListPresenter = new CaseHandleListPresenterImpl(this); caseVerifyPresenter = new CaseVerifyPresenterImpl(this); caseCheckPresenter = new CaseCheckPresenterImpl(this); //默认加载处置中数据 caseHandleListPresenter.onReadyRetrofitRequest(null, null, 1000, 1); + + //Marker相关Layer + mGraphicsOverlay = new GraphicsOverlay(); + overlayGraphics = mGraphicsOverlay.getGraphics(); + graphicsOverlays = mapView.getGraphicsOverlays(); } + @SuppressLint("ClickableViewAccessibility") @Override public void initEvent() { radioGroup.setOnCheckedChangeListener(this); + mapView.setOnTouchListener(new DefaultMapViewOnTouchListener(this, mapView) { + @Override + public boolean onSingleTapConfirmed(MotionEvent e) { + android.graphics.Point screenPoint = new android.graphics.Point(Math.round(e.getX()), Math.round(e.getY())); + Point clickPoint = mapView.screenToLocation(screenPoint); + + return true; + } + }); } @Override @@ -208,7 +243,7 @@ */ @Override public void obtainVerifyListResult(CaseVerifyBean resultBean) { -// Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); + Log.d(TAG, "obtainVerifyListResult: " + new Gson().toJson(resultBean)); if (resultBean.isSuccess()) { List rowsBeans = resultBean.getData().getRows(); if (rowsBeans.size() >= 1) { @@ -229,6 +264,11 @@ } private void addPictureMarker(Point point, int caseStatus) { + if (overlayGraphics != null && graphicsOverlays != null) { + overlayGraphics.clear(); + graphicsOverlays.clear(); + } + BitmapDrawable caseDrawable; switch (caseStatus) { case Constant.CASE_HANDLE: caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_handle); @@ -240,6 +280,7 @@ caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_check); break; default: + caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_case); break; } PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); @@ -249,9 +290,6 @@ pictureMarker.loadAsync(); Graphic graphic = new Graphic(point, pictureMarker); - GraphicsOverlay mGraphicsOverlay = new GraphicsOverlay(); - ListenableList overlayGraphics = mGraphicsOverlay.getGraphics(); - ListenableList graphicsOverlays = mapView.getGraphicsOverlays(); overlayGraphics.add(graphic); graphicsOverlays.add(mGraphicsOverlay); } diff --git a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java index f02c712..c696986 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseTodoDetailActivity.java @@ -53,7 +53,7 @@ @BindView(R.id.casePicRecyclerView) RecyclerView casePicRecyclerView; @BindView(R.id.caseHandleResultView) - EditText caseHandleResultView; + TextView caseHandleResultView; @BindView(R.id.caseCommonSentenceView) TextView caseCommonSentenceView; @@ -151,7 +151,7 @@ this.data = resultBean.getData().get(0); caseNumberView.setText(data.getCaseid()); caseOverTimeView.setText(data.getNodeLimittime()); - caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "无处理意见" : data.getCaseStateName()); + caseHandleStatusView.setText(data.getCaseStateName().equals("") ? "案卷状态未知" : data.getCaseStateName()); casePlaceView.setText(data.getFieldintro()); caseDescriptionView.setText(data.getDescription()); @@ -197,6 +197,7 @@ CommonSentenceBean.DataBean dataBean = dataBeans.get(position); caseCommonSentenceView.setText(dataBean.getName()); + caseHandleResultView.setText(dataBean.getName()); } }).build().show(); } else { diff --git a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java index 7c2bd0e..6a6320a 100644 --- a/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/CaseVerifyDetailActivity.java @@ -374,6 +374,7 @@ startActivityForResult(intent, Constant.REQUEST_MAP_CODE); } else { Intent intent = new Intent(this, DisplayMapActivity.class); + intent.putExtra("caseType", data.getEorcName()); String dataLng = data.getLng(); if (TextUtils.isEmpty(dataLng)) { ToastHelper.showToast("案卷经度异常", ToastHelper.ERROR); diff --git a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java index d258c0b..f612abf 100644 --- a/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/ui/DisplayMapActivity.java @@ -96,7 +96,7 @@ * [116.598359, 28.247870, 0.000000, NaN] SR: 4326 */ Point point = new Point(lng, lat, mapView.getSpatialReference()); - mapView.setViewpointCenterAsync(point, 2500);//标注到指定经纬度并放大地图显示 + mapView.setViewpointCenterAsync(point, 1000);//标注到指定经纬度并放大地图显示 //添加普通小圆点Marker // addSimpleMarker(point); @@ -116,7 +116,7 @@ } private void addPictureMarker(Point point) { - BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_handle); + BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(this, R.mipmap.location_case); PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); pictureMarker.setHeight(24); pictureMarker.setWidth(24); diff --git a/app/src/main/java/com/casic/dcms/utils/Constant.java b/app/src/main/java/com/casic/dcms/utils/Constant.java index abb4436..26d9b6f 100644 --- a/app/src/main/java/com/casic/dcms/utils/Constant.java +++ b/app/src/main/java/com/casic/dcms/utils/Constant.java @@ -15,18 +15,6 @@ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CALL_PHONE, Manifest.permission.READ_PHONE_STATE}; - public static final List ALL_ICONS = Arrays.asList( - R.mipmap.ajsb, R.mipmap.kssb, R.mipmap.sbsb, - R.mipmap.ajhs, R.mipmap.ajhc, R.mipmap.ajcl, - R.mipmap.jjyj, R.mipmap.csdb, R.mipmap.tjfx, - R.mipmap.zgry, R.mipmap.ajcx, R.mipmap.dtck); - - public static final List ALL_ITEMS = Arrays.asList( - "案卷上报", "快速上报", "三包上报", - "案卷核实", "案卷核查", "案卷处理", - "紧急要件", "超时督办", "统计分析", - "在岗人员", "案卷查询", "案卷分布"); - public static final List ANALYSIS_ICONS = Arrays.asList( R.drawable.ic_wtly, R.drawable.ic_ajzt, R.drawable.ic_gfwt, R.drawable.ic_jdtj, R.drawable.ic_cltj, R.drawable.ic_qsfx); @@ -55,6 +43,9 @@ public static final int CASE_VERIFY = 1; public static final int CASE_CHECK = 2; + public static final double DEFAULT_LNG = 116.06639658728571; + public static final double DEFAULT_LAT = 27.759547805536418; + public static final String IP_KEY = "BASE_IP"; public static final String LOGIN_OUT_ACTION = "loginOut"; public static final String NOTICE_MSG = "receivePush"; diff --git a/app/src/main/res/layout/activity_case_handle_detail.xml b/app/src/main/res/layout/activity_case_handle_detail.xml index f033833..4b92553 100644 --- a/app/src/main/res/layout/activity_case_handle_detail.xml +++ b/app/src/main/res/layout/activity_case_handle_detail.xml @@ -26,7 +26,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" - android:drawableEnd="@mipmap/point" android:text="案卷图片" android:textSize="@dimen/textFontSize" /> @@ -34,6 +33,7 @@ android:id="@+id/casePicRecyclerView" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginStart="25dp" android:layout_toEndOf="@id/t" /> @@ -44,8 +44,6 @@ @@ -66,7 +64,6 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" - android:drawableEnd="@mipmap/point" android:text="完成时限" android:textSize="@dimen/textFontSize" /> diff --git a/app/src/main/res/layout/activity_case_todo_detail.xml b/app/src/main/res/layout/activity_case_todo_detail.xml index 957b6a8..8e25d43 100644 --- a/app/src/main/res/layout/activity_case_todo_detail.xml +++ b/app/src/main/res/layout/activity_case_todo_detail.xml @@ -180,17 +180,12 @@ android:text="督办意见" android:textSize="@dimen/textFontSize" /> - diff --git a/app/src/main/res/layout/activity_case_upload.xml b/app/src/main/res/layout/activity_case_upload.xml index 5cfa31e..1b94cc1 100644 --- a/app/src/main/res/layout/activity_case_upload.xml +++ b/app/src/main/res/layout/activity_case_upload.xml @@ -116,7 +116,7 @@ android:layout_height="wrap_content" android:layout_centerVertical="true" android:drawableEnd="@mipmap/point" - android:text="经度" + android:text="经\u3000\u3000度" android:textSize="@dimen/textFontSize" />