endian11
2020-08-25 3be3637ae5a3e763ba99c8f6a1bb0cb144b7647f
查看地图改为web   新增gps_monitor_url
12个文件已修改
302 ■■■■ 已修改文件
app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigUpdateWorker.kt 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/app.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/bean/CarInfoHead.kt 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/fragment/JiaXiaoFragment.java 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/fragment/VPFragment.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/httpmodule/HttpRoadMapRsp.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/httpmodule/HttpYardRsp.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/util/DataInit.kt 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/values/strings.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/DB/rtktb/RTKConfigUpdateWorker.kt
@@ -32,6 +32,7 @@
import safeluck.drive.evaluation.util.CThreadPoolExecutor
import safeluck.drive.evaluation.util.FileUtil
import java.io.IOException
import java.net.URLDecoder
class RTKConfigUpdateWorker(context:Context, workerParams: WorkerParameters) :Worker(context, workerParams){
@@ -98,7 +99,7 @@
                    jsonObject1 = JSONObject(str)
                    val result = jsonObject1!!.getBoolean("result")
                    if (result) {
                        var mapInfoHead:MapInfoHead = MapInfoHead("","",BaseDataUIBean.TYPE_.car)
                        var mapInfoHead:MapInfoHead = MapInfoHead("","",BaseDataUIBean.TYPE_.car,"","")
                        when(type){
                            "road" ->{
@@ -110,6 +111,8 @@
                                    if (map.data.map_json.type.equals("road")) {
                                        mapInfoHead.str = map.data.map_json.name
                                        mapInfoHead.gps_moinitor_url =  URLDecoder.decode( map.data.gps_monitor_url,"UTF-8")
                                        mapInfoHead.arcgis_url = map.data.map_url
                                        ExamPlatformData.getInstance().setNewRoadMapPath(Environment.getExternalStorageDirectory().absolutePath + "/"
                                                + applicationContext.getPackageName() + "/" + fileName)
                                        CThreadPoolExecutor.runInBackground(Runnable {
@@ -130,9 +133,13 @@
                                    val yard = gson.fromJson<HttpYardRsp>(str,HttpYardRsp::class.java)
                                    if (yard.isResult){
                                        if (yard.data !=null){
                                            mapInfoHead.version = yard.data.version
                                            Log.i(TAG,"yard====")
                                            mapInfoHead.version = yard.data.version
                                            mapInfoHead.gps_moinitor_url =             URLDecoder.decode(yard.data.gps_monitor_url,"UTF-8")
                                            Log.i(PlatFormConstant.HTTPTAG,"gps="+mapInfoHead.gps_moinitor_url)
                                            mapInfoHead.str = yard.data.map_json.name
                                            mapInfoHead.arcgis_url = yard.data.map_url
                                            ExamPlatformData.getInstance().setNewMapPath(Environment.getExternalStorageDirectory().absolutePath + "/"
                                                    + applicationContext.getPackageName() + "/"+fileName)
                                            CThreadPoolExecutor.runInBackground(Runnable{
@@ -150,8 +157,14 @@
                                if (car.isResult){
                                    if (car.data !=null){
                                        if (car.data.version != null){
                                        mapInfoHead.version = car.data.version
                                        mapInfoHead.str = car.data.map_json.name
                                        }
                                        if (car.data.map_json!= null){
                                            mapInfoHead.str = car.data.map_json.name
                                        }
                                        ExamPlatformData.getInstance().carModelPath = Environment.getExternalStorageDirectory().absolutePath + "/" +
                                                applicationContext.getPackageName() + "/"+fileName
app/src/main/java/safeluck/drive/evaluation/app.java
@@ -82,7 +82,7 @@
                        }
                    })
                    .install();
            CrashHandler crashHandler = CrashHandler.getInstance();
            crashHandler.init(getApplicationContext());
            AYSdk.getInstance().init(getApplicationContext());
app/src/main/java/safeluck/drive/evaluation/bean/CarInfoHead.kt
@@ -5,4 +5,4 @@
 * 邮箱:632393724@qq.com
 * All Rights Saved! Chongqing AnYun Tech co. LTD
 */
data class MapInfoHead(var version:String,var str:String,var type:BaseDataUIBean.TYPE_)
data class MapInfoHead(var version:String,var str:String,var type:BaseDataUIBean.TYPE_,var gps_moinitor_url:String,var arcgis_url:String)
app/src/main/java/safeluck/drive/evaluation/fragment/BaseDatasFragment.java
@@ -135,15 +135,18 @@
                                        setitemInfo("考试平台状态         ", ExamPlatformData.getInstance().getExamplatformStatusStr(ExamPlatformData.getInstance().getExamplatformStatus()),R.mipmap.conn_status);
                                    }
                                    HashMap<BaseDataUIBean.TYPE_, MapInfoHead> hashMaps = ExamPlatformData.getInstance().getMapInfoHeads();
                                    Iterator<Map .Entry<BaseDataUIBean.TYPE_,MapInfoHead>> iterator = hashMaps.entrySet().iterator();
                                    while (iterator.hasNext()){
                                        Map.Entry<BaseDataUIBean.TYPE_,MapInfoHead>entry = iterator.next();
                                        Log.i(TAG,"key= " + entry.getKey() + " and value= " + entry.getValue());
                                        datas.add(new BaseDataUIBean(str2SpannableString(entry.getValue().getStr()),R.mipmap.province_id,str2FouregourdSpannableString(getResources().getString(R.string.mapversion)+entry.getValue().getVersion()),
                                                        entry.getKey()== BaseDataUIBean.TYPE_.car?"更新车辆模型":(entry.getKey()== BaseDataUIBean.TYPE_.road?"更新道路地图":"更新场地地图")
                                                ,1, entry.getKey()));
                                    if (hashMaps != null){
                                        Iterator<Map .Entry<BaseDataUIBean.TYPE_,MapInfoHead>> iterator = hashMaps.entrySet().iterator();
                                        while (iterator.hasNext()){
                                            Map.Entry<BaseDataUIBean.TYPE_,MapInfoHead>entry = iterator.next();
                                            Log.i(TAG,"key= " + entry.getKey() + " and value= " + entry.getValue());
                                            datas.add(new BaseDataUIBean(str2SpannableString(entry.getValue().getStr()),R.mipmap.province_id,str2FouregourdSpannableString(getResources().getString(R.string.mapversion)+entry.getValue().getVersion()),
                                                    entry.getKey()== BaseDataUIBean.TYPE_.car?"更新车辆模型":(entry.getKey()== BaseDataUIBean.TYPE_.road?"更新道路地图":"更新场地地图")
                                                    ,1, entry.getKey()));
                                        }
                                    }
                                    gpsInfoAdapter.addAll(datas);
                                }
                            });
app/src/main/java/safeluck/drive/evaluation/fragment/JiaXiaoFragment.java
@@ -4,6 +4,7 @@
import android.graphics.Color;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
@@ -17,6 +18,7 @@
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.anyun.basecommonlib.MyLog;
import com.esri.arcgisruntime.ArcGISRuntimeEnvironment;
import com.esri.arcgisruntime.arcgisservices.ArcGISMapServiceInfo;
import com.esri.arcgisruntime.concurrent.ListenableFuture;
@@ -63,6 +65,7 @@
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
@@ -90,25 +93,26 @@
    private static final String TAG = JiaXiaoFragment.class.getSimpleName();
    private LinkedBlockingQueue queue = new LinkedBlockingQueue(100);
    private ExecutorService consumer = Executors.newSingleThreadExecutor();
    private ExecutorService producer = Executors.newSingleThreadExecutor();
    private Gson gson = new Gson();
    private ICEventListener icEventListener = new ICEventListener() {
        @Override
        public void onCEvent(String topic, int msgCode, int resultCode, Object obj) {
            synchronized (JiaXiaoFragment.class){
                String json = (String)obj;
                Log.i(TAG,String.format("当前线程号%d,json=%s",Thread.currentThread().getId(),json));
                RTKInfoBean rtkInfoBean = gson.fromJson(json,RTKInfoBean.class);
                Log.i(TAG,String.format("CThreadPoolExecutor,当前线程号%d,Coord_x=%f,Coord_y=%f",
                        Thread.currentThread().getId(),rtkInfoBean.getCoord_x(),rtkInfoBean
                                .getCoord_y()));
                yaw = rtkInfoBean.getHeading();
                startX = rtkInfoBean.getCoord_y();
                startY = rtkInfoBean.getCoord_x();
                addGraphicLayer(yaw,startX,startY);
            }
                producer.execute(()->{
                    String json = (String)obj;
                    Log.i(TAG,String.format("当前线程号%d,json=%s",Thread.currentThread().getId(),json));
                    RTKInfoBean rtkInfoBean = gson.fromJson(json,RTKInfoBean.class);
                    queue.offer(rtkInfoBean);
                });
//                MyLog.i(TAG,"处理完11.时间="+Utils.formatTimeYYMMDDHHmmSSSSS(System.currentTimeMillis()));
        }
@@ -149,15 +153,54 @@
        View view = inflater.inflate(R.layout.layout_arc_gis,container,false);
        mMapView = view.findViewById(R.id.mapView);
        Log.i(TAG,String.format("当前线程号%d,json=%s",Thread.currentThread().getId(),"onCreateView"));
        setupMap();
        addTrailheadsLayer();
        addGraphicLayer(0,startX,startY);
//        setupMap();
//        addTrailheadsLayer();
addImageLayer();
//        addtiledLayer();
//        addGraphicLayer(0,startX,startY);
//        mHandler.sendEmptyMessageDelayed(MSG_CAR,1000);
//        consumer.execute(new CalRunnable());
        return view;
    }
    boolean flag = true;
    class CalRunnable implements Runnable{
        @Override
        public void run() {
            while (flag){
                RTKInfoBean rtkInfoBean = (RTKInfoBean) queue.poll();
                if (rtkInfoBean != null){
                    Log.i(TAG,String.format("取出一个,queue.size=%d,rtkinfo=%s",queue.size(),rtkInfoBean.toString()));
                    yaw = rtkInfoBean.getHeading();
                    startX = rtkInfoBean.getCoord_y();
                    startY = rtkInfoBean.getCoord_x();
                    addGraphicLayer(yaw,startX,startY);
                }else{
                    Log.i(TAG,String.format("取出一个为空,queue.size=%d",queue.size()));
                }
            }
        }
    }
    private SublayerList mSublayersList;
    private void setupMap() {
        if (mMapView != null) {
@@ -173,7 +216,9 @@
//一定不能少了最后的 /
        String url = "http://192.168.0.47:6080/arcgis/rest/services/%E5%9C%9F%E4%B8%BB%E8%80%83%E5%9C%BA/MapServer/";
//        String url = "http://192.168.0.47:6080/arcgis/rest/services/%E5%9C%9F%E4%B8%BB%E8%80%83%E5%9C%BA/MapServer/";
//        String url = "http://192.168.0.47:6080/arcgis/rest/services/%E7%A7%91%E4%B8%89%E5%9C%B0%E5%9B%BE/MapServer/";
        String url = "http://192.168.0.47:6080/arcgis/rest/services/%E7%A7%91%E4%BA%8C%E5%9C%B0%E5%9B%BE/MapServer/";
//        String url = "http://192.168.0.47:6080/arcgis/rest/services/test/MapServer/";
//        String url = "http://192.168.0.47:6080/arcgis/rest/services/Testmap_3/MapServer/";
        ArcGISMapImageLayer arcGISMapImageLayer = new ArcGISMapImageLayer(url);
@@ -183,10 +228,9 @@
                SublayerList tables = arcGISMapImageLayer.getSublayers();
                Log.i(TAG,"ServiceFeatureTables size = "+tables.size());
                for (int i = tables.size()-1; i >= 0; i--) {
                for (int i = tables.size()-1; i >=0; i--) {
//                for (int i =0; i < tables.size(); i++) {
        ServiceFeatureTable serviceFeatureTable = new ServiceFeatureTable(url+String.valueOf(i));
        FeatureLayer featureLayer = new FeatureLayer(serviceFeatureTable);
        ArcGISMap map = mMapView.getMap();
        map.getOperationalLayers().add(featureLayer);
@@ -195,19 +239,20 @@
        });
        final ListenableFuture<Boolean> viewPointSetFuture = mMapView.setViewpointRotationAsync(90);
        viewPointSetFuture.addDoneListener(() -> {
            try{
                boolean completed = viewPointSetFuture.get();
                if (completed){
                    Log.i(TAG,"Rotation completed successfully");
                }
            }catch (InterruptedException e){
                Log.i(TAG,"Rotation Interrupted");
            }catch (ExecutionException e){
            }
        });
//旋转90度 逆时针
//        final ListenableFuture<Boolean> viewPointSetFuture = mMapView.setViewpointRotationAsync(90);
//        viewPointSetFuture.addDoneListener(() -> {
//            try{
//                boolean completed = viewPointSetFuture.get();
//                if (completed){
//                    Log.i(TAG,"Rotation completed successfully");
//                }
//            }catch (InterruptedException e){
//                Log.i(TAG,"Rotation Interrupted");
//            }catch (ExecutionException e){
//
//            }
//        });
        mMapView.setOnTouchListener(new MapSingleTapListener(getContext(),mMapView));
@@ -220,14 +265,12 @@
        SimpleLineSymbol lineSymbol = new SimpleLineSymbol(SimpleLineSymbol.Style.SOLID, Color.rgb(232,0,0), 0.5f);
        SimpleFillSymbol simpleFillSymbol = new SimpleFillSymbol(SimpleFillSymbol.Style.SOLID, Color.argb(255,232,0,0), lineSymbol);
        PointCollection points = new PointCollection(SpatialReference.create(4544));
        String carFilePath = ExamPlatformData.getInstance().getCarModelPath();
        String carFilePath = Environment.getExternalStorageDirectory().getAbsolutePath()+"/"+_mActivity.getPackageName()+"/giscar.json";
        if (TextUtils.isEmpty(carFilePath)){
            Toast.makeText(_mActivity, "车辆模型文件不存在", Toast.LENGTH_SHORT).show();
            return;
        }
        CThreadPoolExecutor.runInBackground(new Runnable() {
            @Override
            public void run() {
                byte[] fileContentBytes=FileUtil.readFile(carFilePath);
                String buffer= new String(fileContentBytes);
//                Log.i(TAG,"giscar="+buffer);
@@ -235,8 +278,8 @@
                List<safeluck.drive.evaluation.bean.Point> carNew=Utils.getCarPoint(0,yaw,new safeluck.drive.evaluation.bean.Point(x,y));
                List<Integer> bodys =gisCarModel.getBody();
                for (int i = 0; i <bodys.size(); i++) {
                    Log.i(TAG,String.format("车身点位置:%d",bodys.get(i)));
                    Log.i(TAG,"新坐标"+carNew.get(bodys.get(i)).getX()+" Y="+carNew.get(bodys.get(i)).getY());
//                    Log.i(TAG,String.format("车身点位置:%d",bodys.get(i)));
//                    Log.i(TAG,"新坐标"+carNew.get(bodys.get(i)).getX()+" Y="+carNew.get(bodys.get(i)).getY());
                    points.add(carNew.get(bodys.get(i)).getX(),carNew.get(bodys.get(i)).getY());
                }
@@ -260,10 +303,9 @@
                });
            }
        });
    }
    private void drawPoint(Point point) {
@@ -272,25 +314,26 @@
        Graphic graphic = new Graphic(point, simpleMarkerSymbol);
        mGraphicsOverlay.getGraphics().add(graphic);
    }
    SimpleLineSymbol lineSymbolGls = new SimpleLineSymbol(SimpleLineSymbol.Style.SOLID, Color.BLACK, 0.5f);
    SimpleFillSymbol simpleFillSymbolGls = new SimpleFillSymbol(SimpleFillSymbol.Style.SOLID, Color.argb(255,0,0,0), lineSymbolGls);
    PointCollection points = new PointCollection(SpatialReference.create(4544));
    private void drawrightCenterGls(GisCarModel gisCarModel, List<safeluck.drive.evaluation.bean.Point> carNew) {
        SimpleLineSymbol lineSymbol = new SimpleLineSymbol(SimpleLineSymbol.Style.SOLID, Color.BLACK, 0.5f);
        SimpleFillSymbol simpleFillSymbol = new SimpleFillSymbol(SimpleFillSymbol.Style.SOLID, Color.argb(255,0,0,0), lineSymbol);
        PointCollection points = new PointCollection(SpatialReference.create(4544));
        drawGlses(carNew, simpleFillSymbol, points, gisCarModel.getRight_center_glass());
        drawGlses(carNew, simpleFillSymbol, points, gisCarModel.getLeft_center_glass());
        drawGlses(carNew, simpleFillSymbolGls, points, gisCarModel.getRight_center_glass());
        drawGlses(carNew, simpleFillSymbolGls, points, gisCarModel.getLeft_center_glass());
        List<Integer> frontCLs = new ArrayList<>();
        frontCLs.addAll(gisCarModel.getLeft_front_glass());
        frontCLs.addAll(gisCarModel.getRight_front_glass());
        drawGlses(carNew, simpleFillSymbol, points, frontCLs);
        drawGlses(carNew, simpleFillSymbolGls, points, frontCLs);
        frontCLs.clear();
        frontCLs.addAll(gisCarModel.getLeft_rear_glass());
        frontCLs.addAll(gisCarModel.getRight_rear_glass());
        drawGlses(carNew, simpleFillSymbol, points, frontCLs);
        drawGlses(carNew, simpleFillSymbolGls, points, frontCLs);
    }
@@ -397,7 +440,7 @@
    }
private void addImageLayer(){
            String url = "http://192.168.0.47:6080/arcgis/rest/services/%E5%9C%9F%E4%B8%BB%E8%80%83%E5%9C%BA/MobileServer";
            String url = "http://192.168.0.47:6080/arcgis/rest/services/%E5%9C%9F%E4%B8%BB%E8%80%83%E5%9C%BA/MobileServer/";
    // create a MapImageLayer with dynamically generated map images
    final ArcGISMapImageLayer mapImageLayer = new ArcGISMapImageLayer(url);
//    mapImageLayer.loadAsync();
@@ -421,7 +464,7 @@
private void addtiledLayer(){
//    String url = "http://192.168.0.47:6080/arcgis/rest/services/%E5%9C%9F%E4%B8%BB%E8%80%83%E5%9C%BA/MapServer";
    String url = "http://192.168.0.47:6080/arcgis/manager/service.html?name=SampleWorldCities.MapServer";
    String url = "http://192.168.0.47:6080/arcgis/rest/services/%E7%A7%91%E4%BA%8C%E5%9C%B0%E5%9B%BE/MapServer";
    // create a MapImageLayer with dynamically generated map images
    final ArcGISTiledLayer arcGISTiledLayer = new ArcGISTiledLayer(url);
    // Add a listener that is invoked when layer loading has completed.
@@ -482,13 +525,15 @@
        if (mMapView != null) {
            mMapView.dispose();
        }
        CEventCenter.onBindEvent(false,icEventListener, Constant.BIND_RTK_INFO_MAP);
//        CEventCenter.onBindEvent(false,icEventListener, Constant.BIND_RTK_INFO_MAP);
        producer.shutdown();
        consumer .shutdown();
        super.onDetach();
    }
    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        CEventCenter.onBindEvent(true,icEventListener,Constant.BIND_RTK_INFO_MAP);
//        CEventCenter.onBindEvent(true,icEventListener,Constant.BIND_RTK_INFO_MAP);
    }
}
app/src/main/java/safeluck/drive/evaluation/fragment/NetWorkTrainFragment.java
@@ -56,7 +56,9 @@
import safeluck.drive.evaluation.R;
import safeluck.drive.evaluation.adapter.ScoreAdapter;
import safeluck.drive.evaluation.DB.exam_status.ExamStatus;
import safeluck.drive.evaluation.bean.BaseDataUIBean;
import safeluck.drive.evaluation.bean.ExamPlatformData;
import safeluck.drive.evaluation.bean.MapInfoHead;
import safeluck.drive.evaluation.bean.ScoreBean;
import safeluck.drive.evaluation.cEventCenter.CEventCenter;
import safeluck.drive.evaluation.cEventCenter.ICEventListener;
@@ -613,19 +615,40 @@
            case R.id.view_map:
                if (ExamPlatformData.getInstance().getExamType()>ExamPlatformData.EXAM_TYPE_ChangKAO){
                    RoadDriveMapFragmentaa mapFragment = findFragment(RoadDriveMapFragmentaa.class);
//                    RoadDriveMapFragmentaa mapFragment = findFragment(RoadDriveMapFragmentaa.class);
                    MyLog.i(TAG,"查看路考地图");
                    if (mapFragment == null) {
                        mapFragment = (RoadDriveMapFragmentaa) RoadDriveMapFragmentaa.newInstance();
//                    if (mapFragment == null) {
//                        mapFragment = (RoadDriveMapFragmentaa) RoadDriveMapFragmentaa.newInstance();
//                    }
//                    start(mapFragment);
                    MapInfoHead mapInfoHead = ExamPlatformData.getInstance().getMapInfoHeads().get(BaseDataUIBean.TYPE_.road);
                    String url = mapInfoHead.getGps_moinitor_url();
                    Log.i(TAG,"map head lulao gps url="+url);
                    VPFragment jiaXiaoFragment = findFragment(VPFragment.class);
                    if (jiaXiaoFragment == null) {
                        jiaXiaoFragment = (VPFragment) VPFragment.newInstance(url);
                    }
                    start(mapFragment);
                    start(jiaXiaoFragment);
                }else{
                    MapFragment mapFragment = findFragment(MapFragment.class);
//                    MapFragment mapFragment = findFragment(MapFragment.class);
                    MyLog.i(TAG,"查看场考地图");
                    if (mapFragment == null) {
                        mapFragment = (MapFragment) MapFragment.newInstance();
//                    if (mapFragment == null) {
//                        mapFragment = (MapFragment) MapFragment.newInstance();
//                    }
//                    start(mapFragment);
                    VPFragment jiaXiaoFragment = findFragment(VPFragment.class);
                    if (jiaXiaoFragment == null) {
                        MapInfoHead mapInfoHead = ExamPlatformData.getInstance().getMapInfoHeads().get(BaseDataUIBean.TYPE_.yard);
                        String url = mapInfoHead.getGps_moinitor_url();
                        Log.i(TAG,"map head gps url="+url);
                        jiaXiaoFragment = (VPFragment) VPFragment.newInstance(url);
                    }
                    start(mapFragment);
                    start(jiaXiaoFragment);
                }
                break;
app/src/main/java/safeluck/drive/evaluation/fragment/TrainFragment.java
@@ -59,7 +59,9 @@
import safeluck.drive.evaluation.MainActivity;
import safeluck.drive.evaluation.R;
import safeluck.drive.evaluation.adapter.ScoreAdapter;
import safeluck.drive.evaluation.bean.BaseDataUIBean;
import safeluck.drive.evaluation.bean.ExamPlatformData;
import safeluck.drive.evaluation.bean.MapInfoHead;
import safeluck.drive.evaluation.bean.ScoreBean;
import safeluck.drive.evaluation.cEventCenter.CEventCenter;
import safeluck.drive.evaluation.cEventCenter.ICEventListener;
@@ -594,19 +596,37 @@
            case R.id.view_map:
                if (ExamPlatformData.getInstance().getExamType()>ExamPlatformData.EXAM_TYPE_ChangKAO){
                    RoadDriveMapFragmentaa mapFragment = findFragment(RoadDriveMapFragmentaa.class);
//                    RoadDriveMapFragmentaa mapFragment = findFragment(RoadDriveMapFragmentaa.class);
                    MyLog.i(TAG,"查看路考地图");
                    if (mapFragment == null) {
                        mapFragment = (RoadDriveMapFragmentaa) RoadDriveMapFragmentaa.newInstance();
//                    if (mapFragment == null) {
//                        mapFragment = (RoadDriveMapFragmentaa) RoadDriveMapFragmentaa.newInstance();
//                    }
//                    start(mapFragment);
                    MapInfoHead mapInfoHead = ExamPlatformData.getInstance().getMapInfoHeads().get(BaseDataUIBean.TYPE_.road);
                    String url = mapInfoHead.getGps_moinitor_url();
                    Log.i(TAG,"map head lulao gps url="+url);
                    VPFragment jiaXiaoFragment = findFragment(VPFragment.class);
                    if (jiaXiaoFragment == null) {
                        jiaXiaoFragment = (VPFragment) VPFragment.newInstance(url);
                    }
                    start(mapFragment);
                    start(jiaXiaoFragment);
                }else{
                    MapFragment mapFragment = findFragment(MapFragment.class);
//                    MapFragment mapFragment = findFragment(MapFragment.class);
                    MyLog.i(TAG,"查看场考地图");
                    if (mapFragment == null) {
                        mapFragment = (MapFragment) MapFragment.newInstance();
//                    if (mapFragment == null) {
//                        mapFragment = (MapFragment) MapFragment.newInstance();
//                    }
//                    start(mapFragment);
                    VPFragment jiaXiaoFragment = findFragment(VPFragment.class);
                    if (jiaXiaoFragment == null) {
                        MapInfoHead mapInfoHead = ExamPlatformData.getInstance().getMapInfoHeads().get(BaseDataUIBean.TYPE_.yard);
                        String url = mapInfoHead.getGps_moinitor_url();
                        Log.i(TAG,"map head gps url="+url);
                        jiaXiaoFragment = (VPFragment) VPFragment.newInstance(url);
                    }
                    start(mapFragment);
                    start(jiaXiaoFragment);
                }
                break;
            case R.id.iv_head:
app/src/main/java/safeluck/drive/evaluation/fragment/VPFragment.java
@@ -37,7 +37,8 @@
        return vpFragment;
    }
    private String url = "http://192.168.40.202:9527/#/visitor/monitor?device_id=0314200100000002";
//    private String url = "http://192.168.40.201:9527/#/visitor/monitor?device_id=0314200100000004";
    private String url = "https://trainsim.aaej.cn/#/visitor/monitor?device_id=0314200100000004";
    private String url1 = "http://www.baidu.com";
    private static final String TAG = VPFragment.class.getCanonicalName();
@@ -50,7 +51,8 @@
        webView.setLayoutParams(layoutParams);
        Bundle bundle = getArguments();
        if (bundle != null){
                url = getArguments().getString("argu");
                Log.i(TAG,"收到参数="+url);
        }else{
        }
app/src/main/java/safeluck/drive/evaluation/httpmodule/HttpRoadMapRsp.java
@@ -40,9 +40,18 @@
        private String port;
        private String version;
        private String map_url;
        private String gps_monitor_url;
        private MapJsonBean map_json;
        private String pzh;
        public String getGps_monitor_url() {
            return gps_monitor_url;
        }
        public void setGps_monitor_url(String gps_monitor_url) {
            this.gps_monitor_url = gps_monitor_url;
        }
        public String getVersion() {
            return version;
        }
app/src/main/java/safeluck/drive/evaluation/httpmodule/HttpYardRsp.java
@@ -42,9 +42,18 @@
        private String port;
        private String version;
        private String map_url;
        private String gps_monitor_url;
        private MapJsonBean map_json;
        private String pzh;
        public String getGps_monitor_url() {
            return gps_monitor_url;
        }
        public void setGps_monitor_url(String gps_monitor_url) {
            this.gps_monitor_url = gps_monitor_url;
        }
        public String getVersion() {
            return version;
        }
app/src/main/java/safeluck/drive/evaluation/util/DataInit.kt
@@ -18,6 +18,7 @@
import retrofit2.Call
import retrofit2.Callback
import retrofit2.Response
import retrofit2.http.Url
import safeluck.drive.evaluation.Constant
import safeluck.drive.evaluation.DB.WorkRoomDataBase
import safeluck.drive.evaluation.DB.rtktb.RTKConfig
@@ -33,6 +34,8 @@
import safeluck.drive.evaluation.worker.MCUUpgradeWorker
import java.io.IOException
import java.io.InputStreamReader
import java.net.URL
import java.net.URLDecoder
import java.nio.charset.Charset
/**
@@ -241,7 +244,7 @@
                jsonObject1 = JSONObject(str)
                val result = jsonObject1!!.getBoolean("result")
                if (result) {
                    var mapInfoHead: MapInfoHead = MapInfoHead("","", BaseDataUIBean.TYPE_.car)
                    var mapInfoHead: MapInfoHead = MapInfoHead("","", BaseDataUIBean.TYPE_.car,"","")
                    when(type){
                        "road" ->{
@@ -253,6 +256,8 @@
                                    if (map.data.map_json.type.equals("road")) {
                                        mapInfoHead.str = map.data.map_json.name
                                        mapInfoHead.gps_moinitor_url =  URLDecoder.decode( map.data.gps_monitor_url,"UTF-8")
                                        mapInfoHead.arcgis_url = map.data.map_url
                                        ExamPlatformData.getInstance().setNewRoadMapPath(Environment.getExternalStorageDirectory().absolutePath + "/"
                                                + app.getAppContext().getPackageName() + "/" + fileName)
                                        CThreadPoolExecutor.runInBackground(Runnable {
@@ -274,11 +279,14 @@
                            if (yard.isResult){
                                if (yard.data !=null){
                                    mapInfoHead.version = yard.data.version
                                    mapInfoHead.gps_moinitor_url =             URLDecoder.decode(yard.data.gps_monitor_url,"UTF-8")
                                    mapInfoHead.str = yard.data.map_json.name
                                    mapInfoHead.arcgis_url = yard.data.map_url
                                    ExamPlatformData.getInstance().setNewMapPath(Environment.getExternalStorageDirectory().absolutePath + "/"
                                            + app.getAppContext().getPackageName() + "/"+fileName)
                                    CThreadPoolExecutor.runInBackground(Runnable{
                                        MyLog.i(PlatFormConstant.HTTPTAG,"科三场地地图保存成功")
                                        MyLog.i(PlatFormConstant.HTTPTAG,"场地地图保存成功")
                                        str = gson.toJson(yard.data.map_json)
                                        FileUtil.writeTxtFileToSD(app.getAppContext(),fileName,str,"")
                                        sendMapInfo()
app/src/main/res/values/strings.xml
@@ -52,7 +52,7 @@
    <string name="by_crossing">通过路口</string>
    <string name="lane_change">变更车道</string>
    <string name="simulate_light_tip_start">下面将进行模拟夜间行驶场景灯光使用的考试,请按语音指令在5秒内做出相应的灯光操作</string>
    <string name="mapversion">版本:V</string>
    <string name="mapversion">版本:</string>
    <array name="simulate_light_tips">
        <item>下面将进行模拟夜间行驶场景灯光使用的考试,请按语音指令在5秒内做出相应的灯光操作</item>
        <item>模拟夜间考试完成请关闭所有灯光,请起步继续完成考试</item>