From dee62d773db35dc5f9423aef64e8666f069f846c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Fri, 28 Feb 2020 14:53:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20=E3=80=90=E5=9C=A8?= =?UTF-8?q?=E7=BA=BF=E8=BD=A6=E8=BE=86=E3=80=91=E9=BB=98=E8=AE=A4=E9=80=89?= =?UTF-8?q?=E4=B8=AD=E4=B8=80=E8=BE=86=E8=BD=A6=E5=90=8E=EF=BC=8C=E5=8F=AF?= =?UTF-8?q?=E8=83=BD=E5=87=BA=E7=8E=B0=E6=98=B5=E7=A7=B0=E6=88=96=E5=A4=B4?= =?UTF-8?q?=E5=83=8F=E8=A2=AB=E9=99=84=E8=BF=91=E6=B0=94=E6=B3=A1=E8=A6=86?= =?UTF-8?q?=E7=9B=96=E7=9A=84=E6=83=85=E5=86=B5=20http://jira.zhidaohulian?= =?UTF-8?q?.com/browse/UI-386=3Fjql=3Dproject%20%3D%20UI%20AND%20assignee%?= =?UTF-8?q?20in%20(donghongyu)%20ORDER%20BY%20priority%20DESC%2C%20updated?= =?UTF-8?q?%20DESC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/marker/MapMarkerManager.java | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java index 760ec028b5..7b159a1f4e 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java @@ -58,14 +58,15 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag private boolean isCheckOnLineData = false; private static Context mContext; - private static IMogoMarker lastMarker; + // 最后一次选中的气泡 + private static IMogoMarker mLastCHeckMarker; private static MapMarkerManager mMarkerManager; private static String mLastHighLightModule = ""; // 记录其它已经缩小的Marker public static ArrayList alreadySmallMarker = new ArrayList<>(); // 距离用户最近的Marker - private IMogoMarker nearlyMogoMarker = null; + private IMogoMarker mNearlyMogoMarker = null; private MapMarkerManager() { } @@ -122,14 +123,14 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag Logger.d(TAG, "onMarkerClicked 点击了大而全中的Marker:" + marker); try { - if (lastMarker != null) { + if (mLastCHeckMarker != null) { // 判断点击的是否是同一个 - if (marker.equals(lastMarker)) { + if (marker.equals(mLastCHeckMarker)) { Logger.d(TAG, "onMarkerClicked 与上一次点击的Marker一样,不做处理:" + marker); return false; } // 将上次选中 Marker 设置为未选中状态 - closeMarker(lastMarker); + closeMarker(mLastCHeckMarker); } // 将当前的Marker设置为选中 @@ -137,7 +138,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag // 数据统计代码 final Map properties = new HashMap<>(); - switch (lastMarker.getOwner()) { + switch (mLastCHeckMarker.getOwner()) { case ServiceConst.CARD_TYPE_CARS_CHATTING: properties.put("type", 3); break; @@ -148,7 +149,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag properties.put("type", 2); break; case ServiceConst.CARD_TYPE_NOVELTY: - MarkerShowEntity showEntity = (MarkerShowEntity) lastMarker.getObject(); + MarkerShowEntity showEntity = (MarkerShowEntity) mLastCHeckMarker.getObject(); Object bindObj = showEntity.getBindObj(); if (bindObj instanceof MarkerNoveltyInfo) { switch (((MarkerNoveltyInfo) bindObj).getPoiType()) { @@ -235,7 +236,6 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag if (mogoMarker == null || mogoMarker.isDestroyed()) { continue; } - mogoMarker.setToTop(); try { mogoMarker.startScaleAnimation(0.6f, 1f, 0.6f, 1f, 1000, new BounceInterpolator()); } catch (Exception e) { @@ -274,14 +274,14 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag if (marker != null) { Logger.i(TAG, "closeMarkerSelect 将出Marker详情关闭:" + marker); closeMarker(marker); - lastMarker = null; + mLastCHeckMarker = null; } } // 展开气泡 private void openMarker(IMogoMarker mogoMarker) { if (mogoMarker != null) { - lastMarker = mogoMarker; + mLastCHeckMarker = mogoMarker; Object object = mogoMarker.getObject(); if (object != null) { MarkerShowEntity markerShowEntity = (MarkerShowEntity) object; @@ -308,7 +308,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag // 绘制Marker public synchronized void drawMapMarker(MarkerResponse response) { - lastMarker = null; + mLastCHeckMarker = null; JSONArray array = new JSONArray(); @@ -368,7 +368,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag // 进行比较,保留最近的一个数据 if (calculateDistance < nearlyDistance) { nearlyDistance = calculateDistance; - nearlyMogoMarker = iMogoMarker; + mNearlyMogoMarker = iMogoMarker; } } catch (Exception e) { @@ -465,25 +465,25 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag try { // 在ACC on 之后第一次获取到了在线车辆数据,选中最近的一个Marker if (isCheckOnLineData) { - if (nearlyMogoMarker != null) { - Logger.d(TAG, "语音搜索触发,默认选中最近的在线车辆:" + nearlyMogoMarker); + if (mNearlyMogoMarker != null) { + Logger.d(TAG, "语音搜索触发,默认选中最近的在线车辆:" + mNearlyMogoMarker); // 移动地图到指定位置 MarkerServiceHandler.getMogoStatusManager().setUserInteractionStatus(ServiceConst.TYPE, true, false); - MarkerServiceHandler.getMapUIController().moveToCenter(nearlyMogoMarker.getPosition()); + MarkerServiceHandler.getMapUIController().moveToCenter(mNearlyMogoMarker.getPosition()); - onMarkerClicked(nearlyMogoMarker); - MogoMarkersHandler.getInstance().onMarkerClicked(nearlyMogoMarker); + onMarkerClicked(mNearlyMogoMarker); + MogoMarkersHandler.getInstance().onMarkerClicked(mNearlyMogoMarker); isCheckOnLineData = false; } } if (isACC_ON && isSynchronousOnLineData) { isSynchronousOnLineData = false; - if (nearlyMogoMarker != null) { - Logger.d(TAG, "ACC ON 触发,将附近的在线车辆数据同步给卡片:" + nearlyMogoMarker); - openMarker(nearlyMogoMarker); + if (mNearlyMogoMarker != null) { + Logger.d(TAG, "ACC ON 触发,将附近的在线车辆数据同步给卡片:" + mNearlyMogoMarker); + openMarker(mNearlyMogoMarker); // 将数据同步给在线用户卡片 - MogoDataHandler.getInstance().invoke(ServiceConst.CARD_TYPE_USER_DATA, nearlyMogoMarker); + MogoDataHandler.getInstance().invoke(ServiceConst.CARD_TYPE_USER_DATA, mNearlyMogoMarker); } } } catch (Exception e) { @@ -535,9 +535,9 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag */ public synchronized IMogoMarker drawMapMarker(MarkerShowEntity markerShowEntity) { if (!TextUtils.isEmpty(mLastHighLightModule) - && lastMarker != null - && !TextUtils.isEmpty(lastMarker.getOwner()) - && TextUtils.equals(mLastHighLightModule, lastMarker.getOwner()) + && mLastCHeckMarker != null + && !TextUtils.isEmpty(mLastCHeckMarker.getOwner()) + && TextUtils.equals(mLastHighLightModule, mLastCHeckMarker.getOwner()) ) { return drawMapMarker(markerShowEntity, true); } else {