From c12d3a87bdfc073ab29cb4475a9fba4e7172385a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Mon, 13 Jan 2020 11:41:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86marker=E7=82=B9?= =?UTF-8?q?=E5=87=BB=E5=88=87=E6=8D=A2=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/misc.xml | 2 +- .../module/common/entity/MarkerLocation.java | 6 +- .../common/entity/MarkerShowEntity.java | 15 ++++ .../module/service/MarkerServiceHandler.java | 54 +++++++----- .../service/marker/MapMarkerAdapter.java | 8 +- .../service/marker/MapMarkerBaseView.java | 83 ++++++++++++++++++ .../service/marker/MapMarkerInfoView.java | 51 +++-------- .../module/service/marker/MapMarkerView.java | 50 +++-------- .../drawable-xhdpi/icon_map_marker_listen.png | Bin 1998 -> 2788 bytes .../drawable-xhdpi/icon_map_marker_misic.png | Bin 1480 -> 1905 bytes .../drawable-xhdpi/icon_map_marker_news.png | Bin 1410 -> 2325 bytes .../drawable-xhdpi/icon_map_marker_refuel.png | Bin 0 -> 1156 bytes .../icon_map_marker_road_block_off.png | Bin 0 -> 2530 bytes .../icon_map_marker_road_block_up.png | Bin 0 -> 2507 bytes .../icon_map_marker_road_check.png | Bin 0 -> 2534 bytes .../drawable/bg_map_marker_orange_info.xml | 15 ++++ .../src/main/res/layout/view_map_marker.xml | 1 - .../main/res/layout/view_map_marker_info.xml | 15 ++-- 18 files changed, 185 insertions(+), 115 deletions(-) create mode 100644 modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerBaseView.java create mode 100644 modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_refuel.png create mode 100644 modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_road_block_off.png create mode 100644 modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_road_block_up.png create mode 100644 modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_road_check.png create mode 100644 modules/mogo-module-service/src/main/res/drawable/bg_map_marker_orange_info.xml diff --git a/.idea/misc.xml b/.idea/misc.xml index 8a8f75bfe2..703e5d4b89 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -5,7 +5,7 @@ - + diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerLocation.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerLocation.java index 466becae24..38715c15aa 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerLocation.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerLocation.java @@ -8,7 +8,7 @@ import java.io.Serializable; public class MarkerLocation implements Serializable { private String address; - private Double angle; + private float angle; private Double lat; private Double lon; @@ -20,11 +20,11 @@ public class MarkerLocation implements Serializable { this.address = address; } - public Double getAngle() { + public float getAngle() { return angle; } - public void setAngle(Double angle) { + public void setAngle(float angle) { this.angle = angle; } diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerShowEntity.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerShowEntity.java index 086d4e7fc4..1572906b37 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerShowEntity.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/entity/MarkerShowEntity.java @@ -1,5 +1,7 @@ package com.mogo.module.common.entity; +import java.util.Objects; + /** * author : donghongyu * e-mail : 1358506549@qq.com @@ -73,6 +75,19 @@ public class MarkerShowEntity { this.markerLocation = markerLocation; } + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + MarkerShowEntity that = (MarkerShowEntity) o; + return bindObj.equals(that.bindObj); + } + + @Override + public int hashCode() { + return Objects.hash(bindObj); + } + @Override public String toString() { return "MarkerShowEntity{" + 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 f160f2debc..f26baef41e 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 @@ -19,7 +19,6 @@ import com.mogo.module.common.entity.MarkerResponse; import com.mogo.module.common.entity.MarkerShareMusic; import com.mogo.module.common.entity.MarkerShowEntity; import com.mogo.module.service.marker.MapMarkerAdapter; -import com.mogo.module.service.marker.MapMarkerView; import com.mogo.service.MogoServicePaths; import com.mogo.service.connection.IMogoOnMessageListener; import com.mogo.service.connection.IMogoSocketManager; @@ -29,7 +28,6 @@ import com.mogo.service.statusmanager.IMogoStatusManager; import com.mogo.utils.logger.Logger; import java.util.List; -import java.util.Random; /** * author : donghongyu @@ -122,19 +120,31 @@ public class MarkerServiceHandler { @Override public boolean onMarkerClicked(IMogoMarker marker) { - Logger.e(TAG, "点击了大而全中的Marker"); + Logger.e(TAG, "onMarkerClicked 点击了大而全中的Marker:" + marker); if (lastMarker != null) { - // 设置未选中状态 - MarkerShowEntity markerShowEntity = (MarkerShowEntity) marker.getObject(); - markerShowEntity.setChecked(false); - drawMapMarker(markerShowEntity); + // 判断点击的是否是同一个 + if (marker.equals(lastMarker)) { + Logger.w(TAG, "onMarkerClicked 与上一次点击的Marker一样,不做处理:" + marker); + return false; + } + + // 将上次选中 Marker 设置为未选中状态 + MarkerShowEntity lastMarkerShowEntity = (MarkerShowEntity) lastMarker.getObject(); + + Logger.e(TAG, "onMarkerClicked 点击了大而全中的Marker lastMarkerShowEntity:" + lastMarkerShowEntity); + + lastMarkerShowEntity.setChecked(false); + drawMapMarker(lastMarkerShowEntity); lastMarker.destroy(); } - // 绘制选中的状态 + // 将当前的Marker设置为选中 MarkerShowEntity markerShowEntity = (MarkerShowEntity) marker.getObject(); + Logger.e(TAG, "onMarkerClicked 点击了大而全中的Marker markerShowEntity:" + markerShowEntity); + markerShowEntity.setChecked(true); + lastMarker = drawMapMarker(markerShowEntity); marker.destroy(); @@ -245,19 +255,19 @@ public class MarkerServiceHandler { //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); +// 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/MapMarkerAdapter.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerAdapter.java index de17e62502..8c2fe8d16b 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 @@ -23,13 +23,9 @@ public class MapMarkerAdapter { */ public static View getMarkerView(Context context, MarkerShowEntity markerShowEntity) { if (markerShowEntity.isChecked()) { - MapMarkerInfoView mapMarkerInfoView = new MapMarkerInfoView(context); - mapMarkerInfoView.updateView(markerShowEntity); - return mapMarkerInfoView; + return new MapMarkerInfoView(context, markerShowEntity); } else { - MapMarkerView mapMarkerView = new MapMarkerView(context); - mapMarkerView.updateView(markerShowEntity); - return mapMarkerView; + return new MapMarkerView(context, markerShowEntity); } } } 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 new file mode 100644 index 0000000000..04127ff0f4 --- /dev/null +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerBaseView.java @@ -0,0 +1,83 @@ +package com.mogo.module.service.marker; + +import android.content.Context; +import android.graphics.Bitmap; +import android.text.TextUtils; +import android.util.AttributeSet; +import android.widget.ImageView; + +import androidx.annotation.Nullable; +import androidx.constraintlayout.widget.ConstraintLayout; + +import com.mogo.module.common.entity.MarkerShowEntity; +import com.mogo.module.service.MarkerServiceHandler; +import com.mogo.service.imageloader.IMogoImageLoaderListener; +import com.mogo.service.imageloader.MogoImageView; +import com.mogo.utils.WindowUtils; +import com.mogo.utils.logger.Logger; + +/** + * author : donghongyu + * e-mail : 1358506549@qq.com + * date : 2020-01-1310:55 + * desc : 地图上抽离的Marker的共性 + * version: 1.0 + */ +public abstract class MapMarkerBaseView extends ConstraintLayout { + private String TAG = "MapMarkerBaseView"; + + protected Context mContext; + + protected MogoImageView ivUserHead; + protected ImageView ivIconForeground; + protected ImageView ivCar; + + public MapMarkerBaseView(Context context) { + super(context); + mContext = context; + initView(context); + } + + public MapMarkerBaseView(Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + mContext = context; + initView(context); + } + + public MapMarkerBaseView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + mContext = context; + initView(context); + } + + protected abstract void initView(Context context); + + public abstract void updateView(MarkerShowEntity markerShowEntity); + + protected void loadImageWithMarker(MarkerShowEntity markerShowEntity) { + if (!TextUtils.isEmpty(markerShowEntity.getIconUrl())) { + 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, "loaded."); + } + + @Override + public void onFailure(Exception e) { + + } + }); + } + } +} 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 7b8a2daae4..ab29d5ce6d 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 @@ -1,24 +1,17 @@ package com.mogo.module.service.marker; import android.content.Context; -import android.graphics.Bitmap; +import android.text.TextUtils; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; -import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.Nullable; -import androidx.constraintlayout.widget.ConstraintLayout; import com.mogo.module.common.entity.MarkerShowEntity; -import com.mogo.module.service.MarkerServiceHandler; import com.mogo.module.service.R; import com.mogo.module.service.ServiceConst; -import com.mogo.service.imageloader.IMogoImageLoaderListener; -import com.mogo.service.imageloader.MogoImageView; -import com.mogo.utils.WindowUtils; -import com.mogo.utils.logger.Logger; /** * author : donghongyu @@ -27,35 +20,33 @@ import com.mogo.utils.logger.Logger; * desc : 地图Marker图标带文本信息 * version: 1.0 */ -public class MapMarkerInfoView extends ConstraintLayout { +public class MapMarkerInfoView extends MapMarkerBaseView { private String TAG = "MapMarkerInfoView"; - private Context mContext; - - private MogoImageView ivUserHead; - private ImageView ivIconForeground; private TextView tvMarkerContent; public MapMarkerInfoView(Context context) { super(context); - initView(context); } public MapMarkerInfoView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); - initView(context); } public MapMarkerInfoView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); - initView(context); } - private void initView(Context context) { - mContext = context; + public MapMarkerInfoView(Context context, MarkerShowEntity markerShowEntity) { + super(context); + updateView(markerShowEntity); + } + + protected void initView(Context context) { LayoutInflater.from(context).inflate(R.layout.view_map_marker_info, this); ivUserHead = findViewById(R.id.ivUserHead); ivIconForeground = findViewById(R.id.ivIconForeground); + ivCar = findViewById(R.id.ivCar); tvMarkerContent = findViewById(R.id.tvMarkerContent); } @@ -75,27 +66,13 @@ public class MapMarkerInfoView extends ConstraintLayout { ivIconForeground.setVisibility(View.VISIBLE); break; } - tvMarkerContent.setText(markerShowEntity.getTextContent()); - MarkerServiceHandler - .getImageloader() - .displayImage(markerShowEntity.getIconUrl(), ivUserHead, WindowUtils.dip2px(mContext, 50), WindowUtils.dip2px(mContext, 50), - new IMogoImageLoaderListener() { - @Override - public void onStart() { - } + ivCar.setRotation(markerShowEntity.getMarkerLocation().getAngle()); + if (!TextUtils.isEmpty(markerShowEntity.getTextContent())) { + tvMarkerContent.setText(markerShowEntity.getTextContent()); + } + loadImageWithMarker(markerShowEntity); - @Override - public void onCompleted(Bitmap bitmap) { - // 刷新图标 - Logger.d(TAG, "loaded."); - } - - @Override - public void onFailure(Exception e) { - - } - }); } catch (Exception e) { e.printStackTrace(); } 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 da4c33cdcb..39230dae48 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 @@ -1,23 +1,15 @@ package com.mogo.module.service.marker; import android.content.Context; -import android.graphics.Bitmap; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; -import android.widget.ImageView; import androidx.annotation.Nullable; -import androidx.constraintlayout.widget.ConstraintLayout; import com.mogo.module.common.entity.MarkerShowEntity; -import com.mogo.module.service.MarkerServiceHandler; import com.mogo.module.service.R; import com.mogo.module.service.ServiceConst; -import com.mogo.service.imageloader.IMogoImageLoaderListener; -import com.mogo.service.imageloader.MogoImageView; -import com.mogo.utils.WindowUtils; -import com.mogo.utils.logger.Logger; /** * author : donghongyu @@ -26,35 +18,33 @@ import com.mogo.utils.logger.Logger; * desc : 地图Marker图标 * version: 1.0 */ -public class MapMarkerView extends ConstraintLayout { +public class MapMarkerView extends MapMarkerBaseView { private String TAG = "MapMarkerView"; - private Context mContext; - - private MogoImageView ivUserHead; - private ImageView ivIconForeground; - public MapMarkerView(Context context) { super(context); - initView(context); } public MapMarkerView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); - initView(context); } public MapMarkerView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); - initView(context); } + public MapMarkerView(Context context, MarkerShowEntity markerShowEntity) { + super(context); + updateView(markerShowEntity); + } + + protected void initView(Context context) { + setBackground(null); - private void initView(Context context) { - mContext = context; LayoutInflater.from(context).inflate(R.layout.view_map_marker, this); ivUserHead = findViewById(R.id.ivUserHead); ivIconForeground = findViewById(R.id.ivIconForeground); + ivCar = findViewById(R.id.ivCar); } public void updateView(MarkerShowEntity markerShowEntity) { @@ -73,28 +63,14 @@ public class MapMarkerView extends ConstraintLayout { ivIconForeground.setVisibility(View.VISIBLE); break; } - MarkerServiceHandler - .getImageloader() - .displayImage(markerShowEntity.getIconUrl(), ivUserHead, WindowUtils.dip2px(mContext, 50), WindowUtils.dip2px(mContext, 50), - new IMogoImageLoaderListener() { - @Override - public void onStart() { + ivCar.setRotation(markerShowEntity.getMarkerLocation().getAngle()); - } + loadImageWithMarker(markerShowEntity); - @Override - public void onCompleted(Bitmap bitmap) { - // 刷新图标 - Logger.d(TAG, "loaded."); - } - - @Override - public void onFailure(Exception e) { - - } - }); } catch (Exception e) { e.printStackTrace(); } } + + } \ No newline at end of file diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_listen.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_listen.png index a2b097eb26bf329f729578422d8c9469e667d4c5..f846dcefc38de50f66a7e71985dab57905118096 100644 GIT binary patch literal 2788 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 ZCn1u*1oquCcYX(2#1ZF;W!VH>{WlR{r8)or diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_misic.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_misic.png index eac62954aaaddabe0961dedbc31d4dffd3f78179..b0dc73d75ada3f91da2273a21a032ce08d0f723f 100644 GIT binary patch literal 1905 zcmV-%2afoOP)Px+D@jB_RA>e5T1|`;MHGIoXJ%&y29`gGAclYtC4``|9*jYQ9#GUE3DIy+Vhmn1 zAx20fA?k^!7mZhpiReiq9{hR2o#LB5 zQwcQui3S0n}WFjLCvuW8xRd2gFz~zU5x4~ zU3eKT(iB>hU(V;RQtgI{5|J?0t|tY`i!s(Hsm5mJ36+jx>#>VDR^iZSX`T(33@=5M z)Kq#RmjGBD!wW}p`^5S)0Q;$0Bb=6OOi#yP9YUtW6cokAIIUEpm!^|#Ia-!m$@|@M zG}2pQDlLO@s|o0LK%5y42bK1PF8>NzjD`jAGBnIn=|@h{dmRt(*CVVYlS&M*vg`ND zvyk+jTGma!S1O*Q4=JFZsGkmYY~Td!H^#3dX9 zDV;Ol0PSP(JEUC6c)XnFHg^ptF5wtpTN}TKji=vAI+Svz?9SlqRlyQn(@@?_7krJZPa+e%}L2KI5YMO-O+0A;i1yUY>;j$+% z6Ucq#Gqfo#PntFzFyF>qVtAVZR`phDeA*?a1ox`sL(>5(q}*cO&BEW4iMFah78VR` zO&)H1^KQmSW5$q^vasmO5!|HmS_E&$KsHZHcphIEQ`PC~q)6BTT+Dw1x`{;V=n$l`$5;}mDpqU;hJ5My_1jCtM4Lj(j=_RtKSOb1spwx zqPufC@aY{Fz{cxiQUNPdxx4rjRQk10t*vT5SvVqV#$&kA{K-}6F3HgVzAm&;YIvCT z!8dY`0)pfZPgy~okp?u1aa8-J0hR%o?H6e$rRC97mKIZr@Ld5XEOqK36ycvV1Gq^= zUTXGubABc78O5!Gm&5_XAf3|T@p96M^{W=wI^UIN9W0bwgg`~F;*L}xt`Bb~ zRn9>c+TP=f`8l+JmvSj;)evzm;nFEt4~P0H`&q>YSpB>Ls?k7#G1asw!)qN=q^W{B zps5^uBU6A^Z&Crx8N5i3H-xgLvGY$YV0Z`qk`igo6*7%Bosa{pQM(N()nHrUp)@@c zlQD!eJR>-Pu0`=)TdBc^bHL*9s_NEanTxQGN{4y)3S(7XX&5x2Wno5o22)w@PE5-iY%4|q>&mnt2CEbyHpnqRiyu`Z{8vs8+5`nO z7W&F|;NTIl;-DvVfo+8cf1qJ%o1lMc0*He?E~gCLK5Z@k>w-(C+mhaHf)ec&-HvR; zBvff_IxN>MNXzZ^q+66dpu`l?y$pHy^noj|I$=&FtR434lSSM{C-A8qhpo{E4=t|^ z@u5Vi2E8f8Tb1tDL6N%Km{v?%=g!aNRKm*ijJ15qAEu8?X+(NeiQ|xA(@N__J$`Dw z{v)6O*$QoT30C=YE@ACd4oJFh2)-(h9<(EjYo)aIn1It2pz3q;to8iKn9_z{69KGT z0d)RSKkb1f+kneH!UTo_Ow{Uy;oda+Dc+~8T!#s8(b$kZpUXxp(f4thnpf>9+O?D@ z1A3J7a4SUe<7|p{V%BS(#iM2Twu>h6tM&1de54UIO rvm}8!p0`$atr=*|Kx+n?GXwtt+@E!z3j7P|00000NkvXXu0mjfTs@EL literal 1480 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 WKJJxMg4oOe0000mMg literal 0 HcmV?d00001 diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_road_block_off.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_road_block_off.png new file mode 100644 index 0000000000000000000000000000000000000000..8c6b30842bcf01f15ba2ec158458617dc2d8cc28 GIT binary patch literal 2530 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 literal 0 HcmV?d00001 diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_road_block_up.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_road_block_up.png new file mode 100644 index 0000000000000000000000000000000000000000..cbe3fe5b660cb498fdaf8427f4fb6b6d76795150 GIT binary patch literal 2507 zcmV;+2{iVJP)Px;g-Jv~RA>e5SzC-;M-i<%vk$*EPVg(c21|)iLTuSeKnVfa3PM37ClLL}r6 z#0Q8-$g+4SAR&bR_&`E{0(``vh?hVLm=E}hc!ijUC9eVj#U>`n#_QMa+WVT>-MP&< z)m?Y`-g&TNdv_f)rRm$<)m7DXs=Dv(dq<>8-3W9e(2YPh0^JB)GZ9Fxh9}Os-U~DG zp){2{Qzy5><_)x)wleNyMoRM3&_MF@Rw7Hqzhc1Wr`@OE+>-$NRu{Z_SKFiHh4kHtS|COgqOiHsew(?L(8!ZSKg> zn?)Fazc)VP91Fm*eD=-ad&hoa@2;TFUl;xnWVUnx2m8uKw zqm>2s^30rbEYnrzra~cLfOXRqcYgu!50(RIG{A`s-UG4c<4I4Rt;s9rYO1RT6AtR$_tR!PvW*{kP5CzM^JvAy{5w=fL?_PoL~Fuwf?d+l+p3tSaCC-K;7m ziPIZgg3V96ta%^s;CbT%AAMg;hW)^&D8|b`ec;}HxphmnlGkA9L6pNNi=qa=$m{`R zGrP&am!~n=Z(+^VP~iJ(t9s@4a0XpZ2ogPb$ojA$KY3wRgOzY;C=yfX5HWouUz%aPF=Hy|zM1pU}`pU`2eXs3x zFGhz=IN6i30TVdVs29gCWD(g$}#Nv4RTpkwU*^H(SzhU>l^~UxH;W9aKk}EfdI5 zXA=sfl{8IoR|kY z5WNFgWV9Fj=Meb>X;L1e@6icssgbC&0I+|5Be$%H<2Z`>bOvp_yt#&@9s_<%g9$IN zoJXPXYm_1#1fw3;;wbtj&M>$EA`OBFiljX>*;8;@>%BV2#F>xUK_OVvP`o+VWVL9Pn2m#?-=5Wr!#ej{F1F_jC1H{5Me+ z0UPmb{>R<)J~*v3>jSo z?yD$#JY8$_5**rz#S4E7UAFdm^8v2R+rl*wLXCUL++>Ci`+gQ$9amsn!0L1={UQFdz$Ez|n zC2|wqT_4!hC#(DFKuw3ptsU#L&AT+mNERD)5|`15V1F9+H`ndwWK~!yIECS}cY@c9 zJo(`~uWfIp>K=hVKhC^?G@U#>p30YgHi`d}66xtpq!&lE8*eDf=kHq`9|5I;gV^Z_ z96h<2U`QWRXzPxH9d!s7)nAWB08g;3?Dyl=Ye7=yX(y3AYkHGE7QxtEy2x+Y$Lr%> z{9%?krkTP7&;G3&?3g^=lRK0j=r)W@7?aFnW{KB_{=52rz7F>RA2l77AL#V zXFI`*z8|~$<{sJi&OQz3v&Y)oH$MzG0=gG2TsdHT4dF{hJ)!{1zX{J^IV-UrNI_3I zfsRJtJlgm^mc2yKxsvACr$i4Ori^+7S>?wBM)wTbO3m!^SWSMARk`4&wxbIdR!2k! zcz7oWWLq5~Z`-CavI+)KMl`s-R+k>%PTYDC7 zpZ}&fULzmAv?RO~$5uxWU3lw;tIsRMr3yALS1|P(QCw zRS{#1@@mi890M_^_!i#M{%wP>4;kJAVtrj1-bC)&F<^5*tfKMszHSj7p$LKjVjS6*XDZMf=-ee;4fYev&Qa*uL4;iRzcm0Rx=f zv^1i@Z??;LalC7LuUhAPTvp^;b_q%|5$RBvvMLv9<1s+7ehK#94f}@6ve-=Dzu41K zo;n81{lN*dS#5T+8~3fP3PC64si)wxHnMT{t$i8#Tv*MhW58U}mSK+^W`je_hGmhH zX&0BkCQHe(X?j*)P5t5>-{$TZaF$`SU}!>ZOEyCZzAkCXo2==^yrs~O=LzkO0p~Jo z2I(vaVDk_9z|S)1Wg2l8}MC}wloZK3g7j2Gz`Fds9x`R493G}UU)_-U5r%74<-nP%qc zWE1NAq=grMJ<%YwteJ6^`BeVh#Qu`9-nCKA!G}xcgVo%2D5siD-Z5aQ$stVghwOL> zu()gg6MJiavk8`xhhr!YS&w4=Qwq}i;sE@Y>sHIRo6Q|R0h^7tF&hc2y`RRjX*a7-3W9e@c$oy{{o%c VuD3JR(3t=L002ovPDHLkV1gKq=otV2 literal 0 HcmV?d00001 diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_road_check.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_road_check.png new file mode 100644 index 0000000000000000000000000000000000000000..1a86fe5896ca098ec97f4ce0150094ddb544fd0c GIT binary patch literal 2534 zcmVPx;ph-kQRA>e5T78TiRTV#XzTVrn+wOMT-R-t)KkSD~Xe44y#WaORR!L}8M1r7+ ze;8Av#(yL+BnHI`lCZRm>p#_fMJ`XaG|eM`hrknHvsLh_ksu6ZF#kF59`Fs|wct)^1_mAl zzXaw$F9+WSUID&Pnug+^!26X_huby+pliW@1h;#nK&3AI7c<`jJMn-pmInV0ycBd4 zMt%lvJ%OI@zW@%-72SG~zVFMNiyrqyMp{0PM5a8S$I!+&(D*%M9$=es{p2x@ufBiS zdL3-VebfxFK#6F~Cl5VEKK>N`D7fcYy$ix|?um@g0w8XgEBcN@%H^3xR3vh>g&KXR zaXd^d`yY467=!|Ep$Zw5UZjJ_epy7oMK}R?F!zH*l>0pH*RYn?<8l2g(cXxQ#BPDS z39%d3zX1OSv7f8JvQwR|n0qV*;~cqv#qgK)6xUD->o!!A>PpL%jmzk2)5`A?GeEW!?da6vmb~tp`u|`JbbA2j6L@3|rib37rc4fRn`3$^mos9(dLm-$;JeJ~0>y?^&tuX%^+qPC=>1;xPo3MPA$ztYKhs&BAzCe;b zkBfv(KwM5{?%uT`Wzw>VXlu@WYepn-k#Cy_QFop*Tzy2L~W$r)M-+yG% zx0ISL`u-aOsm$rM%LmVoEnn#l_4YgcJv{@KGS?x1QJmp@ii}M(<4Pp<${Y~K zl=F&|%kx7M1;g7%K;>YApm`tyAh_l8K%vF~Li8;#_k$-$V4-rkdHpBUWdN(+!}$GB z@e9s{1BRP%ubfWDFlpb%KSRGdGD)*J04N6#ix;tBPh*Z-Ch2qA3N^_`#l*zu7TP(y zv645|LxsmH0tua_6$V&a9!YF)nU$t}TXxWcQ_ll*xnv9^Qh|08&@4f`!epNZ7!b(L z;SKbK(X9bkS%Ey~lClGtI+qpzQ(kYF@Ve5;(08|7O%ES`nNDDN*8~h_Ql-FeEFs}6 zOEFcai0v7X6~Zf=^BJsk^!JR8)767`K7x4lu{IN1Gss80^{FXf?23Yz3^PsCYufa! zjoayo>7#Ub?xgmR9Dk)cm6r-cFUveotj1fD50PE&r0K@d%V~4(Ai(KpSYNy4t3rjn zLSVDbr72)M1l|dCRgh7>=ip6L;fB>)>5BegIxzhvy;oS&qT07a5~@ot4p7F+t?UkN znRtO*)xU-&hBi^kFv?Zcb(Q5TOCD_`UacR!YOUx}|pR_DhOX9M2CNhH0gRAgc^)W1;&+2_BE?7w3oV0=j z#&-qZqZ9dgn#nKFOfgHd#YM_{B`SEZhLSp1o+-nkjA7Fd9)u&{(NrIe*h$qCKLTI- z6aP51pX?{|X6*NQnMrC}0?dl2v^7WGci{GR0ADZ01iBa!z`E7Ji45x`$<-T|Z=9(h`G}w_vr!Uyb#)M-fJ6h)Z`hz^f-3y9swZWq}6a4l3tFiD}7x(9%1R~ z@fP&|Fsz(!vUa-^e7b2@N#p_JUS2~SFuwrA+xT4VJiq(4udm3yPhx1d?FjHHWgo!a45g(Wp+eAL`?|QMAa~2EcEIqwV!NsxZ4+gNFu!{zbT?8LBLAeJ(R7t{BVU zV_=X9sUX{sIgzWUkNKZ=0+xMA%DI2RgeSLiiVFWkpjU;}ZDg9EF-aw*jgJLF!37Vw zr`D2vT`NaVs8!qRxWa4_K@?Kt>_Mfbq)NJ)x>jLdSD9t_u+rnQBKTf!1gSXBm#h7n zOZH8jf(>Hj%Tm$X!9SSg55eBLR%|ku@OY}Hq29=lvwOJChxK||^~RT^!eV@bQpX%h zeF_!&yRI}t(p8gtT{XRLc}dH?%>{u$W9A~4ACOFz|`EBeN<$nmpI{ zjkz=UW^pg7df#frpJ|t##P8Buj#xa6|2nZixmz)GEqDxYF9URZds6s1;qwo6<|j8( w`Y-$dM88Yj40JQl%|JH;-3)Xya0zDMe`o?-PE{Si?*IS*07*qoM6N<$f=h_>vj6}9 literal 0 HcmV?d00001 diff --git a/modules/mogo-module-service/src/main/res/drawable/bg_map_marker_orange_info.xml b/modules/mogo-module-service/src/main/res/drawable/bg_map_marker_orange_info.xml new file mode 100644 index 0000000000..2ba73d956c --- /dev/null +++ b/modules/mogo-module-service/src/main/res/drawable/bg_map_marker_orange_info.xml @@ -0,0 +1,15 @@ + + + + + + + + \ No newline at end of file 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 45ce46a8a8..eabc960031 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 @@ -11,7 +11,6 @@ android:id="@+id/ivCar" android:layout_width="@dimen/dp_34" android:layout_height="@dimen/dp_64" - android:rotation="270" android:src="@drawable/icon_map_marker_car_blue" android:translationY="-5dp" app:layout_constraintEnd_toEndOf="@+id/ivBg" 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 c61305a92b..a2d3e6ad2a 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 @@ -12,7 +12,6 @@ android:id="@+id/ivCar" android:layout_width="@dimen/dp_34" android:layout_height="@dimen/dp_64" - android:rotation="270" android:src="@drawable/icon_map_marker_car_blue" android:translationY="-5dp" app:layout_constraintEnd_toEndOf="@+id/ivReverseTriangle" @@ -23,7 +22,7 @@ android:id="@+id/llMarkerContent" android:layout_width="wrap_content" android:layout_height="@dimen/dp_74" - android:background="@drawable/bg_map_marker_blue_info" + android:background="@drawable/bg_map_marker_green_info" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" > @@ -44,13 +43,13 @@ android:id="@+id/ivIconForeground" android:layout_width="@dimen/dp_56" android:layout_height="@dimen/dp_56" - android:visibility="gone" - tools:visibility="visible" android:layout_gravity="center" android:layout_marginTop="@dimen/dp_6" android:src="@drawable/icon_map_marker_music_play" + android:visibility="gone" app:layout_constraintStart_toStartOf="@+id/ivUserHead" - app:layout_constraintTop_toTopOf="@+id/ivUserHead" /> + app:layout_constraintTop_toTopOf="@+id/ivUserHead" + tools:visibility="visible" /> + app:layout_constraintTop_toTopOf="@+id/ivUserHead" + tools:text="诗一样的女子" /> @@ -72,7 +71,7 @@ android:id="@+id/ivReverseTriangle" android:layout_width="10dp" android:layout_height="10dp" - android:src="@drawable/bg_shape_reverse_triangle_blue" + android:src="@drawable/bg_shape_reverse_triangle_green" app:layout_constraintEnd_toEndOf="@+id/llMarkerContent" app:layout_constraintStart_toStartOf="@+id/llMarkerContent" app:layout_constraintTop_toBottomOf="@+id/llMarkerContent" />