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