修复了Marker图片更新在主线程的问题

This commit is contained in:
董宏宇
2020-02-02 14:24:51 +08:00
parent f3b5870ebd
commit f41f2187bb
4 changed files with 34 additions and 22 deletions

2
.idea/misc.xml generated
View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="JDK" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
</project>

View File

@@ -164,7 +164,7 @@ public class MarkerServiceHandler {
// 将上次选中 Marker 设置为未选中状态
MarkerShowEntity lastMarkerShowEntity = (MarkerShowEntity) lastMarker.getObject();
Logger.e(TAG, "onMarkerClicked 点击了大而全中的Marker lastMarkerShowEntity" + lastMarkerShowEntity);
Logger.w(TAG, "onMarkerClicked 点击了大而全中的Marker lastMarkerShowEntity" + lastMarkerShowEntity);
lastMarkerShowEntity.setChecked(false);
lastMarkerShowEntity.setHighlighted(false);
@@ -176,7 +176,7 @@ public class MarkerServiceHandler {
// 将当前的Marker设置为选中
MarkerShowEntity markerShowEntity = (MarkerShowEntity) marker.getObject();
Logger.e(TAG, "onMarkerClicked 点击了大而全中的Marker markerShowEntity" + markerShowEntity);
Logger.w(TAG, "onMarkerClicked 点击了大而全中的Marker markerShowEntity" + markerShowEntity);
markerShowEntity.setChecked(true);
markerShowEntity.setHighlighted(true);
@@ -279,6 +279,7 @@ public class MarkerServiceHandler {
markerCardResult.getDataType().contains(ServiceConst.CARD_TYPE_USER_DATA)) {
getMarkerManager().removeMarkers(ServiceConst.CARD_TYPE_USER_DATA);
getMogoCardManager().switch2(ServiceConst.CARD_TYPE_USER_DATA);
} else {
// 清空所有地图上绘制的Marker
getMarkerManager().removeMarkers();

View File

@@ -55,30 +55,36 @@ public abstract class MapMarkerBaseView extends ConstraintLayout {
public abstract void updateView(MarkerShowEntity markerShowEntity);
protected void loadImageWithMarker(MarkerShowEntity markerShowEntity) {
protected void loadImageWithMarker(final MarkerShowEntity markerShowEntity) {
if (!TextUtils.isEmpty(markerShowEntity.getIconUrl())) {
MarkerServiceHandler
.getImageloader()
.displayImage(markerShowEntity.getIconUrl(),
ivUserHead,
WindowUtils.dip2px(mContext, 50), WindowUtils.dip2px(mContext, 50),
new IMogoImageLoaderListener() {
@Override
public void onStart() {
ivUserHead.post(new Runnable() {
@Override
public void run() {
MarkerServiceHandler
.getImageloader()
.displayImage(markerShowEntity.getIconUrl(),
ivUserHead,
WindowUtils.dip2px(mContext, 50), WindowUtils.dip2px(mContext, 50),
new IMogoImageLoaderListener() {
@Override
public void onStart() {
}
}
@Override
public void onCompleted(Bitmap bitmap) {
Logger.d(TAG, "loadImageWithMarker loaded.");
}
@Override
public void onCompleted(Bitmap bitmap) {
Logger.d(TAG, "loadImageWithMarker loaded.");
}
@Override
public void onFailure(Exception e) {
Logger.e(TAG, "loadImageWithMarker onFailure.");
}
});
}
});
@Override
public void onFailure(Exception e) {
Logger.e(TAG, "loadImageWithMarker onFailure.");
}
});
} else {
ivUserHead.setBackgroundResource(R.drawable.icon_default_user_head);
}

View File

@@ -59,6 +59,11 @@ public class RefreshModel {
refreshBody.limit = 5;
refreshBody.location = new RefreshBody.LatLon(latLng.lat, latLng.lng);
refreshBody.radius = radius;
refreshBody.dataType.add(ServiceConst.CARD_TYPE_CARS_CHATTING);
refreshBody.dataType.add(ServiceConst.CARD_TYPE_ROAD_CONDITION);
refreshBody.dataType.add(ServiceConst.CARD_TYPE_SHARE_MUSIC);
refreshBody.dataType.add(ServiceConst.CARD_TYPE_USER_DATA);
refreshBody.dataType.add(ServiceConst.CARD_TYPE_NOVELTY);
query.put("data", GsonUtil.jsonFromObject(refreshBody));
mRefreshApiService.refreshData(query)
.subscribeOn(Schedulers.io())