endian11
2020-09-17 399bf6ae73d636d56ecd590036964e52433b4743
app/src/main/java/safeluck/drive/evaluation/routecollect/impl/RouteModel.java
@@ -1,11 +1,19 @@
package safeluck.drive.evaluation.routecollect.impl;
import android.util.Log;
import com.anyun.exam.lib.IRemoteInterface;
import org.json.JSONException;
import org.json.JSONObject;
import safeluck.drive.evaluation.Constant;
import safeluck.drive.evaluation.cEventCenter.CEventCenter;
import safeluck.drive.evaluation.cEventCenter.ICEventListener;
import safeluck.drive.evaluation.routecollect.CollectPointResult;
import safeluck.drive.evaluation.routecollect.ILoadListener;
import safeluck.drive.evaluation.routecollect.IRouteCollectInterface;
import safeluck.drive.evaluation.routecollect.IRouteRemotePointCallback;
import safeluck.drive.evaluation.util.Utils;
/**
 * DriveJudge
@@ -13,10 +21,33 @@
 * 邮箱:632393724@qq.com
 * All Rights Saved! Chongqing AnYun Tech co. LTD
 */
public class RouteModel implements IRouteCollectInterface,IRouteRemotePointCallback {
public class RouteModel implements IRouteCollectInterface{
    ILoadListener iLoadListener;
    private double sx=120.0,sy=10.03;
    private static final String TAG = "RouteModel";
    private ICEventListener icEventListener= new ICEventListener() {
        @Override
        public void onCEvent(String topic, int msgCode, int resultCode, Object obj) {
            //,"coord_x":0.974,"coord_x_dir":"N","coord_y":-0.191,"c
            if (iLoadListener != null){
                CollectPointResult collectPointResult = new CollectPointResult();
                try {
                    JSONObject jsonObject = new JSONObject((String)obj);
                    double x = jsonObject.getDouble("coord_x");
                    double y = jsonObject.getDouble("coord_y");
                    Log.i(TAG,String.format("采集到的点【x=%f,y=%f]",x,y));
                    collectPointResult.setX(Utils.getdouble(x,4));
                    collectPointResult.setY(Utils.getdouble(y,4));
                    iLoadListener.finishCollectItem(collectPointResult);
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        }
    };
    @Override
    public void startCollect(ILoadListener listener) {
        iLoadListener = listener;
@@ -24,6 +55,7 @@
        //set IRouteRemotePointCallback
        //如果采用application的callback ,可能需要注册一个CEventLisntener
        CEventCenter.onBindEvent(true,icEventListener, Constant.BIND_RTK_INFO_MAP);
    }
    /**
@@ -32,17 +64,9 @@
    @Override
    public void endCollect() {
        //如果采用application的callback ,可能需要反注册一个CEventLisntener 解绑
        CEventCenter.onBindEvent(false,icEventListener,Constant.BIND_RTK_INFO_MAP);
        iLoadListener = null;
    }
    @Override
    public void javaPoint(int qf, double x, double y, double z, double heading, double pitch, double roll) {
        if (iLoadListener != null){
            CollectPointResult collectPointResult = new CollectPointResult();
            collectPointResult.setX(sx);
            collectPointResult.setY(sy);
            iLoadListener.finishCollectItem(collectPointResult);
        }
    }
}