From 99a3e39cb6614a847ccb7a2d7bf4684e62560e85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Wed, 15 Jan 2020 10:23:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E5=9C=A8=E7=BA=BF?= =?UTF-8?q?=E8=BD=A6=E8=BE=86=E7=9A=84=E6=B0=94=E6=B3=A1=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/service/MarkerServiceHandler.java | 39 ++++++++----------- .../service/marker/MapMarkerInfoView.java | 8 ++-- .../module/service/marker/MapMarkerView.java | 15 ++----- .../src/main/res/layout/view_map_marker.xml | 1 - .../main/res/layout/view_map_marker_info.xml | 7 ++-- 5 files changed, 28 insertions(+), 42 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 ad9f7d9c6c..de0f503015 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 @@ -153,6 +153,8 @@ public class MarkerServiceHandler { Logger.e(TAG, "onMarkerClicked 点击了大而全中的Marker lastMarkerShowEntity:" + lastMarkerShowEntity); lastMarkerShowEntity.setChecked(false); + lastMarkerShowEntity.setHighlighted(false); + drawMapMarkerItem(lastMarkerShowEntity); lastMarker.remove(); @@ -163,6 +165,7 @@ public class MarkerServiceHandler { Logger.e(TAG, "onMarkerClicked 点击了大而全中的Marker markerShowEntity:" + markerShowEntity); markerShowEntity.setChecked(true); + markerShowEntity.setHighlighted(true); lastMarker = drawMapMarkerItem(markerShowEntity); @@ -181,6 +184,7 @@ public class MarkerServiceHandler { // 将上次选中 Marker 设置为未选中状态 MarkerShowEntity lastMarkerShowEntity = (MarkerShowEntity) lastMarker.getObject(); lastMarkerShowEntity.setChecked(false); + lastMarkerShowEntity.setHighlighted(false); drawMapMarkerItem(lastMarkerShowEntity); } lastMarker = null; @@ -203,6 +207,11 @@ public class MarkerServiceHandler { public static void drawMapMarker(MarkerResponse response) { lastMarker = null; getMarkerManager().removeMarkers(); + if (markerShowEntities == null) { + markerShowEntities = new ArrayList<>(); + } else { + markerShowEntities.clear(); + } // 解析不同的Marker类型,然后对应的进行绘制 if (response != null && response.getResult() != null) { @@ -307,15 +316,15 @@ public class MarkerServiceHandler { .latitude(markerShowEntity.getMarkerLocation().getLat()) .longitude(markerShowEntity.getMarkerLocation().getLon()); options.icon(markerView); + options.alpha(0.8f); IMogoMarker marker = getMarkerManager().addMarker(markerShowEntity.getMarkerType(), options); marker.setOnMarkerClickListener(mogoMarkerClickListener); marker.setObject(markerShowEntity); - if (markerShowEntities == null) { - markerShowEntities = new ArrayList<>(); + if (markerShowEntities != null) { + markerShowEntities.add(markerShowEntity); } - markerShowEntities.add(markerShowEntity); return marker; } else { Logger.e(TAG, "Location 必须进行初始化!!!!!"); @@ -340,6 +349,11 @@ public class MarkerServiceHandler { .latitude(markerShowEntity.getMarkerLocation().getLat()) .longitude(markerShowEntity.getMarkerLocation().getLon()); options.icon(markerView); + if (markerShowEntity.isHighlighted()) { + options.alpha(1f); + } else { + options.alpha(0.8f); + } IMogoMarker marker = getMarkerManager().addMarker(markerShowEntity.getMarkerType(), options); marker.setOnMarkerClickListener(mogoMarkerClickListener); @@ -354,23 +368,4 @@ public class MarkerServiceHandler { } return null; } - - - //TODO 这里是用来测试的 - public static void drawMapMarker() { -// Logger.e(TAG, "=====绘制Marker===="); -// -// MapMarkerView mapMarkerView = new MapMarkerView(mContext); -// -// MogoMarkerOptions options = new MogoMarkerOptions() -// .icon(mapMarkerView) -// .owner("CARD_TYPE_USER_DATA") -// .latitude(39.574525d + new Random().nextDouble()) -// .longitude(116.21733d + new Random().nextDouble()); -// IMogoMarker marker = getMarkerManager().addMarker("CARD_TYPE_USER_DATA", options); -// marker.setOnMarkerClickListener(mogoMarkerClickListener); -// marker.setObject("我是Marker上面绑定的数据"); -// -// getMapUIController().changeZoom(8); - } } 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 f5ceb0b08a..7c9fceb9f9 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 @@ -67,7 +67,7 @@ public class MapMarkerInfoView extends MapMarkerBaseView { case ServiceConst.CARD_TYPE_CARS_CHATTING: case ServiceConst.CARD_TYPE_USER_DATA: ivUserHead.setVisibility(View.VISIBLE); - ivIcon.setVisibility(View.GONE); + ivIcon.setVisibility(View.INVISIBLE); if (bindObj instanceof MarkerOnlineCar) { if (((MarkerOnlineCar) bindObj).getUserInfo().getGenderValue() == 0) { @@ -83,7 +83,7 @@ public class MapMarkerInfoView extends MapMarkerBaseView { ivCar.setRotation((float) markerShowEntity.getMarkerLocation().getAngle()); break; case ServiceConst.CARD_TYPE_ROAD_CONDITION: - ivUserHead.setVisibility(View.GONE); + ivUserHead.setVisibility(View.INVISIBLE); ivIcon.setVisibility(View.VISIBLE); ivUserHead.setImageResource(R.drawable.icon_map_marker_road_block_up); @@ -92,7 +92,7 @@ public class MapMarkerInfoView extends MapMarkerBaseView { ivCar.setImageResource(R.drawable.icon_map_marker_location_blue); break; case ServiceConst.CARD_TYPE_NOVELTY: - ivUserHead.setVisibility(View.GONE); + ivUserHead.setVisibility(View.INVISIBLE); ivIcon.setVisibility(View.VISIBLE); ivIcon.setImageResource(R.drawable.icon_map_marker_road_check); @@ -101,7 +101,7 @@ public class MapMarkerInfoView extends MapMarkerBaseView { ivCar.setImageResource(R.drawable.icon_map_marker_location_blue); break; case ServiceConst.CARD_TYPE_SHARE_MUSIC: - ivUserHead.setVisibility(View.GONE); + ivUserHead.setVisibility(View.INVISIBLE); ivIcon.setVisibility(View.VISIBLE); if (bindObj instanceof MarkerShareMusic) { 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 d835e32a80..7030794fac 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 @@ -56,18 +56,11 @@ public class MapMarkerView extends MapMarkerBaseView { public void updateView(MarkerShowEntity markerShowEntity) { try { Object bindObj = markerShowEntity.getBindObj(); - - if (markerShowEntity.isHighlighted()) { - ivBg.setAlpha(1f); - } else { - ivBg.setAlpha(0.7f); - } - switch (markerShowEntity.getMarkerType()) { case ServiceConst.CARD_TYPE_CARS_CHATTING: case ServiceConst.CARD_TYPE_USER_DATA: ivUserHead.setVisibility(View.VISIBLE); - ivIcon.setVisibility(View.GONE); + ivIcon.setVisibility(View.INVISIBLE); if (bindObj instanceof MarkerOnlineCar) { if (((MarkerOnlineCar) bindObj).getUserInfo().getGenderValue() == 0) { @@ -81,7 +74,7 @@ public class MapMarkerView extends MapMarkerBaseView { ivCar.setRotation((float) markerShowEntity.getMarkerLocation().getAngle()); break; case ServiceConst.CARD_TYPE_ROAD_CONDITION: - ivUserHead.setVisibility(View.GONE); + ivUserHead.setVisibility(View.INVISIBLE); ivIcon.setVisibility(View.VISIBLE); ivUserHead.setImageResource(R.drawable.icon_map_marker_road_block_up); @@ -89,7 +82,7 @@ public class MapMarkerView extends MapMarkerBaseView { ivCar.setImageResource(R.drawable.icon_map_marker_location_blue); break; case ServiceConst.CARD_TYPE_NOVELTY: - ivUserHead.setVisibility(View.GONE); + ivUserHead.setVisibility(View.INVISIBLE); ivIcon.setVisibility(View.VISIBLE); ivIcon.setImageResource(R.drawable.icon_map_marker_road_check); @@ -97,7 +90,7 @@ public class MapMarkerView extends MapMarkerBaseView { ivCar.setImageResource(R.drawable.icon_map_marker_location_blue); break; case ServiceConst.CARD_TYPE_SHARE_MUSIC: - ivUserHead.setVisibility(View.GONE); + ivUserHead.setVisibility(View.INVISIBLE); ivIcon.setVisibility(View.VISIBLE); if (bindObj instanceof MarkerShareMusic) { diff --git a/modules/mogo-module-service/src/main/res/layout/view_map_marker.xml b/modules/mogo-module-service/src/main/res/layout/view_map_marker.xml index 83fe9aa7a3..a8c58a240d 100644 --- a/modules/mogo-module-service/src/main/res/layout/view_map_marker.xml +++ b/modules/mogo-module-service/src/main/res/layout/view_map_marker.xml @@ -23,7 +23,6 @@ android:layout_height="@dimen/dp_85" android:layout_gravity="center" android:src="@drawable/bg_map_marker_blue" - android:alpha="0.8" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/modules/mogo-module-service/src/main/res/layout/view_map_marker_info.xml b/modules/mogo-module-service/src/main/res/layout/view_map_marker_info.xml index 069ca579a5..7a7c5017d4 100644 --- a/modules/mogo-module-service/src/main/res/layout/view_map_marker_info.xml +++ b/modules/mogo-module-service/src/main/res/layout/view_map_marker_info.xml @@ -21,7 +21,6 @@