onlinecar smooth fix bug

This commit is contained in:
ihoudf
2020-04-23 17:05:29 +08:00
parent fb3e7c0d7f
commit 87a05f0ec8

View File

@@ -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<MarkerOnlineCar> 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<MarkerCarPois> poisList = markerOnlineCar.getPois();
if (poisList != null && poisList.size() > 0) {
// Logger.d(TAG, "在线" + poisList.toString());
// Logger.d(TAG, "坐标------"+markerLocation.getLon()+", "+markerLocation.getLat());
List<MogoLatLng> 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));