lizhanwei
2020-06-18 8a9fc88104727c821832dfdaec4f66901c66bdb8
车辆动态绘制,根据坐标点和角度
4个文件已修改
79 ■■■■ 已修改文件
app/src/main/java/safeluck/drive/evaluation/app.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/fragment/JiaXiaoFragment.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/util/Utils.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/safeluck/drive/evaluation/app.java
@@ -270,6 +270,7 @@
                                        @Override
                                        public void run() {
                                            Toast.makeText(appContext, "缺少场考地图,请前往\"设置\"选择地图", Toast.LENGTH_SHORT).show();
                                        }
                                    });
app/src/main/java/safeluck/drive/evaluation/fragment/HomeFragment.java
@@ -109,22 +109,28 @@
                break;
            case R.id.exit_sys:
                MyDialog myDialog = MyDialog.Companion.newInstance("您将退出系统,请确认数据已保存");
//                MyDialog myDialog = MyDialog.Companion.newInstance("您将退出系统,请确认数据已保存");
//
//                myDialog.setOnClick(new MyDialog.MyOnClickListener() {
//                    @Override
//                    public void onSure() {
//                        _mActivity.finish();
//
//                    }
//
//                    @Override
//                    public void onCancle() {
//
//                    }
//                });
//
//                myDialog.show(getFragmentManager(),"mydialog");
                myDialog.setOnClick(new MyDialog.MyOnClickListener() {
                    @Override
                    public void onSure() {
                        _mActivity.finish();
                    }
                    @Override
                    public void onCancle() {
                    }
                });
                myDialog.show(getFragmentManager(),"mydialog");
                JiaXiaoFragment jiaXiaoFragment = findFragment(JiaXiaoFragment.class);
                if (jiaXiaoFragment == null) {
                    jiaXiaoFragment = (JiaXiaoFragment) JiaXiaoFragment.newInstance();
                }
                start(jiaXiaoFragment);
                break;
            case R.id.system_setting:
app/src/main/java/safeluck/drive/evaluation/fragment/JiaXiaoFragment.java
@@ -3,6 +3,8 @@
import android.graphics.Color;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.MotionEvent;
@@ -53,6 +55,9 @@
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import me.yokeyword.fragmentation.SupportFragment;
import safeluck.drive.evaluation.R;
@@ -75,12 +80,27 @@
    private static final String TAG = JiaXiaoFragment.class.getSimpleName();
    private MapView mMapView ;
    private static final int MSG_CAR = 100;
    double yaw = 0;
    GraphicsOverlay mGraphicsOverlay;
    private int count =0;
    private double startX = -8647.003,startY = 14590.7213;
    private Handler mHandler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            switch (msg.what){
                case MSG_CAR:
                    count++;
                    yaw +=count;
                    addGraphicLayer(yaw,startX+count,startY+count);
                    sendEmptyMessageDelayed(MSG_CAR,1000);
                    break;
            }
        }
    };
    PointCollection mPointCollection = new PointCollection(SpatialReference.create(4544));
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
@@ -91,7 +111,9 @@
        setupMap();
        addTrailheadsLayer();
//        addImageLayer();
        addGraphicLayer();
        mHandler.sendEmptyMessageDelayed(MSG_CAR,1000);
//        drawPolygon();
        return view;
    }
@@ -128,11 +150,13 @@
            }
        });
    }
    private void addGraphicLayer(){
    private void addGraphicLayer(double yaw,double x,double y){
        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);
@@ -144,7 +168,7 @@
                Log.i(TAG,"giscar="+buffer.toString());
                GisCarModel gisCarModel= new Gson().fromJson(buffer.toString(),GisCarModel.class);
//                List<safeluck.drive.evaluation.bean.Point> carNew=Utils.getCarPoint(0,45,new safeluck.drive.evaluation.bean.Point(-8633.77199999988,14471.793700000271));
                List<safeluck.drive.evaluation.bean.Point> carNew=Utils.getCarPoint(0,45,new safeluck.drive.evaluation.bean.Point(-8647.003,14590.7213));
                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)));
@@ -163,7 +187,7 @@
                        drawrightCenterGls(gisCarModel,carNew);
                        drawPoint(new Point(-8647.003,14590.7213));
                        drawPoint(new Point(x,y));
                    }
                });
app/src/main/java/safeluck/drive/evaluation/util/Utils.java
@@ -692,7 +692,7 @@
    public static List<Point> getCarPoint(double pitch,double yaw,Point point){
        pitch = 0;
        yaw = 45;
//        yaw = 45;
        Point main_ant = point;
        List<Point> carNew = new ArrayList<>();
        StringBuffer buffer=FileUtil.readAssetTxtFile(app.getAppContext(),"giscar.json");
@@ -708,7 +708,9 @@
        }
        List<CarModel> carModels = getCarModelData(new Point(-9151.5063, 13030.5118),gisCarModel.getAxial(),pointList);
        double mainAnt_x = gisCarModel.getMain_ant().get(0);
        double mainAnt_y = gisCarModel.getMain_ant().get(1);
        List<CarModel> carModels = getCarModelData(new Point(mainAnt_x, mainAnt_y),gisCarModel.getAxial(),pointList);
        if (carModels != null && carModels.size()>0){
            for (int i = 0; i < carModels.size(); ++i) {