Merge remote-tracking branch 'origin/feature/v1.0.0' into feature/v1.0.0
This commit is contained in:
@@ -553,7 +553,7 @@ public class MogoServiceProvider implements IMogoModuleProvider,
|
||||
try {
|
||||
if ( isTrue ) {
|
||||
// V2X_UI时,不在自动刷新打点策略
|
||||
stopAutoRefreshStrategy();
|
||||
// stopAutoRefreshStrategy();
|
||||
// 清除所有的打点信息记录
|
||||
MarkerServiceHandler.getMapMarkerManager().alreadySmallMarker.clear();
|
||||
} else {
|
||||
|
||||
@@ -54,7 +54,7 @@ import java.util.Map;
|
||||
* version: 1.0
|
||||
*/
|
||||
public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessageListener<MarkerResponse> {
|
||||
private static final String TAG = "MarkerManager";
|
||||
private static final String TAG = "MapMarkerManager";
|
||||
// 第一次请求到地图的Marker数据
|
||||
private boolean isFirstMarker = true;
|
||||
private boolean isOnLineCard = false;
|
||||
@@ -66,6 +66,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag
|
||||
|
||||
// 记录其它已经缩小的Marker
|
||||
public static ArrayList<String> alreadySmallMarker = new ArrayList<>();
|
||||
IMogoMarker nearlyMogoMarker = null;
|
||||
|
||||
private MapMarkerManager() {
|
||||
}
|
||||
@@ -141,6 +142,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag
|
||||
marker.setIcon(fromView(markerView.getView()));
|
||||
|
||||
lastMarker = marker;
|
||||
MarkerServiceHandler.getMapUIController().moveToCenter(lastMarker.getPosition());
|
||||
|
||||
// 数据统计代码
|
||||
final Map<String, Object> properties = new HashMap<>();
|
||||
@@ -360,17 +362,24 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag
|
||||
isFirstMarker = true;
|
||||
} else {
|
||||
// 清空所有地图上绘制的Marker
|
||||
MarkerServiceHandler.getMarkerManager().removeMarkers();
|
||||
if (!MarkerServiceHandler.getMogoStatusManager().isV2XShow()) {
|
||||
MarkerServiceHandler.getMarkerManager().removeMarkers();
|
||||
}
|
||||
}
|
||||
|
||||
List<MarkerCarChat> carChatList = markerCardResult.getCarChat();
|
||||
List<MarkerOnlineCar> onlineCarList = markerCardResult.getOnlineCar();
|
||||
List<MarkerExploreWay> exploreWayList = markerCardResult.getExploreWay();
|
||||
List<MarkerShareMusic> shareMusicList = markerCardResult.getShareMusic();
|
||||
List<MarkerNoveltyInfo> noveltyInfoList = markerCardResult.getNoveltyInfo();
|
||||
List<MarkerExploreWay> exploreWayList = null;
|
||||
List<MarkerShareMusic> shareMusicList = null;
|
||||
List<MarkerNoveltyInfo> noveltyInfoList = null;
|
||||
|
||||
// V2X 场景下只保留在线车辆数据
|
||||
if (!MarkerServiceHandler.getMogoStatusManager().isV2XShow()) {
|
||||
exploreWayList = markerCardResult.getExploreWay();
|
||||
shareMusicList = markerCardResult.getShareMusic();
|
||||
noveltyInfoList = markerCardResult.getNoveltyInfo();
|
||||
}
|
||||
if (onlineCarList != null) {
|
||||
IMogoMarker nearlyMogoMarker = null;
|
||||
double nearlyDistance = Double.MAX_VALUE;
|
||||
for (MarkerOnlineCar markerOnlineCar : onlineCarList) {
|
||||
MarkerLocation markerLocation = markerOnlineCar.getLocation();
|
||||
@@ -403,18 +412,6 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag
|
||||
}
|
||||
}
|
||||
fillNumberTrackEventBody(array, 3, onlineCarList.size());
|
||||
|
||||
try {
|
||||
// 在ACC on 之后第一次获取到了在线车辆数据,选中最近的一个Marker
|
||||
if (isFirstMarker && isOnLineCard) {
|
||||
if (nearlyMogoMarker != null) {
|
||||
MogoMarkersHandler.getInstance().onMarkerClicked(nearlyMogoMarker);
|
||||
isFirstMarker = false;
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
// 将数据同步给探路,避免探路每次 perform 的时候去拉取,造成消耗
|
||||
@@ -499,6 +496,21 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag
|
||||
// 同步新绘制的气泡状态
|
||||
alreadySmallMarker.clear();
|
||||
highlightedMarker(mLastHighLightModule, true);
|
||||
|
||||
try {
|
||||
Thread.sleep(500);
|
||||
// 在ACC on 之后第一次获取到了在线车辆数据,选中最近的一个Marker
|
||||
if (isFirstMarker && isOnLineCard) {
|
||||
if (nearlyMogoMarker != null) {
|
||||
Logger.w(TAG, "ACC ON,或者语音搜索触发,默认选中最近的在线车辆nearlyMogoMarker:" + nearlyMogoMarker);
|
||||
onMarkerClicked(nearlyMogoMarker);
|
||||
MogoMarkersHandler.getInstance().onMarkerClicked(nearlyMogoMarker);
|
||||
isFirstMarker = false;
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -595,8 +607,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag
|
||||
@Override
|
||||
public void onMsgReceived(final MarkerResponse response) {
|
||||
Logger.e(TAG, "MarkerResponse======" + response);
|
||||
if (!MarkerServiceHandler.getMogoStatusManager().isSearchUIShow() &&
|
||||
!MarkerServiceHandler.getMogoStatusManager().isV2XShow()) {
|
||||
if (!MarkerServiceHandler.getMogoStatusManager().isSearchUIShow()) {
|
||||
Handler handler = new Handler(Looper.getMainLooper());
|
||||
handler.post(new Runnable() {
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user