diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapMarkerClickHandler.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapMarkerClickHandler.java index cdf9657f93..0b89685535 100644 --- a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapMarkerClickHandler.java +++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/AMapMarkerClickHandler.java @@ -2,7 +2,7 @@ package com.mogo.map.impl.custom; import android.util.Log; -import com.mogo.map.impl.custom.marker.MarkerWrapperIntance; +import com.mogo.map.impl.custom.marker.MarkerWrapperClickHelper; import com.mogo.map.marker.IMogoMarker; import com.mogo.map.marker.IMogoMarkerClickListener; import com.mogo.map.marker.MogoMarkersHandler; @@ -23,7 +23,7 @@ public class AMapMarkerClickHandler { if ( marker == null ) { return false; } - Map mogoMarkerMap = MarkerWrapperIntance.getInstance().getMogoMarkerMap(); + Map mogoMarkerMap = MarkerWrapperClickHelper.getInstance().getMogoMarkerMap(); if ( mogoMarkerMap.containsKey(marker.getId())) { IMogoMarker mogoMarker = mogoMarkerMap.get(marker.getId()); final IMogoMarkerClickListener listener = mogoMarker.getOnMarkerClickListener(); diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/marker/AMapMarkerWrapper.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/marker/AMapMarkerWrapper.java index d304a189af..e6f1555310 100644 --- a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/marker/AMapMarkerWrapper.java +++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/marker/AMapMarkerWrapper.java @@ -5,12 +5,8 @@ import android.graphics.Point; import android.util.Log; import android.view.View; import android.view.animation.Interpolator; -import android.view.animation.ScaleAnimation; -import android.view.animation.TranslateAnimation; -import com.mogo.commons.AbsMogoApplication; import com.mogo.map.MogoLatLng; -import com.mogo.map.impl.custom.AMapWrapper; import com.mogo.map.impl.custom.utils.ObjectUtils; import com.mogo.map.marker.IMogoInfoWindowAdapter; import com.mogo.map.marker.IMogoMarker; @@ -18,14 +14,12 @@ import com.mogo.map.marker.IMogoMarkerClickListener; import com.mogo.map.marker.IMogoMarkerIconViewCreator; import com.mogo.map.marker.MogoMarkerOptions; import com.mogo.map.marker.anim.OnMarkerAnimationListener; -import com.mogo.utils.WindowUtils; import com.mogo.utils.logger.Logger; import com.zhidaoauto.map.sdk.inner.marker.Animation; import com.zhidaoauto.map.sdk.inner.marker.MarkerScaleAnimation; import com.zhidaoauto.map.sdk.inner.marker.MarkerTranslateAnimation; import com.zhidaoauto.map.sdk.open.abs.marker.MarkerAnimationListener; import com.zhidaoauto.map.sdk.open.marker.Marker; -import com.zhidaoauto.map.sdk.open.marker.MarkerInfo; import com.zhidaoauto.map.sdk.open.marker.MarkerOptions; import com.zhidaoauto.map.sdk.open.query.LonLatPoint; import com.zhidaoauto.map.sdk.open.tools.MapTools; @@ -33,7 +27,6 @@ import com.zhidaoauto.map.sdk.open.tools.MapTools; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Observable; import java.util.Observer; @@ -63,7 +56,7 @@ public class AMapMarkerWrapper implements IMogoMarker, Observer { if (marker != null) { // 设置高德 marker 的object对象为 IMogoMarker 实例。!!!! marker.setMObject(this); - MarkerWrapperIntance.getInstance().setMogoMarkerMap(marker.getId(),this); + MarkerWrapperClickHelper.getInstance().setMogoMarkerMap(marker.getId(),this); } setObject(mogoMarkerOptions.getObject()); this.mMogoMarkerOptions = mogoMarkerOptions; diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/marker/MarkerWrapperClickHelper.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/marker/MarkerWrapperClickHelper.java new file mode 100644 index 0000000000..4f45d44088 --- /dev/null +++ b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/marker/MarkerWrapperClickHelper.java @@ -0,0 +1,33 @@ +package com.mogo.map.impl.custom.marker; + +import com.mogo.map.marker.IMogoMarker; +import com.mogo.map.marker.IMogoMarkerClickListener; + +import java.util.HashMap; +import java.util.Map; + +public class MarkerWrapperClickHelper { + + private volatile static MarkerWrapperClickHelper markerWrapperClickHelper; + + private Map mogoMarkerMap = new HashMap<>(); + + public void setMogoMarkerMap(String id,IMogoMarker iMogoMarker){ + this.mogoMarkerMap.put(id,iMogoMarker); + } + + public Map getMogoMarkerMap() { + return mogoMarkerMap; + } + + public static MarkerWrapperClickHelper getInstance(){ + if (markerWrapperClickHelper == null) { + synchronized (MarkerWrapperClickHelper.class) { + if (markerWrapperClickHelper == null) { + markerWrapperClickHelper = new MarkerWrapperClickHelper(); + } + } + } + return markerWrapperClickHelper; + } +} diff --git a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/marker/MarkerWrapperIntance.java b/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/marker/MarkerWrapperIntance.java deleted file mode 100644 index 16119ca608..0000000000 --- a/libraries/map-custom/src/main/java/com/mogo/map/impl/custom/marker/MarkerWrapperIntance.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.mogo.map.impl.custom.marker; - -import com.mogo.map.marker.IMogoMarker; -import com.zhidaoauto.map.sdk.open.marker.Marker; - -import java.util.HashMap; -import java.util.Map; - -public class MarkerWrapperIntance { - public static MarkerWrapperIntance markerWrapperIntance; - private Map mogoMarkerMap = new HashMap<>(); - public void setMogoMarkerMap(String id,IMogoMarker iMogoMarker){ - this.mogoMarkerMap.put(id,iMogoMarker); - } - - public Map getMogoMarkerMap() { - return mogoMarkerMap; - } - - public static MarkerWrapperIntance getInstance(){ - if (markerWrapperIntance == null){ - markerWrapperIntance = new MarkerWrapperIntance(); - } - return markerWrapperIntance; - } -}