opt
This commit is contained in:
@@ -3,6 +3,7 @@ package com.mogo.module.service.marker;
|
||||
import android.content.Context;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
|
||||
import com.mogo.map.MogoLatLng;
|
||||
@@ -52,6 +53,8 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag
|
||||
private static IMogoMarker lastMarker;
|
||||
private static MapMarkerManager mMarkerManager;
|
||||
|
||||
private static String mLastHighLightModule = null;
|
||||
|
||||
private MapMarkerManager() {
|
||||
}
|
||||
|
||||
@@ -77,8 +80,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag
|
||||
.getMogoSocketManager()
|
||||
.registerOnMessageListener(401001, this);
|
||||
|
||||
MarkerServiceHandler.getMogoCardManager()
|
||||
.registerCardChangedListener("LAUNCHER_MARKER_MODULE", new IMogoCardChangedListener() {
|
||||
MarkerServiceHandler.getMogoCardManager().registerCardChangedListener("LAUNCHER_MARKER_MODULE", new IMogoCardChangedListener() {
|
||||
|
||||
@Override
|
||||
public void onSwitched(int position, String moduleName) {
|
||||
@@ -90,6 +92,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag
|
||||
} else {
|
||||
isOnLineCard = false;
|
||||
}
|
||||
mLastHighLightModule = moduleName;
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -186,31 +189,33 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag
|
||||
|
||||
// 对指定类型高亮处理
|
||||
public synchronized static void highlightedMarker(final String typeTag) {
|
||||
Handler handler = new Handler();
|
||||
handler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
Map<String, List<IMogoMarker>> allMarker = MarkerServiceHandler.getMarkerManager().getAllMarkers();
|
||||
for (Map.Entry<String, List<IMogoMarker>> entry : allMarker.entrySet()) {
|
||||
String keyStr = entry.getKey();
|
||||
List<IMogoMarker> markerList = entry.getValue();
|
||||
try {
|
||||
|
||||
if (keyStr.equals(typeTag)) {
|
||||
for (IMogoMarker marker : markerList) {
|
||||
marker.setAlpha(1f);
|
||||
}
|
||||
} else {
|
||||
for (IMogoMarker marker : markerList) {
|
||||
marker.setAlpha(0.7f);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
if ( TextUtils.equals( mLastHighLightModule, typeTag ) ) {
|
||||
return;
|
||||
}
|
||||
});
|
||||
// 上一次高亮的变暗
|
||||
List<IMogoMarker> lastHighLightList = MarkerServiceHandler.getMarkerManager().getMarkers( mLastHighLightModule );
|
||||
setMarkersAlpha(lastHighLightList, 0.7f);
|
||||
|
||||
// 将当前高亮
|
||||
List<IMogoMarker> currentHighLightList = MarkerServiceHandler.getMarkerManager().getMarkers( typeTag );
|
||||
setMarkersAlpha(currentHighLightList, 1f);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private static void setMarkersAlpha(List<IMogoMarker> markers,float alpha){
|
||||
if ( markers == null || markers.isEmpty() ) {
|
||||
return;
|
||||
}
|
||||
for ( IMogoMarker mogoMarker : markers ) {
|
||||
if ( mogoMarker == null || mogoMarker.isDestroyed() ) {
|
||||
continue;
|
||||
}
|
||||
mogoMarker.setAlpha( alpha );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user