diff --git a/OCH/mogo-och-taxi-passenger/build.gradle b/OCH/mogo-och-taxi-passenger/build.gradle index b38804a63d..07c786beb2 100644 --- a/OCH/mogo-och-taxi-passenger/build.gradle +++ b/OCH/mogo-och-taxi-passenger/build.gradle @@ -53,6 +53,7 @@ dependencies { implementation rootProject.ext.dependencies.rxandroid implementation rootProject.ext.dependencies.androidxconstraintlayout implementation rootProject.ext.dependencies.amapnavi3dmap + implementation rootProject.ext.dependencies.amapsearch if (Boolean.valueOf(USE_MAVEN_PACKAGE)) { implementation rootProject.ext.dependencies.mogoutils implementation rootProject.ext.dependencies.mogocommons diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/callback/IOCHTaxiPassengerNaviChangedCallback.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/callback/IOCHTaxiPassengerNaviChangedCallback.java index c7060e2aaf..e30e544db8 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/callback/IOCHTaxiPassengerNaviChangedCallback.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/callback/IOCHTaxiPassengerNaviChangedCallback.java @@ -7,5 +7,4 @@ package com.mogo.och.taxi.passenger.callback; public interface IOCHTaxiPassengerNaviChangedCallback { // 当前位置距离上车点的距离(米)、预估时间(秒) 、当前路的名称 void onCurrentRoadName(String currentRoadName); - void reInitNaviAmap(boolean isPlay,boolean isRestart); } diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerGeocodeSearchModel.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerGeocodeSearchModel.java new file mode 100644 index 0000000000..1543ad8da0 --- /dev/null +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerGeocodeSearchModel.java @@ -0,0 +1,120 @@ +package com.mogo.och.taxi.passenger.model; + +import android.content.Context; + +import com.amap.api.services.core.LatLonPoint; +import com.amap.api.services.geocoder.GeocodeResult; +import com.amap.api.services.geocoder.GeocodeSearch; +import com.amap.api.services.geocoder.RegeocodeQuery; +import com.amap.api.services.geocoder.RegeocodeResult; +import com.amap.api.services.geocoder.RegeocodeRoad; +import com.mogo.eagle.core.network.utils.GsonUtil; +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; +import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerNaviChangedCallback; + +import java.util.List; +import java.util.Timer; +import java.util.TimerTask; + +import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI_P; + +/** + * @author: wangmingjun + * @date: 2021/12/6 + */ +public class TaxiPassengerGeocodeSearchModel implements GeocodeSearch.OnGeocodeSearchListener { + + private final String TAG = TaxiPassengerGeocodeSearchModel.class.getSimpleName(); + + private static Context mContext; + + private IOCHTaxiPassengerNaviChangedCallback mNaviChangedCallback; + + GeocodeSearch mGeocodeSearch = null; + + private String roadName = ""; + + private Timer timer ; + + TimerTask timerTask; + + public static TaxiPassengerGeocodeSearchModel getInstance(Context context) { + mContext = context; + return SingletonHolder.INSTANCE; + } + + private static final class SingletonHolder { + private static final TaxiPassengerGeocodeSearchModel INSTANCE = new TaxiPassengerGeocodeSearchModel(); + } + + private TaxiPassengerGeocodeSearchModel(){ + } + + public void initGeocodeSearch(){ + //通过经纬度逆地理编码得到位置 + mGeocodeSearch = new GeocodeSearch(mContext); + mGeocodeSearch.setOnGeocodeSearchListener(this); + timer = new Timer(); + timerTask = new TimerTask() { + @Override + public void run() { + if (mNaviChangedCallback != null){ + CallerLogger.INSTANCE.i(M_TAXI_P + TAG, "roadName道路名称: " + roadName); + mNaviChangedCallback.onCurrentRoadName(roadName); + } + } + }; + try{ + timer.schedule(timerTask,500,2000); + }catch (Exception e){ + e.printStackTrace(); + } + } + + public void searchLocationInfo(double lat, double lon){ + if (null != mGeocodeSearch){ + LatLonPoint latLng = new LatLonPoint(lat, lon); + //第一个参数表示一个Latlng,第二参数表示范围多少米,第三个参数表示是火系坐标系还是GPS原生坐标系 + RegeocodeQuery query = new RegeocodeQuery(latLng, 200, GeocodeSearch.AMAP); + mGeocodeSearch.getFromLocationAsyn(query); + } + } + + public void destroyGeocodeSearch(){ + CallerLogger.INSTANCE.i(M_TAXI_P + TAG, "destroyGeocodeSearch"); + if (mGeocodeSearch != null){ + mGeocodeSearch = null; + } + if (mNaviChangedCallback != null){ + mNaviChangedCallback = null; + } + if (null != timer){ + timer.cancel(); + } + if (null != timerTask){ + timerTask = null; + } + roadName = ""; + } + + public void setOCHTaciNaviChangedCallback(IOCHTaxiPassengerNaviChangedCallback callback){ + this.mNaviChangedCallback = callback; + } + + @Override + public void onRegeocodeSearched(RegeocodeResult regeocodeResult, int i) {//更新频率几十 ms, 暂定更新UI为2s一次 + if (regeocodeResult != null) { + List roads = regeocodeResult.getRegeocodeAddress().getRoads(); + CallerLogger.INSTANCE.i(M_TAXI_P + TAG, "位置roads:" + GsonUtil.jsonFromObject(roads)); + if (roads != null && roads.size() > 0){ + roadName = roads.get(0).getName();//当前路的名字 +// mNaviChangedCallback.onCurrentRoadName(roads.get(0).getName()); + } + } + } + + @Override + public void onGeocodeSearched(GeocodeResult geocodeResult, int i) { + + } +} diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java index e5302b0006..cdcaf0cd1f 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModel.java @@ -10,7 +10,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.amap.api.maps.model.LatLng; -import com.amap.api.navi.model.NaviLatLng; import com.elegant.network.utils.GsonUtil; import com.mogo.aicloud.services.socket.MogoAiCloudSocketManager; import com.mogo.cloud.commons.utils.CoordinateUtils; @@ -53,7 +52,6 @@ import com.mogo.service.statusmanager.StatusDescriptor; import org.jetbrains.annotations.NotNull; import java.io.IOException; -import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Map; @@ -471,6 +469,7 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback } mLongitude = location.getLongitude(); mLatitude = location.getLatitude(); + CallerLogger.INSTANCE.e(M_TAXI_P + TAG,"mLongitude = "+mLongitude+", mLatitude = "+mLatitude); for (IOCHTaxiPassengerControllerStatusCallback callback :mControllerStatusCallbackMap.values()){ callback.onCarLocationChanged(location); } @@ -592,16 +591,17 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback /** * 导航订单起点到终点 获得剩余时间,里程,预计到达时间 */ - public void naviOrderStartToEnd() { - TaxiPassengerNaviToDestinationModel.getInstance(mContext).destroyAmaNavi(); + public void initGeocodeSearch() { if (mCurrentOCHOrder != null){ - NaviLatLng startNaviLatLng = new NaviLatLng(mLatitude,mLongitude); - NaviLatLng endNaviLatLng = new NaviLatLng(mCurrentOCHOrder.endSiteGcjPoint.get(1),mCurrentOCHOrder.endSiteGcjPoint.get(0)); - TaxiPassengerNaviToDestinationModel.getInstance(mContext).initAMapNavi(startNaviLatLng, endNaviLatLng); - TaxiPassengerNaviToDestinationModel.getInstance(mContext).setOCHTaciNaviChangedCallback(this); + TaxiPassengerGeocodeSearchModel.getInstance(mContext).initGeocodeSearch(); + TaxiPassengerGeocodeSearchModel.getInstance(mContext).setOCHTaciNaviChangedCallback(this); } } + public void destoryGeocodeSearch(){ + TaxiPassengerGeocodeSearchModel.getInstance(mContext).destroyGeocodeSearch(); + } + public void startOrStopQueryOrderRemaining(boolean isStart){ if (isStart){ TaxiPassengerModelLoopManager.getInstance().startQueryOrderRemainingtLoop(); @@ -661,17 +661,11 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback } } - @Override - public void reInitNaviAmap(boolean isPlay, boolean isRestart) { - naviOrderStartToEnd(); - } - /** * 订单结束或者取消的时候, 刷新导航标识位以及缓存的数据 */ public void recoverNaviInfo(){ SharedPrefsMgr.getInstance(mContext).remove(TaxiPassengerConst.SP_KEY_ORDER_SUM_DIS); - TaxiPassengerNaviToDestinationModel.getInstance(mContext).setFirstcalculateDriveRoute(0); } public void calculateRouteLineSum(List points){ diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerNaviToDestinationModel.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerNaviToDestinationModel.java deleted file mode 100644 index 3f7367b404..0000000000 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerNaviToDestinationModel.java +++ /dev/null @@ -1,335 +0,0 @@ -package com.mogo.och.taxi.passenger.model; - -import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI_P; - -import android.Manifest; -import android.content.Context; -import android.widget.Toast; - -import com.amap.api.navi.AMapNavi; -import com.amap.api.navi.AMapNaviListener; -import com.amap.api.navi.enums.NaviType; -import com.amap.api.navi.model.AMapCalcRouteResult; -import com.amap.api.navi.model.AMapLaneInfo; -import com.amap.api.navi.model.AMapModelCross; -import com.amap.api.navi.model.AMapNaviCameraInfo; -import com.amap.api.navi.model.AMapNaviCross; -import com.amap.api.navi.model.AMapNaviInfo; -import com.amap.api.navi.model.AMapNaviLocation; -import com.amap.api.navi.model.AMapNaviRouteNotifyData; -import com.amap.api.navi.model.AMapNaviTrafficFacilityInfo; -import com.amap.api.navi.model.AMapServiceAreaInfo; -import com.amap.api.navi.model.AimLessModeCongestionInfo; -import com.amap.api.navi.model.AimLessModeStat; -import com.amap.api.navi.model.NaviInfo; -import com.amap.api.navi.model.NaviLatLng; -import com.autonavi.tbt.TrafficFacilityInfo; -import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; -import com.mogo.eagle.core.utilcode.mogo.storage.SharedPrefsMgr; -import com.mogo.eagle.core.utilcode.util.NetworkUtils; -import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerNaviChangedCallback; -import com.mogo.och.taxi.passenger.constant.TaxiPassengerConst; -import com.mogo.och.taxi.passenger.utils.PermissionUtil; - -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.atomic.AtomicInteger; - -/** - * @author: wangmingjun - * @date: 2021/12/6 - */ -public class TaxiPassengerNaviToDestinationModel implements AMapNaviListener { - - private final String TAG = TaxiPassengerNaviToDestinationModel.class.getSimpleName(); - - private static Context mContext; - private AMapNavi mAMapNavi = null; - protected final List sList = new ArrayList(); - protected final List eList = new ArrayList(); - protected List mWayPointList = new ArrayList(); - private IOCHTaxiPassengerNaviChangedCallback mNaviChangedCallback; -// private AtomicInteger errorCount = new AtomicInteger(0); //只要订单在 如果算错就重新算,不再有次数限制 - private boolean isPlay; - - private volatile int mFirstcalculateDriveRoute = 0; - public void setFirstcalculateDriveRoute(int firstcalculateDriveRoute) { - this.mFirstcalculateDriveRoute = firstcalculateDriveRoute; - } - - - public static TaxiPassengerNaviToDestinationModel getInstance(Context context) { - mContext = context; - return SingletonHolder.INSTANCE; - } - - private static final class SingletonHolder { - private static final TaxiPassengerNaviToDestinationModel INSTANCE = new TaxiPassengerNaviToDestinationModel(); - } - private TaxiPassengerNaviToDestinationModel(){ - } - public void initAMapNavi(NaviLatLng startLatLng,NaviLatLng endLatLng) { - try { - mAMapNavi = AMapNavi.getInstance(mContext); - mAMapNavi.addAMapNaviListener(this); - mAMapNavi.setUseInnerVoice(true, true); - mAMapNavi.stopSpeak(); - sList.add(startLatLng); - eList.add(endLatLng); - int strategy = 0; - try { - //再次强调,最后一个参数为true时代表多路径,否则代表单路径 - strategy = mAMapNavi.strategyConvert(true, false, false, false, false); - } catch (Exception e) { - e.printStackTrace(); - } - mAMapNavi.calculateDriveRoute(sList, eList, mWayPointList, strategy); - }catch (Exception e) { - e.printStackTrace(); - } - } - public void setVoiceIsMute(boolean isPlay){ - if (mAMapNavi == null) return; - this.isPlay = isPlay; - if (isPlay){ - mAMapNavi.startSpeak(); - }else { - mAMapNavi.stopSpeak(); - } - } - - public void destroyAmaNavi(){ - if (mAMapNavi != null){ - isPlay = false; - mAMapNavi.stopNavi(); - mAMapNavi.destroy(); - mAMapNavi = null; - mNaviChangedCallback = null; - sList.clear(); - eList.clear(); - } - } - - public void setOCHTaciNaviChangedCallback(IOCHTaxiPassengerNaviChangedCallback callback){ - this.mNaviChangedCallback = callback; - } - @Override - public void onInitNaviFailure() { - Toast.makeText(mContext, "init navi Failed", Toast.LENGTH_SHORT).show(); - } - - @Override - public void onInitNaviSuccess() { - //初始化成功 - } - @Override - public void onCalculateRouteSuccess(int[] ints) { - //多路径算路成功回调 - CallerLogger.INSTANCE.d(M_TAXI_P + TAG,"onCalculateRouteSuccess"); - mAMapNavi.startNavi(NaviType.GPS); - } - - @Override - public void onNaviInfoUpdate(NaviInfo naviinfo) { - //导航过程中的信息更新,请看NaviInfo的具体说明 - CallerLogger.INSTANCE.d(M_TAXI_P + TAG,"naviinfo = "+naviinfo.getPathRetainDistance()+" ,"+naviinfo.getPathRetainTime() - +" ,"+naviinfo.getCurrentRoadName()); - - if (mFirstcalculateDriveRoute == 0 && SharedPrefsMgr.getInstance(mContext).getInt(TaxiPassengerConst.SP_KEY_ORDER_SUM_DIS,0) == 0){ - mFirstcalculateDriveRoute = 1; - SharedPrefsMgr.getInstance(mContext).putInt(TaxiPassengerConst.SP_KEY_ORDER_SUM_DIS,naviinfo.getPathRetainDistance()); - } - if (null != mNaviChangedCallback){ - mNaviChangedCallback.onCurrentRoadName(naviinfo.getCurrentRoadName());//当前路的名字 - } - } - - @Override - public void onCalculateRouteSuccess(AMapCalcRouteResult aMapCalcRouteResult) { -// errorCount.set(0); - } - - @Override - public void onCalculateRouteFailure(AMapCalcRouteResult result) { - //路线计算失败 - //多路径算路成功回调 -// if (errorCount.get() < 20){ -// errorCount.getAndIncrement(); - if (mNaviChangedCallback != null){ - mNaviChangedCallback.reInitNaviAmap(isPlay,true); - } -// } - if (!NetworkUtils.isConnected(mContext) || result.getErrorCode() == 2){ - if (mNaviChangedCallback != null){ - mNaviChangedCallback.reInitNaviAmap(isPlay,false); - } - return; - } - if (!PermissionUtil.isLocServiceEnable(mContext) || !PermissionUtil.checkPermission(mContext,new String[]{Manifest.permission.ACCESS_FINE_LOCATION})){ - if (mNaviChangedCallback != null){ - mNaviChangedCallback.reInitNaviAmap(isPlay,false); - } - return; - } -// if (result.getErrorCode() == 3){ -// TipToast.longTip("车辆当前坐标错误"); -// }else if (result.getErrorCode() == 6){ -// TipToast.longTip("终点坐标错误"); -// } - CallerLogger.INSTANCE.i(M_TAXI_P + TAG, "路线计算失败:错误码=" + result.getErrorCode() + ",Error Message= " + result.getErrorDetail()); - CallerLogger.INSTANCE.i(M_TAXI_P + TAG, "错误码详细链接见:http://lbs.amap.com/api/android-navi-sdk/guide/tools/errorcode/"); - } - @Override - public void onStartNavi(int type) { - //开始导航回调 - } - - @Override - public void onTrafficStatusUpdate() { - // - } - - @Override - public void onLocationChange(AMapNaviLocation location) { - //当前位置回调 - } - - @Override - public void onGetNavigationText(int type, String text) { - //播报类型和播报文字回调 - } - - @Override - public void onGetNavigationText(String s) { - - } - - @Override - public void onEndEmulatorNavi() { - //结束模拟导航 - } - - @Override - public void onArriveDestination() { - //到达目的地 - } - - @Override - public void onCalculateRouteFailure(int errorInfo) { - - } - - @Override - public void onReCalculateRouteForYaw() { - //偏航后重新计算路线回调 - } - - @Override - public void onReCalculateRouteForTrafficJam() { - //拥堵后重新计算路线回调 - } - - @Override - public void onArrivedWayPoint(int wayID) { - //到达途径点 - } - - @Override - public void onGpsOpenStatus(boolean enabled) { - //GPS开关状态回调 - } - @Override - public void showModeCross(AMapModelCross aMapModelCross) { - } - - @Override - public void hideModeCross() { - - } - - @Override - public void updateIntervalCameraInfo(AMapNaviCameraInfo aMapNaviCameraInfo, AMapNaviCameraInfo aMapNaviCameraInfo1, int i) { - - } - - @Override - public void showLaneInfo(AMapLaneInfo aMapLaneInfo) { - //显示车道信息 - } - - @Override - public void onNaviRouteNotify(AMapNaviRouteNotifyData aMapNaviRouteNotifyData) { - - } - - @Override - public void updateCameraInfo(AMapNaviCameraInfo[] aMapCameraInfos) { - - } - - @Override - public void onServiceAreaUpdate(AMapServiceAreaInfo[] amapServiceAreaInfos) { - - } - - @Override - public void onNaviInfoUpdated(AMapNaviInfo aMapNaviInfo) { - - } - - @Override - public void OnUpdateTrafficFacility(AMapNaviTrafficFacilityInfo aMapNaviTrafficFacilityInfo) { - //已过时 - } - - @Override - public void OnUpdateTrafficFacility(TrafficFacilityInfo trafficFacilityInfo) { - - } - - @Override - public void showCross(AMapNaviCross aMapNaviCross) { - //显示放大图回调 - } - - @Override - public void hideCross() { - //隐藏放大图回调 - } - - @Override - public void showLaneInfo(AMapLaneInfo[] laneInfos, byte[] laneBackgroundInfo, byte[] laneRecommendedInfo) { - //过时 - } - - @Override - public void hideLaneInfo() { - //隐藏车道信息 - } - - @Override - public void notifyParallelRoad(int i) { - } - - @Override - public void OnUpdateTrafficFacility(AMapNaviTrafficFacilityInfo[] aMapNaviTrafficFacilityInfos) { - //更新交通设施信息 - } - - @Override - public void updateAimlessModeStatistics(AimLessModeStat aimLessModeStat) { - //更新巡航模式的统计信息 - } - - - @Override - public void updateAimlessModeCongestionInfo(AimLessModeCongestionInfo aimLessModeCongestionInfo) { - //更新巡航模式的拥堵信息 - } - - @Override - public void onPlayRing(int i) { - - } - -} diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java index 92f9623830..fd1d8ef13a 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/BaseTaxiPassengerPresenter.java @@ -19,8 +19,8 @@ import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerADASStatusCallback; import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerControllerStatusCallback; import com.mogo.och.taxi.passenger.callback.IOCHTaxiPassengerOrderStatusCallback; import com.mogo.och.taxi.passenger.constant.TaxiPassengerOrderStatusEnum; +import com.mogo.och.taxi.passenger.model.TaxiPassengerGeocodeSearchModel; import com.mogo.och.taxi.passenger.model.TaxiPassengerModel; -import com.mogo.och.taxi.passenger.model.TaxiPassengerNaviToDestinationModel; import com.mogo.och.taxi.passenger.ui.TaxiPassengerBaseFragment; /** @@ -146,6 +146,7 @@ public class BaseTaxiPassengerPresenter extends Presenter mView.showOrHideServingOrderFragment(false)); TaxiPassengerModel.getInstance().recoverNaviInfo(); + TaxiPassengerGeocodeSearchModel.getInstance(getContext()).destroyGeocodeSearch(); return; } if (TaxiPassengerOrderStatusEnum.ArriveAtStart.getCode() == order.orderStatus @@ -155,7 +156,7 @@ public class BaseTaxiPassengerPresenter extends Presenter { mView.showOrHideServingOrderFragment(false); mView.showOrHideArrivedEndLayout(true, order.endSiteAddr); @@ -167,6 +168,7 @@ public class BaseTaxiPassengerPresenter extends Presenter mView.onCarLocationChanged(location)); + TaxiPassengerGeocodeSearchModel.getInstance(getContext()).searchLocationInfo(location.getLatitude(),location.getLongitude()); } } diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerMapDirectionView.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerMapDirectionView.java index 4565a45ab7..de4c0fcb2a 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerMapDirectionView.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerMapDirectionView.java @@ -173,7 +173,6 @@ public class TaxiPassengerMapDirectionView @Override public void onLocationChanged(@org.jetbrains.annotations.Nullable MogoLocation location, int from) { - CallerLogger.INSTANCE.d(M_TAXI_P + TAG, "onCarLocationChanged2 :" + location.getLatitude()+":"+location.getLongitude()); if (location == null){ return; } @@ -187,19 +186,21 @@ public class TaxiPassengerMapDirectionView boundsBuilder.include(currentLatLng); boundsBuilder.include(endLatLng); //第二个参数为四周留空宽度 - mAMap.animateCamera(CameraUpdateFactory.newLatLngBoundsRect(boundsBuilder.build(), 100,100,100,100)); + mAMap.moveCamera(CameraUpdateFactory.newLatLngBoundsRect(boundsBuilder.build(), 100,100,100,100)); + CallerLogger.INSTANCE.d(M_TAXI_P + TAG, "onCarLocationChanged2--moveCamera :" + location.getLatitude()+", "+location.getLongitude()); } else { //设置希望展示的地图缩放级别 CameraPosition cameraPosition = new CameraPosition.Builder() .target(mCarMarker.getPosition()).tilt(0).bearing(location.getBearing()).zoom(zoomLevel).build(); - mAMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); + mAMap.moveCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); } //更新车辆位置 if (mCarMarker != null) { - CallerLogger.INSTANCE.d(M_TAXI_P + TAG, "location.getBearing() = " + location.getBearing()); +// CallerLogger.INSTANCE.d(M_TAXI_P + TAG, "location.getBearing() = " + location.getBearing()); mCarMarker.setRotateAngle(360 - location.getBearing()); mCarMarker.setPosition(currentLatLng); +// CallerLogger.INSTANCE.d(M_TAXI_P + TAG, "onCarLocationChanged2--loacation :" + location.getLatitude()+", "+location.getLongitude()); mCarMarker.setToTop(); } } diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerServingOrderFragment.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerServingOrderFragment.java index faf1b78ea0..20f6b833e4 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerServingOrderFragment.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/ui/TaxiPassengerServingOrderFragment.java @@ -28,21 +28,13 @@ import com.mogo.och.taxi.passenger.callback.ITaxiPassengerMapViewCallback; import com.mogo.och.taxi.passenger.constant.TaxiPassengerConst; import com.mogo.och.taxi.passenger.constant.TaxiPassengerOrderStatusEnum; import com.mogo.och.taxi.passenger.model.TaxiPassengerModel; -import com.mogo.och.taxi.passenger.model.TaxiPassengerNaviToDestinationModel; import com.mogo.och.taxi.passenger.presenter.TaxiPassengerServingOrderPresenter; import com.mogo.och.taxi.passenger.utils.TPRouteDataTestUtils; import com.mogo.och.taxi.passenger.utils.TaxiPassengerUtils; -import org.json.JSONArray; -import org.json.JSONException; -import org.json.JSONObject; - -import java.util.ArrayList; import java.util.Calendar; import java.util.List; -import mogo.telematics.pad.MessagePad; - /** * @author: wangmingjun * @date: 2022/3/8 @@ -168,7 +160,9 @@ public class TaxiPassengerServingOrderFragment extends } private void updateDriveRoadName(String currentRoadName){ - mProgessDes.setText(currentRoadName); + if (mProgessDes != null){ + mProgessDes.setText(currentRoadName); + } } @Override @@ -177,18 +171,19 @@ public class TaxiPassengerServingOrderFragment extends if (mMapDirectionView != null) { mMapDirectionView.onResume(); } - TaxiPassengerModel.getInstance().naviOrderStartToEnd(); + TaxiPassengerModel.getInstance().initGeocodeSearch(); } @Override public void onHiddenChanged(boolean hidden) { super.onHiddenChanged(hidden); - if (hidden){//fragment 隐藏, 导航取消 + if (hidden){//fragment 隐藏, 导航取消c clearPolyline(); - TaxiPassengerNaviToDestinationModel.getInstance(getContext()).destroyAmaNavi(); + TaxiPassengerModel.getInstance().destoryGeocodeSearch(); }else { //fragment 显示, 导航开始 - TaxiPassengerModel.getInstance().naviOrderStartToEnd(); + CallerLogger.INSTANCE.e(M_TAXI_P +"TaxiPassengerNaviTo","initGeocodeSearch"); + TaxiPassengerModel.getInstance().initGeocodeSearch(); } } @@ -207,7 +202,7 @@ public class TaxiPassengerServingOrderFragment extends if (mMapDirectionView != null) { mMapDirectionView.onDestroy(); } - TaxiPassengerNaviToDestinationModel.getInstance(getContext()).destroyAmaNavi(); + TaxiPassengerModel.getInstance().destoryGeocodeSearch(); } public void routeResult(List latLngList) { diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java index 0a9bdcb5dc..f3e222a540 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiFragment.java @@ -348,7 +348,7 @@ public class TaxiFragment extends BaseTaxiTabFragment { showNotice("自动驾驶已启动,请系好安全带"); TaxiModel.getInstance().setOnTheWayToEndStation(); - testRouteInfoUpload(); +// testRouteInfoUpload(); }); }