From c32f79fc7ed1b6f14c5c2340fc96557f38279753 Mon Sep 17 00:00:00 2001
From: Admin <Dana_Lee1016@126.com>
Date: 星期一, 22 二月 2021 10:51:44 +0800
Subject: [PATCH] 不用拷贝giscar到本地了。改为从平台获取,保存至本地,然后进行读取

---
 app/src/main/java/safeluck/drive/evaluation/fragment/ArcGisMapFragment.java |   41 +++++++++++++++++++++++++++++++++++------
 1 files changed, 35 insertions(+), 6 deletions(-)

diff --git a/app/src/main/java/safeluck/drive/evaluation/fragment/ArcGisMapFragment.java b/app/src/main/java/safeluck/drive/evaluation/fragment/ArcGisMapFragment.java
index 8d62c10..feabb12 100644
--- a/app/src/main/java/safeluck/drive/evaluation/fragment/ArcGisMapFragment.java
+++ b/app/src/main/java/safeluck/drive/evaluation/fragment/ArcGisMapFragment.java
@@ -33,10 +33,14 @@
 import com.esri.arcgisruntime.geometry.SpatialReference;
 import com.esri.arcgisruntime.layers.ArcGISMapImageLayer;
 import com.esri.arcgisruntime.layers.ArcGISTiledLayer;
+import com.esri.arcgisruntime.loadable.LoadStatus;
 import com.esri.arcgisruntime.mapping.ArcGISMap;
+import com.esri.arcgisruntime.mapping.MobileMapPackage;
 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.MapScaleChangedEvent;
+import com.esri.arcgisruntime.mapping.view.MapScaleChangedListener;
 import com.esri.arcgisruntime.mapping.view.MapView;
 import com.esri.arcgisruntime.symbology.SimpleFillSymbol;
 import com.esri.arcgisruntime.symbology.SimpleLineSymbol;
@@ -46,6 +50,7 @@
 import org.json.JSONException;
 import org.json.JSONObject;
 
+import java.io.File;
 import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
@@ -117,13 +122,18 @@
                 ExamStatus examStatus = (ExamStatus)obj;
                 if (examStatus.getMap_id()>-1){
                     if (examStatus.getEnter()==ENTER){
-                        MyLog.i(TAG,String.format("杩涘叆[%d] map",examStatus.getMap_id()));
                         double scale = mMapView.getMapScale();
-                        mMapView.setViewpointScaleAsync(scale * 0.2*0.2);
+                        MyLog.i(TAG,String.format("杩涘叆[%d] map,scale=%f",examStatus.getMap_id(),scale));
+                        mMapView.setViewpointScaleAsync(scale * 0.2);
+
+
+
                     }else{
-                        MyLog.i(TAG,String.format("閫�鍑篬%d] map",examStatus.getMap_id()));
                         double scale = mMapView.getMapScale();
-                        mMapView.setViewpointScaleAsync(scale * 5*5);
+                        MyLog.i(TAG,String.format("閫�鍑篬%d] map,scale=%f",examStatus.getMap_id(),scale));
+
+                        mMapView.setViewpointScaleAsync(scale * 5);
+
                     }
                 }
             }
@@ -177,6 +187,12 @@
 
         View view = inflater.inflate(R.layout.layout_arc_gis,container,false);
         mMapView = view.findViewById(R.id.mapView);
+        mMapView.addMapScaleChangedListener(new MapScaleChangedListener() {
+            @Override
+            public void mapScaleChanged(MapScaleChangedEvent mapScaleChangedEvent) {
+                Log.i(TAG,"mapscaleChangelistenre");
+            }
+        });
         view.findViewById(R.id.btn_change_map).setOnClickListener(this);
         mSurfaceView = view.findViewById(R.id.surfaceview_arcgis);
 
@@ -258,6 +274,18 @@
 
 
         addTrailheadsLayer();
+//        url = Environment.getExternalStorageDirectory().getAbsolutePath()+ File.separator+_mActivity.getPackageName()+"/shoufei0220.mmpk";
+//        Log.i(TAG,"url ========="+url);
+//        final MobileMapPackage mobileMapPackage = new MobileMapPackage(url);
+//        mobileMapPackage.loadAsync();
+//        mobileMapPackage.addDoneLoadingListener(()->{
+//            LoadStatus loadStatus = mobileMapPackage.getLoadStatus();
+//            if (loadStatus==LoadStatus.LOADED){
+//                List<ArcGISMap> mainArcGisMapL = mobileMapPackage.getMaps();
+//                ArcGISMap mainArcGismapMMPK = mainArcGisMapL.get(0);
+//                mMapView.setMap(mainArcGismapMMPK);
+//            }
+//        });
         return view;
     }
 
@@ -705,7 +733,7 @@
             // create an empty map instance
             ArcGISMap map = new ArcGISMap();
             Log.i(TAG,String.format("map.getMiniScale=%f",map.getMinScale()));
-            map.setMinScale(1000.0);
+            map.setMinScale(400.0);
             // add map image layer as operational layer
             map.getOperationalLayers().add(mapImageLayer);
             mMapView.setMap(map);
@@ -769,8 +797,9 @@
     }
     private void readGisCar() {
 
-        String carFilePath = Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+_mActivity.getPackageName()+"/lianfang_giscar.json";
+        String carFilePath = Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+_mActivity.getPackageName()+"/gisvehiclemodel.json";
         if (TextUtils.isEmpty(carFilePath)){
+            Toast.makeText(_mActivity, "杞﹁締妯″瀷鏂囦欢涓嶅瓨鍦�", Toast.LENGTH_SHORT).show();
             MyLog.i (TAG, "GISCar杞﹁締妯″瀷鏂囦欢涓嶅瓨鍦�");
             return ;
         }

--
Gitblit v1.8.0