diff --git a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/network/BusPassengerModelLoopManager.java b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/network/BusPassengerModelLoopManager.java index 488488804b..044f2e3f72 100644 --- a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/network/BusPassengerModelLoopManager.java +++ b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/network/BusPassengerModelLoopManager.java @@ -42,6 +42,9 @@ public class BusPassengerModelLoopManager { public void startOrStopRouteAndWipe() { CallerLogger.INSTANCE.i(M_BUS_P + TAG, "startOrStopRouteWipe()"); + if (mRouteWipeDisposable == null){ + mRouteWipeDisposable = new CompositeDisposable(); + } Disposable disposable = startLoopRouteAndWipe() .doOnSubscribe(new Consumer() { @Override @@ -93,6 +96,9 @@ public class BusPassengerModelLoopManager { public void startCalculateRouteInfoLoop() { CallerLogger.INSTANCE.i(M_BUS_P + TAG, "startCalculateRouteInfoLoop()"); + if (mCalculateRouteDisposable == null){ + mCalculateRouteDisposable = new CompositeDisposable(); + } Disposable disposable = startLoopCalculateRouteInfo() .doOnSubscribe(new Consumer() { @Override diff --git a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/ui/BusPassengerMapDirectionView.java b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/ui/BusPassengerMapDirectionView.java index a9ccbf6582..b4e780ef1c 100644 --- a/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/ui/BusPassengerMapDirectionView.java +++ b/OCH/mogo-och-bus-passenger/src/main/java/com/mogo/och/bus/passenger/ui/BusPassengerMapDirectionView.java @@ -64,9 +64,8 @@ public class BusPassengerMapDirectionView private CameraUpdate mCameraUpdate; private Context mContext; - private List colorList = new ArrayList<>(); -// List textureList = new ArrayList<>(); -// List texIndexList = new ArrayList<>(); + List textureList = new ArrayList<>(); + List texIndexList = new ArrayList<>(); private int mHaveArrivedIndex = 0; private List mLineMarkers = new ArrayList<>(); @@ -222,8 +221,6 @@ public class BusPassengerMapDirectionView } if (mAMap != null) { - addRouteColorList(); - if (mCoordinatesLatLng.size() > 2) { //设置线段纹理 @@ -232,9 +229,9 @@ public class BusPassengerMapDirectionView polylineOptions.useGradient(true); polylineOptions.width(10); //线段宽度 polylineOptions.lineCapType(PolylineOptions.LineCapType.LineCapRound); -// polylineOptions.setCustomTextureList(textureList); -// polylineOptions.setCustomTextureIndex(texIndexList); - polylineOptions.colorValues(colorList); + polylineOptions.setCustomTextureList(textureList); + polylineOptions.setCustomTextureIndex(texIndexList); +// polylineOptions.colorValues(colorList); // polylineOptions.setCustomTexture(BitmapDescriptorFactory.fromResource(R.drawable.taxi_p_map_arrow)); // 绘制线 @@ -248,17 +245,15 @@ public class BusPassengerMapDirectionView * 添加画线颜色值 */ private void addRouteColorList() { -// for (int i = 0 ; i < mHaveArrivedIndex; i++){ -// textureList.add(BitmapDescriptorFactory.fromResource(R.drawable.bus_p_map_arrow)); -// texIndexList.add(i); -// } -// -// for (int i = mHaveArrivedIndex; i < mCoordinatesLatLng.size(); i++){ -// textureList.add(BitmapDescriptorFactory.fromResource(R.drawable.bus_p_map_arrow)); -// texIndexList.add(i); -// } - for (int i = 0; i < mCoordinatesLatLng.size(); i++) { - colorList.add(Color.argb(255, 70, 147, 253));//路线颜色 + textureList.clear(); + texIndexList.clear(); + for (int i = 0; i < mCoordinatesLatLng.size(); i++){ + if (i <= mHaveArrivedIndex){ + textureList.add(BitmapDescriptorFactory.fromResource(R.drawable.bus_p_map_arrow_arrived)); + }else { + textureList.add(BitmapDescriptorFactory.fromResource(R.drawable.bus_p_map_arrow_un_arrive)); + } + texIndexList.add(i); } } @@ -335,6 +330,7 @@ public class BusPassengerMapDirectionView mCoordinatesLatLng.clear(); mCoordinatesLatLng.addAll(latLngs); mHaveArrivedIndex = haveArrivedIndex; + addRouteColorList(); } public void clearLineMarkers(){ diff --git a/OCH/mogo-och-bus-passenger/src/main/res/drawable-sw320dp-xhdpi/bus_p_map_arrow_arrived.png b/OCH/mogo-och-bus-passenger/src/main/res/drawable-sw320dp-xhdpi/bus_p_map_arrow_arrived.png new file mode 100644 index 0000000000..cbf83bccff Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/main/res/drawable-sw320dp-xhdpi/bus_p_map_arrow_arrived.png differ diff --git a/OCH/mogo-och-bus-passenger/src/main/res/drawable-sw320dp-xhdpi/bus_p_map_arrow_un_arrive.png b/OCH/mogo-och-bus-passenger/src/main/res/drawable-sw320dp-xhdpi/bus_p_map_arrow_un_arrive.png new file mode 100644 index 0000000000..99d8bd7b56 Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/main/res/drawable-sw320dp-xhdpi/bus_p_map_arrow_un_arrive.png differ diff --git a/OCH/mogo-och-bus-passenger/src/main/res/drawable-xhdpi/bus_p_map_arrow_arrived.png b/OCH/mogo-och-bus-passenger/src/main/res/drawable-xhdpi/bus_p_map_arrow_arrived.png new file mode 100644 index 0000000000..cbf83bccff Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/main/res/drawable-xhdpi/bus_p_map_arrow_arrived.png differ diff --git a/OCH/mogo-och-bus-passenger/src/main/res/drawable-xhdpi/bus_p_map_arrow_un_arrive.png b/OCH/mogo-och-bus-passenger/src/main/res/drawable-xhdpi/bus_p_map_arrow_un_arrive.png new file mode 100644 index 0000000000..99d8bd7b56 Binary files /dev/null and b/OCH/mogo-och-bus-passenger/src/main/res/drawable-xhdpi/bus_p_map_arrow_un_arrive.png differ diff --git a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BusFragment.java b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BusFragment.java index 11464a6587..d711a2dceb 100644 --- a/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BusFragment.java +++ b/OCH/mogo-och-bus/src/main/java/com/mogo/och/bus/fragment/BusFragment.java @@ -26,6 +26,7 @@ import com.mogo.och.bus.constant.BusConst; import com.mogo.och.bus.presenter.BusPresenter; import com.mogo.och.bus.ui.BusSwitchLineActivity; import com.mogo.och.bus.view.SlidePanelView; +import com.mogo.och.common.module.utils.OCHThreadPoolManager; import java.util.List; @@ -337,27 +338,43 @@ public class BusFragment extends BaseBusTabFragment */ private void setOrRemoveMapMaker(boolean isAdd, String uuid, double lat, double longi,int resourceId) { if (isAdd) { - CallerLogger.INSTANCE.d(M_BUS + "setMapMaker= ", uuid + "=latitude=" + lat + ",longitude=" + longi); + Runnable setMapMarkerRunnable = new Runnable() { + @Override + public void run() { + CallerLogger.INSTANCE.d(M_BUS + "setMapMaker= "+Thread.currentThread().getName(), + uuid + "=latitude=" + lat + ",longitude=" + longi); - MogoMarkerOptions options = new MogoMarkerOptions() - .owner(BusConst.TYPE_MARKER_BUS_ORDER) - .anchor(0.5f, 0.5f) - .set3DMode(true) - .gps(true) - .controlAngle(true) - .icon3DRes(resourceId) - .latitude(lat) - .longitude(longi); - IMogoMarker marker = MogoMarkerManager.getInstance(AbsMogoApplication.getApp()) .addMarker(uuid, options); - CenterLine centerLine = CallerHDMapManager.INSTANCE.getCenterLineInfo( - longi,lat,-1); - if (null != centerLine){ // 有可能鹰眼map为空没有角度。判空使用后可能造成maker角度跟道路角度不一致 - marker.setRotateAngle(centerLine.getAngle().floatValue()); - } + MogoMarkerOptions options = new MogoMarkerOptions() + .owner(BusConst.TYPE_MARKER_BUS_ORDER) + .anchor(0.5f, 0.5f) + .set3DMode(true) + .gps(true) + .controlAngle(true) + .icon3DRes(resourceId) + .latitude(lat) + .longitude(longi); + IMogoMarker marker = MogoMarkerManager.getInstance(AbsMogoApplication.getApp()) .addMarker(uuid, options); + CenterLine centerLine = CallerHDMapManager.INSTANCE.getCenterLineInfo( + longi,lat,-1); + if (null != centerLine){ // 有可能鹰眼map为空没有角度。判空使用后可能造成maker角度跟道路角度不一致 + marker.setRotateAngle(centerLine.getAngle().floatValue()); + } + } + }; + + OCHThreadPoolManager.getsInstance().execute(setMapMarkerRunnable); }else { - CallerLogger.INSTANCE.d(M_BUS + "RemoveMapMaker=",uuid+"=latitude="+lat+",longitude="+longi); - MogoMarkerManager.getInstance(AbsMogoApplication.getApp()).removeMarkers(uuid); + Runnable removeMapMarkerRunnable = new Runnable() { + @Override + public void run() { + CallerLogger.INSTANCE.d(M_BUS + "RemoveMapMaker="+Thread.currentThread().getName(), + uuid+"=latitude="+lat+",longitude="+longi); + MogoMarkerManager.getInstance(AbsMogoApplication.getApp()).removeMarkers(uuid); + } + }; + + OCHThreadPoolManager.getsInstance().execute(removeMapMarkerRunnable); } } diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/callback/IOCHTaxiPassengerAutopilotPlanningCallback.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/callback/IOCHTaxiPassengerAutopilotPlanningCallback.java index c2c8fb1d6a..52ac14ed3f 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/callback/IOCHTaxiPassengerAutopilotPlanningCallback.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/callback/IOCHTaxiPassengerAutopilotPlanningCallback.java @@ -12,5 +12,5 @@ import mogo.telematics.pad.MessagePad; */ public interface IOCHTaxiPassengerAutopilotPlanningCallback { void setLineMarker(List models); - void routeResultByServer(List models); + void routeResultByServer(List models,int haveArrivedIndex); } \ No newline at end of file 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 1b1fec85e7..b27b6104d2 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 @@ -617,10 +617,10 @@ public class TaxiPassengerModel implements IOCHTaxiPassengerNaviChangedCallback public void loopRouteAndWipe() { if (mLocationsModels != null && mLocationsModels.size() > 0){ - List lastPoints = CoordinateCalculateRouteUtil - .getRemainPointListByCompare(mLocationsModels,mLongitude,mLatitude); + int haveArrivedIndex = CoordinateCalculateRouteUtil + .getArrivedPointIndex(mLocationsModels,mLongitude,mLatitude); if (mAutopilotPlanningCallback != null){ - mAutopilotPlanningCallback.routeResultByServer(lastPoints); + mAutopilotPlanningCallback.routeResultByServer(mLocationsModels,haveArrivedIndex); } } } diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModelLoopManager.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModelLoopManager.java index 115ce91022..ee85371b35 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModelLoopManager.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/model/TaxiPassengerModelLoopManager.java @@ -35,7 +35,7 @@ public class TaxiPassengerModelLoopManager { private Disposable mInAndWaitServiceDisposable; //进行中、待服务订单列表轮询 private Disposable mQueryOrderRemainingDisposable; //心跳轮询 - private CompositeDisposable mRouteWipeDisposable; //轨迹擦除 + private CompositeDisposable mRouteWipeDisposable = new CompositeDisposable(); //轨迹擦除 private Disposable mReadyToAutopilotDisposable; //轮询是否可开启自动驾驶 public void startReadyToAutopilot() { @@ -60,6 +60,9 @@ public class TaxiPassengerModelLoopManager { } public void startRouteAndWipe() { + if (mRouteWipeDisposable == null){ + mRouteWipeDisposable = new CompositeDisposable(); + } CallerLogger.INSTANCE.i(M_TAXI_P + TAG, "startRouteAndWipe()"); Disposable disposable = startLoopRouteAndWipe() .doOnSubscribe(new Consumer() { diff --git a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/TaxiPassengerServingOrderPresenter.java b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/TaxiPassengerServingOrderPresenter.java index 28bc751b01..4105a50e3c 100644 --- a/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/TaxiPassengerServingOrderPresenter.java +++ b/OCH/mogo-och-taxi-passenger/src/main/java/com/mogo/och/taxi/passenger/presenter/TaxiPassengerServingOrderPresenter.java @@ -74,13 +74,13 @@ public class TaxiPassengerServingOrderPresenter extends Presenter mView.setLineMarker(models)); } - @Override - public void routeResultByServer(List models) { + public void routeResultByServer(List models, int haveArrivedIndex) { if (models == null) return; - runOnUIThread(() -> mView.routeResultByServer(models)); + runOnUIThread(() -> mView.routeResultByServer(models,haveArrivedIndex)); } + @Override public void onCurrentOrderStatusChanged(TaxiPassengerOrderQueryRespBean.Result order) { CallerLogger.INSTANCE.d(M_TAXI_P + TAG, GsonUtil.jsonFromObject(order)); 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 574664279b..d7afe97db2 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 @@ -3,7 +3,6 @@ package com.mogo.och.taxi.passenger.ui; import static com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.M_TAXI_P; import android.content.Context; -import android.graphics.Color; import android.os.Bundle; import android.util.AttributeSet; import android.view.LayoutInflater; @@ -19,6 +18,7 @@ import com.amap.api.maps.CameraUpdateFactory; import com.amap.api.maps.CoordinateConverter; import com.amap.api.maps.TextureMapView; import com.amap.api.maps.UiSettings; +import com.amap.api.maps.model.BitmapDescriptor; import com.amap.api.maps.model.BitmapDescriptorFactory; import com.amap.api.maps.model.CameraPosition; import com.amap.api.maps.model.CustomMapStyleOptions; @@ -61,8 +61,10 @@ public class TaxiPassengerMapDirectionView private Polyline mPolyline; private CameraUpdate mCameraUpdate; private Context mContext; + private int mHaveArrivedIndex; - private List colorList = new ArrayList<>(); + List textureList = new ArrayList<>(); + List texIndexList = new ArrayList<>(); private ITaxiPassengerMapViewCallback mITaxiPassengerMapViewCallback; @@ -232,7 +234,7 @@ public class TaxiPassengerMapDirectionView } if (mAMap != null) { - addRouteColorList(); +// addRouteColorList(); if (mCoordinatesLatLng.size() > 2) { //设置线段纹理 @@ -243,7 +245,9 @@ public class TaxiPassengerMapDirectionView //polylineOptions.useGradient(true); polylineOptions.width(15); polylineOptions.lineCapType(PolylineOptions.LineCapType.LineCapRound); - polylineOptions.setCustomTexture(BitmapDescriptorFactory.fromResource(R.drawable.taxi_p_map_arrow)); + polylineOptions.setCustomTextureList(textureList); + polylineOptions.setCustomTextureIndex(texIndexList); +// polylineOptions.setCustomTexture(BitmapDescriptorFactory.fromResource(R.drawable.taxi_p_map_arrow_un_arrive)); // 绘制线 mPolyline = mAMap.addPolyline(polylineOptions); @@ -256,12 +260,20 @@ public class TaxiPassengerMapDirectionView * 添加画线颜色值 */ private void addRouteColorList() { + textureList.clear(); + texIndexList.clear(); for (int i = 0; i < mCoordinatesLatLng.size(); i++){ - if (i <= mCoordinatesLatLng.size()/2){ - colorList.add(Color.argb(255, 31, 195, 255));//start +// if (i <= mCoordinatesLatLng.size()/2){ +// colorList.add(Color.argb(255, 31, 195, 255));//start +// }else { +// colorList.add(Color.argb(255, 87, 171, 255));//end +// } + if (i <= mHaveArrivedIndex){ + textureList.add(BitmapDescriptorFactory.fromResource(R.drawable.taxi_p_map_arrow_arrived)); }else { - colorList.add(Color.argb(255, 87, 171, 255));//end + textureList.add(BitmapDescriptorFactory.fromResource(R.drawable.taxi_p_map_arrow_un_arrive)); } + texIndexList.add(i); } } @@ -344,6 +356,13 @@ public class TaxiPassengerMapDirectionView mCoordinatesLatLng.addAll(latLngs); } + public void setCoordinatesLatLng(List latLngs, int haveArrivedIndex){ + mCoordinatesLatLng.clear(); + mCoordinatesLatLng.addAll(latLngs); + mHaveArrivedIndex = haveArrivedIndex; + addRouteColorList(); + } + @Override public void onCameraChange(CameraPosition cameraPosition) { mITaxiPassengerMapViewCallback.onCameraChange(cameraPosition.bearing); 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 6d6805884e..1232fbaf33 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 @@ -228,18 +228,18 @@ public class TaxiPassengerServingOrderFragment extends } } - public void routeResultByServer(List latLngList) { + public void routeResultByServer(List latLngList,int haveArrivedIndex) { CallerLogger.INSTANCE.d(M_TAXI_P + TAG, "routeResultByServer:" + latLngList.size()); if (latLngList.size() > 0) { - drawablePolylineByServerRoute(latLngList); + drawablePolylineByServerRoute(latLngList,haveArrivedIndex); } else { clearPolyline(); } } - public void drawablePolylineByServerRoute(List mCoordinatesLatLng){ + public void drawablePolylineByServerRoute(List mCoordinatesLatLng,int haveArrivedIndex){ if (mMapDirectionView != null){ - mMapDirectionView.setCoordinatesLatLng(mCoordinatesLatLng); + mMapDirectionView.setCoordinatesLatLng(mCoordinatesLatLng,haveArrivedIndex); UiThreadHandler.post(new Runnable() { @Override public void run() { diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_map_arrow.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_map_arrow.png deleted file mode 100644 index baa35592cb..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_map_arrow.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_map_arrow_arrived.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_map_arrow_arrived.png new file mode 100644 index 0000000000..746212d8a3 Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_map_arrow_arrived.png differ diff --git a/OCH/mogo-och-bus-passenger/src/main/res/drawable-sw320dp-xhdpi/bus_p_map_arrow.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_map_arrow_un_arrive.png similarity index 100% rename from OCH/mogo-och-bus-passenger/src/main/res/drawable-sw320dp-xhdpi/bus_p_map_arrow.png rename to OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi-2560x1440/taxi_p_map_arrow_un_arrive.png diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_map_arrow.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_map_arrow.png deleted file mode 100644 index baa35592cb..0000000000 Binary files a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_map_arrow.png and /dev/null differ diff --git a/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_map_arrow_arrived.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_map_arrow_arrived.png new file mode 100644 index 0000000000..746212d8a3 Binary files /dev/null and b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_map_arrow_arrived.png differ diff --git a/OCH/mogo-och-bus-passenger/src/main/res/drawable-xhdpi/bus_p_map_arrow.png b/OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_map_arrow_un_arrive.png similarity index 100% rename from OCH/mogo-och-bus-passenger/src/main/res/drawable-xhdpi/bus_p_map_arrow.png rename to OCH/mogo-och-taxi-passenger/src/main/res/drawable-xhdpi/taxi_p_map_arrow_un_arrive.png diff --git a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java index bccd6475ba..a5e09fe2dd 100644 --- a/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java +++ b/OCH/mogo-och-taxi/src/main/java/com/mogo/och/taxi/ui/TaxiBeingServerdOrdersFragment.java @@ -32,6 +32,7 @@ import com.mogo.map.marker.IMogoMarker; import com.mogo.map.marker.MogoMarkerOptions; import com.mogo.och.common.module.utils.DateTimeUtil; import com.mogo.och.common.module.utils.NumberFormatUtil; +import com.mogo.och.common.module.utils.OCHThreadPoolManager; import com.mogo.och.taxi.callback.ITaxiNaviChangedCallback; import com.mogo.och.taxi.constant.TaxiConst; import com.mogo.och.taxi.constant.TaxiOrderStatusEnum; @@ -602,28 +603,42 @@ public class TaxiBeingServerdOrdersFragment extends BaseTaxiUIFragment implement */ private void setOrRemoveMapMaker(boolean isAdd, String uuid, List station,int resourceId){ if (isAdd){ - CallerLogger.INSTANCE.d(M_TAXI + "setMapMaker= ",uuid+"=latitude=" - +station.get(1)+",longitude="+station.get(0)); - - MogoMarkerOptions options = new MogoMarkerOptions() - .owner(TaxiConst.TYPE_MARKER_TAXI_ORDER) - .anchor(0.5f, 0.5f) - .set3DMode(true) - .gps(true) - .controlAngle(true) - .icon3DRes(resourceId) - .latitude(station.get(1)) - .longitude(station.get(0)); - IMogoMarker marker = MogoMarkerManager.getInstance(AbsMogoApplication.getApp()).addMarker(uuid, options); - CenterLine centerLine = CallerHDMapManager.INSTANCE.getCenterLineInfo(station.get(0) - ,station.get(1),-1); - if (null != centerLine){// 有可能鹰眼map为空没有角度。判空使用后可能造成maker角度跟道路角度不一致 - marker.setRotateAngle(centerLine.getAngle().floatValue()); - } + //开启线程执行起终点marker设置 + Runnable setMapMarkerRunnable = new Runnable() { + @Override + public void run() { + CallerLogger.INSTANCE.d(M_TAXI + "setMapMaker= " + Thread.currentThread().getName(), + uuid + "=latitude=" + station.get(1) + ",longitude=" + station.get(0)); + MogoMarkerOptions options = new MogoMarkerOptions() + .owner(TaxiConst.TYPE_MARKER_TAXI_ORDER) + .anchor(0.5f, 0.5f) + .set3DMode(true) + .gps(true) + .controlAngle(true) + .icon3DRes(resourceId) + .latitude(station.get(1)) + .longitude(station.get(0)); + IMogoMarker marker = MogoMarkerManager.getInstance(AbsMogoApplication.getApp()).addMarker(uuid, options); + CenterLine centerLine = CallerHDMapManager.INSTANCE.getCenterLineInfo(station.get(0) + , station.get(1), -1); + if (null != centerLine) {// 有可能鹰眼map为空没有角度。判空使用后可能造成maker角度跟道路角度不一致 + marker.setRotateAngle(centerLine.getAngle().floatValue()); + } + } + }; + OCHThreadPoolManager.getsInstance().execute(setMapMarkerRunnable); }else { - CallerLogger.INSTANCE.d(M_TAXI + "RemoveMapMaker=",uuid+"=latitude="+station.get(1)+",longitude="+station.get(0)); - MogoMarkerManager.getInstance(AbsMogoApplication.getApp()) .removeMarkers(uuid); + //开启线程移除起终点marker设置 + Runnable removeMapMarkerRunnable = new Runnable() { + @Override + public void run() { + CallerLogger.INSTANCE.d(M_TAXI + "RemoveMapMaker=" + Thread.currentThread().getName(), + uuid + "=latitude=" + station.get(1) + ",longitude=" + station.get(0)); + MogoMarkerManager.getInstance(AbsMogoApplication.getApp()).removeMarkers(uuid); + } + }; + OCHThreadPoolManager.getsInstance().execute(removeMapMarkerRunnable); } } diff --git a/core/function-impl/mogo-core-function-map/src/main/res/values-xhdpi/dimens.xml b/core/function-impl/mogo-core-function-map/src/main/res/values-xhdpi/dimens.xml index 2d9205f188..5b648ef397 100644 --- a/core/function-impl/mogo-core-function-map/src/main/res/values-xhdpi/dimens.xml +++ b/core/function-impl/mogo-core-function-map/src/main/res/values-xhdpi/dimens.xml @@ -12,8 +12,8 @@ 200px 40px - 700px + 400px 550px - 660px + 360px \ No newline at end of file diff --git a/core/function-impl/mogo-core-function-map/src/main/res/values/dimens.xml b/core/function-impl/mogo-core-function-map/src/main/res/values/dimens.xml index c4c0b6041f..a4cebc3ea8 100644 --- a/core/function-impl/mogo-core-function-map/src/main/res/values/dimens.xml +++ b/core/function-impl/mogo-core-function-map/src/main/res/values/dimens.xml @@ -12,7 +12,7 @@ 100px 30px - 588px - 550px - 560px + 288px + 450px + 260px \ No newline at end of file diff --git a/core/mogo-core-res/src/main/assets/small_map_style.data b/core/mogo-core-res/src/main/assets/small_map_style.data new file mode 100644 index 0000000000..4b1dc9a0da Binary files /dev/null and b/core/mogo-core-res/src/main/assets/small_map_style.data differ diff --git a/core/mogo-core-res/src/main/assets/small_map_style_extra.data b/core/mogo-core-res/src/main/assets/small_map_style_extra.data new file mode 100644 index 0000000000..6e201b10d4 Binary files /dev/null and b/core/mogo-core-res/src/main/assets/small_map_style_extra.data differ