diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/marker/PoiWrapper.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/marker/PoiWrapper.java index cf2918373c..4c7f3e977a 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/marker/PoiWrapper.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/marker/PoiWrapper.java @@ -9,16 +9,19 @@ public class PoiWrapper { private int id; private String poiType; private int iconRes; - private String iconUrl; - private String title; + private int iconInfoRes; + private String iconUrl = ""; + private String iconInfoUrl = ""; + private String title = "拥堵"; public PoiWrapper(){ } - public PoiWrapper(String poiType, int iconRes, String title) { + public PoiWrapper(String poiType, int iconRes,int iconInfoRes, String title) { this.poiType = poiType; this.iconRes = iconRes; + this.iconInfoRes = iconInfoRes; this.title = title; } @@ -61,4 +64,20 @@ public class PoiWrapper { public void setTitle(String title) { this.title = title; } + + public int getIconInfoRes() { + return iconInfoRes; + } + + public void setIconInfoRes(int iconInfoRes) { + this.iconInfoRes = iconInfoRes; + } + + public String getIconInfoUrl() { + return iconInfoUrl; + } + + public void setIconInfoUrl(String iconInfoUrl) { + this.iconInfoUrl = iconInfoUrl; + } } 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 aa520db71d..97ade941ab 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 @@ -94,15 +94,15 @@ public class MapMarkerInfoView extends MapMarkerBaseView { MapMarkerManager.getInstance().getWrapperByPoiType(poiType); if (poiWrapper != null) { // 加载图片 - if(poiWrapper.getIconUrl().isEmpty()){ + if(poiWrapper.getIconInfoUrl().isEmpty()){ // 没有网络图片 - GlideApp.with(ivIcon).load(poiWrapper.getIconRes()).into(ivIcon); + GlideApp.with(getContext()).load(poiWrapper.getIconInfoRes()).into(ivIcon); }else{ // 有网络图片 - GlideApp.with(ivIcon).load(poiWrapper.getIconUrl()).placeholder(poiWrapper.getIconRes()).into(ivIcon); + GlideApp.with(getContext()).load(poiWrapper.getIconInfoUrl()).placeholder(poiWrapper.getIconInfoRes()).into(ivIcon); } }else{ - Logger.e(TAG, "未能根据poiType获取对应poi信息,无法渲染marker====" + poiType); + Logger.e(TAG, "未能根据poiType获取对应poi信息,无法渲染info marker====" + poiType); } } break; 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 47782c379b..d7e275b973 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 @@ -1034,49 +1034,51 @@ public class MapMarkerManager implements IMogoMarkerClickListener, private Map poiIconMap = new ArrayMap<>(); public void updateIconWithPoiType(){ // 先生成本地默认map - poiIconMap.put(MarkerPoiTypeEnum.GAS_STATION, new PoiWrapper(MarkerPoiTypeEnum.GAS_STATION, + poiIconMap.put(MarkerPoiTypeEnum.GAS_STATION, new PoiWrapper(MarkerPoiTypeEnum.GAS_STATION,R.drawable.icon_map_marker_refuel, R.drawable.icon_map_marker_refuel, "加油站")); poiIconMap.put(MarkerPoiTypeEnum.TRAFFIC_CHECK, new PoiWrapper(MarkerPoiTypeEnum.TRAFFIC_CHECK, - R.drawable.icon_map_marker_road_check2_white, "交通检查")); + R.drawable.icon_map_marker_road_check2,R.drawable.icon_map_marker_road_check2_white, "交通检查")); poiIconMap.put(MarkerPoiTypeEnum.ROAD_CLOSED, new PoiWrapper(MarkerPoiTypeEnum.ROAD_CLOSED, - R.drawable.icon_map_marker_road_block_off2_white, "封路")); + R.drawable.icon_map_marker_road_block_off2,R.drawable.icon_map_marker_road_block_off2_white, "封路")); poiIconMap.put(MarkerPoiTypeEnum.SHOP_DISCOUNT, new PoiWrapper(MarkerPoiTypeEnum.SHOP_DISCOUNT, - R.drawable.icon_map_marker_shop_discount, "商场打折")); + R.drawable.icon_map_marker_shop_discount,R.drawable.icon_map_marker_shop_discount, "商场打折")); poiIconMap.put(MarkerPoiTypeEnum.FOURS_4S, new PoiWrapper(MarkerPoiTypeEnum.FOURS_4S, - R.drawable.icon_map_marker_4s, "4S店")); + R.drawable.icon_map_marker_4s,R.drawable.icon_map_marker_4s, "4S店")); poiIconMap.put(MarkerPoiTypeEnum.FOURS_ROAD_WORK, new PoiWrapper(MarkerPoiTypeEnum.FOURS_ROAD_WORK, - R.drawable.icon_map_marker_road_work2_white, "施工")); + R.drawable.icon_map_marker_road_work2,R.drawable.icon_map_marker_road_work2_white, "施工")); poiIconMap.put(MarkerPoiTypeEnum.FOURS_BLOCK_UP, new PoiWrapper(MarkerPoiTypeEnum.FOURS_BLOCK_UP, - R.drawable.icon_map_marker_road_block_up2_white, "拥堵")); + R.drawable.icon_map_marker_road_block_up2_white,R.drawable.icon_map_marker_road_block_up2, "拥堵")); poiIconMap.put(MarkerPoiTypeEnum.FOURS_PONDING, new PoiWrapper(MarkerPoiTypeEnum.FOURS_PONDING, - R.drawable.icon_map_marker_pondingl2_white, "积水")); + R.drawable.icon_map_marker_pondingl2,R.drawable.icon_map_marker_pondingl2_white, "积水")); poiIconMap.put(MarkerPoiTypeEnum.FOURS_SHOP_FREE, new PoiWrapper(MarkerPoiTypeEnum.FOURS_SHOP_FREE, - R.drawable.icon_map_marker_shop, "超时打折")); + R.drawable.icon_map_marker_shop,R.drawable.icon_map_marker_shop, "超时打折")); poiIconMap.put(MarkerPoiTypeEnum.FOURS_FOG, new PoiWrapper(MarkerPoiTypeEnum.FOURS_FOG, - R.drawable.module_service_ic_rc_dark_frog2_white, "浓雾")); + R.drawable.module_service_ic_rc_dark_frog2,R.drawable.module_service_ic_rc_dark_frog2_white, "浓雾")); poiIconMap.put(MarkerPoiTypeEnum.FOURS_ICE, new PoiWrapper(MarkerPoiTypeEnum.FOURS_ICE, - R.drawable.module_service_ic_rc_freeze2_white, "结冰")); + R.drawable.module_service_ic_rc_freeze2,R.drawable.module_service_ic_rc_freeze2_white, "结冰")); poiIconMap.put(MarkerPoiTypeEnum.FOURS_PARKING, new PoiWrapper(MarkerPoiTypeEnum.FOURS_PARKING, - R.drawable.module_service_ic_rc_parking2, "停车场")); + R.drawable.module_service_ic_rc_parking2,R.drawable.module_service_ic_rc_parking2, "停车场")); poiIconMap.put(MarkerPoiTypeEnum.FOURS_ACCIDENT, new PoiWrapper(MarkerPoiTypeEnum.FOURS_ACCIDENT, - R.drawable.module_service_ic_rc_accident3_white, "事故")); + R.drawable.module_service_ic_rc_accident3,R.drawable.module_service_ic_rc_accident3_white, "事故")); poiIconMap.put(MarkerPoiTypeEnum.FOURS_NEALY, new PoiWrapper(MarkerPoiTypeEnum.FOURS_NEALY, - R.drawable.icon_map_marker_shear_news, "身边")); + R.drawable.icon_map_marker_shear_news,R.drawable.icon_map_marker_shear_news, "身边")); poiIconMap.put(MarkerPoiTypeEnum.FOURS_LIVING, new PoiWrapper(MarkerPoiTypeEnum.FOURS_LIVING, - R.drawable.icon_map_marker_living_white, "实时路况")); + R.drawable.icon_map_marker_living,R.drawable.icon_map_marker_living_white, "实时路况")); poiIconMap.put(MarkerPoiTypeEnum.ILLEGAL_PARK_LIVING, new PoiWrapper(MarkerPoiTypeEnum.ILLEGAL_PARK_LIVING, - R.drawable.module_service_ic_rc_illegal_park_white, "违章停车")); + R.drawable.module_service_ic_rc_illegal_park,R.drawable.module_service_ic_rc_illegal_park_white, "违章停车")); // 从sp中获取config属性,将服务端配置内容合并到本地 String config = SharedPrefsMgr.getInstance(mContext).getString("SHARE_BUTTON_CONFIG", ""); if (!config.isEmpty()) { List configWrappers = GsonUtil.arrayFromJson(config, PoiWrapper.class); if(configWrappers!=null) { for (PoiWrapper wrapper : configWrappers) { - wrapper.setIconRes(R.drawable.icon_map_marker_road_block_up2_white); + wrapper.setIconInfoRes(R.drawable.icon_map_marker_road_block_up2_white); + wrapper.setIconRes(R.drawable.icon_map_marker_road_block_up2); if(poiIconMap.containsKey(wrapper.getPoiType())) { PoiWrapper defWrapper = poiIconMap.get(wrapper.getPoiType()); if(defWrapper!=null) { wrapper.setIconRes(defWrapper.getIconRes()); + wrapper.setIconInfoRes(defWrapper.getIconInfoRes()); } } poiIconMap.put(wrapper.getPoiType(), wrapper); 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 f9664bcc23..ea07feb9cd 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 @@ -10,8 +10,11 @@ import com.mogo.map.marker.MogoMarkerOptions; import com.mogo.module.common.entity.MarkerExploreWay; import com.mogo.module.common.entity.MarkerPoiTypeEnum; import com.mogo.module.common.entity.MarkerShowEntity; +import com.mogo.module.common.marker.PoiWrapper; import com.mogo.module.service.R; import com.mogo.module.service.ServiceConst; +import com.mogo.utils.glide.GlideApp; +import com.mogo.utils.logger.Logger; /** * author : donghongyu @@ -54,59 +57,26 @@ public class MapMarkerView extends MapMarkerBaseView { case ServiceConst.CARD_TYPE_ROAD_CONDITION: case ServiceConst.CARD_TYPE_NOVELTY: if ( bindObj instanceof MarkerExploreWay && ( ( MarkerExploreWay ) bindObj ).getPoiType() != null ) { - switch ( ( ( MarkerExploreWay ) bindObj ).getPoiType() ) { - case MarkerPoiTypeEnum.GAS_STATION: - ivIcon.setImageResource( R.drawable.icon_map_marker_refuel ); - break; - case MarkerPoiTypeEnum.TRAFFIC_CHECK: - ivIcon.setImageResource( R.drawable.icon_map_marker_road_check2 ); - break; - case MarkerPoiTypeEnum.ROAD_CLOSED: - ivIcon.setImageResource( R.drawable.icon_map_marker_road_block_off2 ); - break; - case MarkerPoiTypeEnum.SHOP_DISCOUNT: - ivIcon.setImageResource( R.drawable.icon_map_marker_shop_discount ); - break; - case MarkerPoiTypeEnum.FOURS_4S: - ivIcon.setImageResource( R.drawable.icon_map_marker_4s ); - break; - case MarkerPoiTypeEnum.FOURS_ROAD_WORK: - ivIcon.setImageResource( R.drawable.icon_map_marker_road_work2 ); - break; - case MarkerPoiTypeEnum.FOURS_BLOCK_UP: - ivIcon.setImageResource( R.drawable.icon_map_marker_road_block_up2 ); - break; - case MarkerPoiTypeEnum.FOURS_PONDING: - ivIcon.setImageResource( R.drawable.icon_map_marker_pondingl2 ); - break; - case MarkerPoiTypeEnum.FOURS_SHOP_FREE: - ivIcon.setImageResource( R.drawable.icon_map_marker_shop ); - break; - case MarkerPoiTypeEnum.FOURS_FOG: - ivIcon.setImageResource( R.drawable.module_service_ic_rc_dark_frog2 ); - break; - case MarkerPoiTypeEnum.FOURS_ICE: - ivIcon.setImageResource( R.drawable.module_service_ic_rc_freeze2 ); - break; - case MarkerPoiTypeEnum.FOURS_ACCIDENT: - ivIcon.setImageResource( R.drawable.module_service_ic_rc_accident3 ); - break; - case MarkerPoiTypeEnum.FOURS_NEALY: - ivIcon.setImageResource( R.drawable.icon_map_marker_shear_news ); - break; - case MarkerPoiTypeEnum.FOURS_LIVING: - ivIcon.setImageResource( R.drawable.icon_map_marker_living ); - break; - case MarkerPoiTypeEnum.ILLEGAL_PARK_LIVING: - ivIcon.setImageResource( R.drawable.module_service_ic_rc_illegal_park ); - break; - case MarkerPoiTypeEnum.FOURS_PARKING: - default: - ivIcon.setImageResource( R.drawable.icon_map_marker_road_block_up2 ); - break; + // 根据poiType获取对应的图片 + String poiType = ((MarkerExploreWay) bindObj).getPoiType(); + PoiWrapper poiWrapper = + MapMarkerManager.getInstance().getWrapperByPoiType(poiType); + if (poiWrapper != null) { + // 加载图片 + if(poiWrapper.getIconUrl().isEmpty()){ + // 没有网络图片 + GlideApp.with(getContext()).load(poiWrapper.getIconRes()).into(ivIcon); + }else{ + // 有网络图片 + GlideApp.with(getContext()).load(poiWrapper.getIconUrl()).placeholder(poiWrapper.getIconRes()).into(ivIcon); + } + }else{ + Logger.e(TAG, "未能根据poiType获取对应poi信息,无法渲染marker====" + poiType); } } break; + default: + break; } } catch ( Exception e ) { diff --git a/modules/mogo-module-service/src/main/res/layout/modudle_services_marker_layout.xml b/modules/mogo-module-service/src/main/res/layout/modudle_services_marker_layout.xml index c8b06a6245..077f3060a0 100644 --- a/modules/mogo-module-service/src/main/res/layout/modudle_services_marker_layout.xml +++ b/modules/mogo-module-service/src/main/res/layout/modudle_services_marker_layout.xml @@ -20,6 +20,7 @@ android:layout_width="@dimen/module_service_marker_bubble_icon_width" android:layout_height="@dimen/module_service_marker_bubble_icon_height" android:layout_gravity="center" + android:background="#fff" android:layout_marginBottom="@dimen/module_service_marker_bubble_icon_marginBottom" tools:src="@drawable/icon_map_marker_road_block_up2" /> diff --git a/modules/mogo-module-service/src/main/res/layout/modudle_services_marker_layout_info.xml b/modules/mogo-module-service/src/main/res/layout/modudle_services_marker_layout_info.xml index 444e398c97..716498569a 100644 --- a/modules/mogo-module-service/src/main/res/layout/modudle_services_marker_layout_info.xml +++ b/modules/mogo-module-service/src/main/res/layout/modudle_services_marker_layout_info.xml @@ -35,6 +35,7 @@ android:layout_width="@dimen/module_service_marker_bubble_icon_width" android:layout_height="@dimen/module_service_marker_bubble_icon_height" android:layout_gravity="center" + android:background="#000" android:layout_marginLeft="@dimen/dp_15" android:visibility="invisible" app:layout_constraintBottom_toBottomOf="parent" diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java index dc4b8e040b..c71eddd8b3 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/ShareControl.java @@ -477,8 +477,8 @@ public class ShareControl implements IMogoShareManager, Handler.Callback { Logger.d(TAG, "获取分享框成功,但是detailMsg没有内容"); } Logger.d(TAG, "获取分享框配置成功: " + config); - SharedPrefsMgr.getInstance(mContext).putString(KEY_SHARE_CONFIG, config); - MapMarkerManager.getInstance().updateIconWithPoiType(); +// SharedPrefsMgr.getInstance(mContext).putString(KEY_SHARE_CONFIG, config); +// MapMarkerManager.getInstance().updateIconWithPoiType(); } @Override