From f2cfa41269d2b671222a9ee126c44979ae9c5b37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Tue, 4 Feb 2020 19:07:32 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E4=BA=86bug=20=E3=80=90?= =?UTF-8?q?=E5=9C=A8=E7=BA=BF=E8=BD=A6=E8=BE=86=E3=80=91=E9=9D=9E=E6=9C=AC?= =?UTF-8?q?=E4=BA=BA=E8=BD=A6=E8=BE=86=E5=BA=94=E8=AF=A5=E6=98=AF=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E5=9B=BE=E4=B8=8A=E7=9A=84=E7=99=BD=E8=89=B2=EF=BC=8C?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E6=98=AF=E8=93=9D=E8=89=B2=E7=9A=84=20http:/?= =?UTF-8?q?/jira.zhidaohulian.com/projects/UI/issues/UI-26=3Ffilter=3Dmyop?= =?UTF-8?q?enissues=20=E3=80=90=E5=9C=A8=E7=BA=BF=E8=BD=A6=E8=BE=86?= =?UTF-8?q?=E3=80=91=E5=9C=B0=E5=9B=BE=E4=B8=8A=E8=BD=A6=E8=BE=86=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E7=9A=84=E6=B0=94=E6=B3=A1=E5=A4=B4=E5=83=8F=EF=BC=8C?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E6=98=BE=E7=A4=BA=E8=BD=A6=E4=B8=BB=E5=A4=B4?= =?UTF-8?q?=E5=83=8F=20http://jira.zhidaohulian.com/projects/UI/issues/UI-?= =?UTF-8?q?10=3Ffilter=3Dmyopenissues?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/service/MarkerServiceHandler.java | 2 +- .../service/marker/MapMarkerAdapter.java | 7 +-- .../service/marker/MapMarkerBaseView.java | 46 +++++++++---------- .../service/marker/MapMarkerInfoView.java | 4 +- .../module/service/marker/MapMarkerView.java | 4 +- 5 files changed, 33 insertions(+), 30 deletions(-) diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java index c46d4e2aee..e614f92411 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MarkerServiceHandler.java @@ -479,7 +479,6 @@ public class MarkerServiceHandler { Logger.e(TAG, "绘制Marker====drawMapMarker:" + markerShowEntity); try { if (markerShowEntity.getMarkerLocation() != null) { - View markerView = MapMarkerAdapter.getMarkerView(mContext, markerShowEntity); MogoMarkerOptions options = new MogoMarkerOptions() .owner(markerShowEntity.getMarkerType()) @@ -487,6 +486,7 @@ public class MarkerServiceHandler { .object(markerShowEntity) .latitude(markerShowEntity.getMarkerLocation().getLat()) .longitude(markerShowEntity.getMarkerLocation().getLon()); + View markerView = MapMarkerAdapter.getMarkerView(mContext, markerShowEntity, options); options.icon(markerView); IMogoMarker marker = getMarkerManager().addMarker(markerShowEntity.getMarkerType(), options); diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerAdapter.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerAdapter.java index 8c2fe8d16b..b2421f1ba1 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerAdapter.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerAdapter.java @@ -3,6 +3,7 @@ package com.mogo.module.service.marker; import android.content.Context; import android.view.View; +import com.mogo.map.marker.MogoMarkerOptions; import com.mogo.module.common.entity.MarkerShowEntity; /** @@ -21,11 +22,11 @@ public class MapMarkerAdapter { * @param markerShowEntity 要填充的数据 * @return MarkerView */ - public static View getMarkerView(Context context, MarkerShowEntity markerShowEntity) { + public static View getMarkerView(Context context, MarkerShowEntity markerShowEntity, MogoMarkerOptions options) { if (markerShowEntity.isChecked()) { - return new MapMarkerInfoView(context, markerShowEntity); + return new MapMarkerInfoView(context, markerShowEntity, options); } else { - return new MapMarkerView(context, markerShowEntity); + return new MapMarkerView(context, markerShowEntity, options); } } } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerBaseView.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerBaseView.java index 26716d6cf2..d0d225b4fb 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerBaseView.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerBaseView.java @@ -9,6 +9,7 @@ import android.widget.ImageView; import androidx.annotation.Nullable; import androidx.constraintlayout.widget.ConstraintLayout; +import com.mogo.map.marker.MogoMarkerOptions; import com.mogo.module.common.entity.MarkerShowEntity; import com.mogo.module.service.MarkerServiceHandler; import com.mogo.module.service.R; @@ -28,7 +29,7 @@ public abstract class MapMarkerBaseView extends ConstraintLayout { private String TAG = "MapMarkerBaseView"; protected Context mContext; - + protected MogoMarkerOptions mOptions; protected MogoImageView ivUserHead; protected ImageView ivIcon; protected ImageView ivCar; @@ -58,32 +59,29 @@ public abstract class MapMarkerBaseView extends ConstraintLayout { protected void loadImageWithMarker(final MarkerShowEntity markerShowEntity) { if (!TextUtils.isEmpty(markerShowEntity.getIconUrl())) { - 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() { + 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."); + mOptions.notifyObservers(); + } - @Override - public void onFailure(Exception e) { - Logger.e(TAG, "loadImageWithMarker onFailure."); - } - }); - } - }); + @Override + public void onFailure(Exception e) { + Logger.e(TAG, "loadImageWithMarker onFailure."); + mOptions.notifyObservers(); + } + }); } else { ivUserHead.setBackgroundResource(R.drawable.icon_default_user_head); diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java index ed47da31e6..7ab5a372c4 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerInfoView.java @@ -11,6 +11,7 @@ import android.widget.TextView; import androidx.annotation.Nullable; import androidx.constraintlayout.widget.ConstraintLayout; +import com.mogo.map.marker.MogoMarkerOptions; import com.mogo.module.common.entity.MarkerNoveltyInfo; import com.mogo.module.common.entity.MarkerOnlineCar; import com.mogo.module.common.entity.MarkerPoiTypeEnum; @@ -45,8 +46,9 @@ public class MapMarkerInfoView extends MapMarkerBaseView { super(context, attrs, defStyleAttr); } - public MapMarkerInfoView(Context context, MarkerShowEntity markerShowEntity) { + public MapMarkerInfoView(Context context, MarkerShowEntity markerShowEntity, MogoMarkerOptions options) { super(context); + mOptions = options; updateView(markerShowEntity); } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerView.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerView.java index af6fd04cb8..104aeac656 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerView.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerView.java @@ -8,6 +8,7 @@ import android.widget.ImageView; import androidx.annotation.Nullable; +import com.mogo.map.marker.MogoMarkerOptions; import com.mogo.module.common.entity.MarkerNoveltyInfo; import com.mogo.module.common.entity.MarkerOnlineCar; import com.mogo.module.common.entity.MarkerPoiTypeEnum; @@ -40,8 +41,9 @@ public class MapMarkerView extends MapMarkerBaseView { super(context, attrs, defStyleAttr); } - public MapMarkerView(Context context, MarkerShowEntity markerShowEntity) { + public MapMarkerView(Context context, MarkerShowEntity markerShowEntity, MogoMarkerOptions options) { super(context); + mOptions=options; updateView(markerShowEntity); }