From 87a05f0ec87c8bcbd769ea8a3c6c90112b9f776a Mon Sep 17 00:00:00 2001 From: ihoudf <188816190@qq.com> Date: Thu, 23 Apr 2020 17:05:29 +0800 Subject: [PATCH] onlinecar smooth fix bug --- .../service/marker/MapMarkerManager.java | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java index 3204a1aeeb..cd223a66ea 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java @@ -821,6 +821,10 @@ public class MapMarkerManager implements IMogoMarkerClickListener, if (mCurrentModuleName.equals(ServiceConst.CARD_TYPE_BUSINESS_OPERATION ) || mCurrentModuleName.equals(ServiceConst.CARD_TYPE_USER_DATA) ) { + if (MarkerServiceHandler.getMogoStatusManager().isSearchUIShow()){ + return; + } + mRefreshModel.queryOnLineCarWithRoute(mCarLatLng, false, false, new RefreshCallback() { @Override public void onSuccess(Object o) { @@ -829,11 +833,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, if (result == null) { return; } - - for (int i = 0; i < carMarkers.size(); i++) { - IMogoMarker marker = carMarkers.get(i); - marker.destroy(); - } + removeCarMarkers(); List onlineCarList = result.getOnlineCar(); dispatchDataToBis(ServiceConst.CARD_TYPE_USER_DATA, onlineCarList == null ? new ArrayList<>() : onlineCarList); drawOnlineCarMarkers(onlineCarList, ServiceConst.MAX_AMOUNT_SINGLE_CARD); @@ -845,10 +845,14 @@ public class MapMarkerManager implements IMogoMarkerClickListener, } }); }else { - for (int i = 0; i < carMarkers.size(); i++) { - IMogoMarker marker = carMarkers.get(i); - marker.destroy(); - } + removeCarMarkers(); + } + } + + private void removeCarMarkers(){ + for (int i = 0; i < carMarkers.size(); i++) { + IMogoMarker marker = carMarkers.get(i); + marker.destroy(); } } @@ -860,12 +864,13 @@ public class MapMarkerManager implements IMogoMarkerClickListener, List poisList = markerOnlineCar.getPois(); if (poisList != null && poisList.size() > 0) { -// Logger.d(TAG, "在线" + poisList.toString()); +// Logger.d(TAG, "坐标------"+markerLocation.getLon()+", "+markerLocation.getLat()); List points = new ArrayList<>(); for (int j = 0; j < poisList.size(); j++) { MarkerCarPois pois = poisList.get(j); if (pois != null && pois.getCoordinates() != null && pois.getCoordinates().size() >= 2) { +// Logger.d(TAG, "坐标点:" + pois.getCoordinates().toString()); double lat = Double.valueOf(pois.getCoordinates().get(1) + ""); double lng = Double.valueOf(pois.getCoordinates().get(0) + ""); points.add(new MogoLatLng(lat, lng));