This commit is contained in:
wangcongtao
2020-04-28 17:20:30 +08:00
parent 530fcc8987
commit dbf832e139
4 changed files with 47 additions and 29 deletions

View File

@@ -608,6 +608,7 @@ public class MogoServices implements IMogoMapListener,
mLastAutoRefreshLocation = point;
notifyRefreshData( mLastAutoRefreshLocation, getQueryRadius(), mAutoRefreshCallback );
}
MapMarkerManager.getInstance().syncLocation( latLng.getLongitude(), latLng.getLatitude() );
}
@Override

View File

@@ -832,39 +832,54 @@ public class MapMarkerManager implements IMogoMarkerClickListener,
private void getOnlineCarList() {
if (MarkerServiceHandler.getMogoStatusManager().isSearchUIShow()){
if ( ignoreOnlineCarRequest() ) {
removeCarMarkers();
return;
}
mRefreshModel.queryOnLineCarWithRoute(mCarLatLng, false, false, new RefreshCallback() {
@Override
public void onSuccess(Object o) {
MarkerResponse data = (MarkerResponse) o;
MarkerCardResult result = data.getResult();
if (result == null) {
return;
}
removeCarMarkers();
List<MarkerOnlineCar> onlineCarList = result.getOnlineCar();
if ( !MarkerServiceHandler.getMogoStatusManager().isADASShow() ) {
dispatchDataToBis(ServiceConst.CARD_TYPE_USER_DATA, onlineCarList == null ? new ArrayList<>() : onlineCarList);
}
if (MarkerServiceHandler.getMogoStatusManager().isSearchUIShow() ){
return;
}
drawOnlineCarMarkers(onlineCarList, ServiceConst.MAX_AMOUNT_SINGLE_CARD);
}
@Override
public void onFail() {
}
});
}
/**
* 忽略在线车辆请求策略
* @return
*/
private boolean ignoreOnlineCarRequest(){
if ( MarkerServiceHandler.getMogoStatusManager().isSearchUIShow() ) {
return true;
}
if ( MarkerServiceHandler.getMogoStatusManager().isADASShow() ) {
return false;
}
if ( TextUtils.equals( ServiceConst.CARD_TYPE_USER_DATA, mCurrentModuleName )
|| TextUtils.equals( ServiceConst.CARD_TYPE_BUSINESS_OPERATION, mCurrentModuleName )
|| TextUtils.equals( ServiceConst.CARD_TYPE_CARS_CHATTING, mCurrentModuleName )) {
mRefreshModel.queryOnLineCarWithRoute(mCarLatLng, false, false, new RefreshCallback() {
@Override
public void onSuccess(Object o) {
MarkerResponse data = (MarkerResponse) o;
MarkerCardResult result = data.getResult();
if (result == null) {
return;
}
removeCarMarkers();
List<MarkerOnlineCar> onlineCarList = result.getOnlineCar();
dispatchDataToBis(ServiceConst.CARD_TYPE_USER_DATA, onlineCarList == null ? new ArrayList<>() : onlineCarList);
if (MarkerServiceHandler.getMogoStatusManager().isSearchUIShow() ){
return;
}
drawOnlineCarMarkers(onlineCarList, ServiceConst.MAX_AMOUNT_SINGLE_CARD);
}
@Override
public void onFail() {
}
});
}else {
removeCarMarkers();
|| TextUtils.equals( ServiceConst.CARD_TYPE_CARS_CHATTING, mCurrentModuleName ) ) {
return false;
}
return true;
}
private void removeCarMarkers(){