{"version":"0.1.0","code":"0000","result":true,"message":"处理成功","errdetail":"","timestamp":1671508830496,"data":{"id":71712469,"title":"4.3 定位回放对接指南","slug":"wkqmsb","format":"lake","bookId":26046811,"body":null,"body_draft":null,"body_html":"
package com.autonavi.auto.activity.guide;\n\nimport android.os.Environment;\n\nimport com.autonavi.gbl.cobase.model.SingleServiceID;\nimport com.autonavi.gbl.pos.PosService;\nimport com.autonavi.gbl.pos.model.LocSignData;\nimport com.autonavi.gbl.pos.replay.PosReplayService;\nimport com.autonavi.gbl.pos.replay.observer.IPosReplayObserver;\nimport com.autonavi.gbl.servicemanager.ServiceMgr;\n\npublic class PosReplayDemo implements IPosReplayObserver {\n\n PosReplayService mPosReplayServerice;\n\n // 启动定位回放服务\n public PosReplayService openServerice(PosService posService){\n if (mPosReplayServerice == null){\n // 获取高德定位服务\n mPosReplayServerice = (PosReplayService) ServiceMgr.getServiceMgrInstance().getBLService(SingleServiceID.PosReplaySingleServiceID);\n // 设置定位服务,由外部创建并初始化好\n mPosReplayServerice.setPosService(posService);\n // 设置回放日志位置\n String locPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/amapauto20/pos/test_gnss_replay.loc";\n mPosReplayServerice.setLocPath(locPath);\n // 设置回放速度(1~1000毫秒),回放速度取最小值: min(原始信号时间间隔,ReplaySpeedTime)\n mPosReplayServerice.setReplaySpeedTime(1000);\n // 设置观察者\n mPosReplayServerice.addPosReplayObserver(this);\n }\n\n return mPosReplayServerice;\n }\n\n // 关闭定位回放服务\n public void closeServerice(){\n if (mPosReplayServerice != null){\n mPosReplayServerice.removePosReplayObserver(this);\n ServiceMgr.getServiceMgrInstance().removeBLService(SingleServiceID.PosReplaySingleServiceID);\n mPosReplayServerice = null;\n }\n }\n\n public void startReplay(){\n if (mPosReplayServerice != null){\n mPosReplayServerice.start();\n }\n }\n\n public void pauseReplay(){\n if (mPosReplayServerice != null){\n mPosReplayServerice.pause();\n }\n }\n\n public void resumeReplay(){\n if (mPosReplayServerice != null){\n mPosReplayServerice.resume();\n }\n }\n\n public void stopReplay(){\n if (mPosReplayServerice != null){\n mPosReplayServerice.stop();\n }\n }\n\n //IPosReplayObserver\n @Override\n public void onLocSignDataUpdate(LocSignData locSignData) {\n // TODO\n }\n\n //IPosReplayObserver\n @Override\n public void onGpsReplayStatusUpdate(int i) {\n // TODO\n }\n}