From 18317700acceda5cbb2e3c6e19ce002da5ba8afb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Wed, 8 Jan 2020 18:13:28 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86=E7=BB=98?= =?UTF-8?q?=E5=88=B6=E5=A4=A7=E8=80=8C=E5=85=A8=E7=9A=84Marker=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/service/MarkerServiceHandler.java | 59 ++++++++++++++++++- .../marker/MarkerInfoWindowAdapter.java | 36 +++++++++++ 2 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MarkerInfoWindowAdapter.java 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 0f9c08acef..f10ef4d247 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 @@ -3,8 +3,15 @@ package com.mogo.module.service; import android.content.Context; import com.alibaba.android.arouter.launcher.ARouter; +import com.mogo.map.marker.IMogoMarker; +import com.mogo.map.marker.IMogoMarkerClickListener; import com.mogo.map.marker.IMogoMarkerManager; +import com.mogo.map.marker.MogoMarkerOptions; +import com.mogo.map.navi.IMogoNavi; import com.mogo.module.service.entity.MarkerResponse; +import com.mogo.module.service.marker.MapMarkerInfoView; +import com.mogo.module.service.marker.MapMarkerView; +import com.mogo.module.service.marker.MarkerInfoWindowAdapter; import com.mogo.service.MogoServicePaths; import com.mogo.service.connection.IMogoOnMessageListener; import com.mogo.service.connection.IMogoSocketManager; @@ -12,6 +19,10 @@ import com.mogo.service.imageloader.IMogoImageloader; import com.mogo.service.map.IMogoMapService; import com.mogo.utils.logger.Logger; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; + /** * author : donghongyu * e-mail : 1358506549@qq.com @@ -20,17 +31,29 @@ import com.mogo.utils.logger.Logger; * version: 1.0 */ public class MarkerServiceHandler { + private static final String TAG = "MarkerServiceHandler"; + + private static MogoMarkerClickListener mogoMarkerClickListener; private static IMogoMapService mMapService; private static IMogoMarkerManager mMarkerManager; + private static IMogoNavi mNavi; + private static IMogoImageloader mImageloader; private static IMogoSocketManager mMogoSocketManager; + private static MarkerInfoWindowAdapter markerInfoWindowAdapter; - public static void init(Context context) { + public static void init(final Context context) { mMapService = (IMogoMapService) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICES_MAP).navigation(context); mImageloader = (IMogoImageloader) ARouter.getInstance().build(MogoServicePaths.PATH_UTILS_IMAGE_LOADER).navigation(context); mMarkerManager = mMapService.getMarkerManager(context); + mNavi = mMapService.getNavi(context); + markerInfoWindowAdapter = new MarkerInfoWindowAdapter(context, getNavi(), getImageloader()); + + mogoMarkerClickListener = new MogoMarkerClickListener(); + + // 长连接 mMogoSocketManager = (IMogoSocketManager) ARouter.getInstance().build(MogoServicePaths.PATH_SOCKET_MANAGER).navigation(); mMogoSocketManager.registerOnMessageListener(401001, new IMogoOnMessageListener() { @@ -42,6 +65,28 @@ public class MarkerServiceHandler { @Override public void onMsgReceived(MarkerResponse obj) { Logger.e("donghongyu", "===" + obj); + + MapMarkerInfoView mapMarkerInfoView = new MapMarkerInfoView(context); + MapMarkerView mapMarkerView = new MapMarkerView(context); + + ArrayList optionsList = new ArrayList<>(); + for (int i = 0; i < 10; i++) { + MogoMarkerOptions options = new MogoMarkerOptions() + .owner(TAG) + .latitude(39.974525d + new Random().nextDouble()) + .longitude(116.41733d + new Random().nextDouble()); + if (i % 2 == 0) { + options.icon(mapMarkerInfoView); + } else { + options.icon(mapMarkerView); + } + optionsList.add(options); + } + List iMogoMarkers = getMarkerManager().addMarkers(TAG, optionsList, true); + for (IMogoMarker iMogoMarker : iMogoMarkers) { + iMogoMarker.setInfoWindowAdapter(markerInfoWindowAdapter); + iMogoMarker.setOnMarkerClickListener(mogoMarkerClickListener); + } } }); @@ -55,6 +100,10 @@ public class MarkerServiceHandler { return mMarkerManager; } + public static IMogoNavi getNavi() { + return mNavi; + } + public static IMogoImageloader getImageloader() { return mImageloader; } @@ -63,4 +112,12 @@ public class MarkerServiceHandler { return mMogoSocketManager; } + + static class MogoMarkerClickListener implements IMogoMarkerClickListener { + + @Override + public boolean onMarkerClicked(IMogoMarker marker) { + return false; + } + } } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MarkerInfoWindowAdapter.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MarkerInfoWindowAdapter.java new file mode 100644 index 0000000000..385853793f --- /dev/null +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MarkerInfoWindowAdapter.java @@ -0,0 +1,36 @@ +package com.mogo.module.service.marker; + +import android.content.Context; +import android.view.View; + +import com.mogo.map.marker.IMogoInfoWindowAdapter; +import com.mogo.map.marker.IMogoMarker; +import com.mogo.map.navi.IMogoNavi; +import com.mogo.service.imageloader.IMogoImageloader; + +/** + * author : donghongyu + * e-mail : 1358506549@qq.com + * date : 2020-01-0818:11 + * desc : + * version: 1.0 + */ +public class MarkerInfoWindowAdapter implements IMogoInfoWindowAdapter { + + private static final String TAG = "MarkerInfoWindowAdapter"; + + private Context mContext; + private IMogoNavi mNavi; + private IMogoImageloader mImageloader; + + public MarkerInfoWindowAdapter( Context mContext, IMogoNavi mNavi, IMogoImageloader iMogoImageloader ) { + this.mContext = mContext; + this.mNavi = mNavi; + this.mImageloader = iMogoImageloader; + } + + @Override + public View getInfoWindow(IMogoMarker marker) { + return null; + } +} From cd0b567ec792b1e0bb99dd0e8d635b9e3365c063 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Wed, 8 Jan 2020 18:43:38 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86Marker=E9=80=82?= =?UTF-8?q?=E9=85=8D=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/service/MarkerServiceHandler.java | 2 +- .../service/marker/MapMarkerInfoView.java | 3 +- .../module/service/marker/MapMarkerView.java | 4 +- .../icon_map_marker_car_blue.png | Bin 0 -> 3394 bytes .../icon_map_marker_car_gray.png | Bin 0 -> 3102 bytes .../icon_map_marker_location_blue.png | Bin 0 -> 902 bytes .../bg_shape_reverse_triangle_blue.xml | 2 - .../src/main/res/layout/view_map_marker.xml | 19 ++++- .../main/res/layout/view_map_marker_info.xml | 70 +++++++++++++----- 9 files changed, 72 insertions(+), 28 deletions(-) create mode 100644 modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_car_blue.png create mode 100644 modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_car_gray.png create mode 100644 modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_location_blue.png 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 f10ef4d247..1b905d3f87 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 @@ -73,7 +73,7 @@ public class MarkerServiceHandler { for (int i = 0; i < 10; i++) { MogoMarkerOptions options = new MogoMarkerOptions() .owner(TAG) - .latitude(39.974525d + new Random().nextDouble()) + .latitude(37.974525d + new Random().nextDouble()) .longitude(116.41733d + new Random().nextDouble()); if (i % 2 == 0) { options.icon(mapMarkerInfoView); 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 4e2d773096..97223ecf63 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 @@ -6,6 +6,7 @@ import android.view.LayoutInflater; import android.widget.LinearLayout; import androidx.annotation.Nullable; +import androidx.constraintlayout.widget.ConstraintLayout; import com.mogo.module.service.R; @@ -16,7 +17,7 @@ import com.mogo.module.service.R; * desc : 地图Marker图标带文本信息 * version: 1.0 */ -public class MapMarkerInfoView extends LinearLayout { +public class MapMarkerInfoView extends ConstraintLayout { public MapMarkerInfoView(Context context) { super(context); initView(context); 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 d288cfa493..4663420ddf 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 @@ -3,9 +3,9 @@ package com.mogo.module.service.marker; import android.content.Context; import android.util.AttributeSet; import android.view.LayoutInflater; -import android.widget.LinearLayout; import androidx.annotation.Nullable; +import androidx.constraintlayout.widget.ConstraintLayout; import com.mogo.module.service.R; @@ -16,7 +16,7 @@ import com.mogo.module.service.R; * desc : 地图Marker图标 * version: 1.0 */ -public class MapMarkerView extends LinearLayout { +public class MapMarkerView extends ConstraintLayout { public MapMarkerView(Context context) { super(context); initView(context); diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_car_blue.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_car_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..0bd9d83a57873901ea07731cee560cf3d8b40e23 GIT binary patch literal 3394 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 Y1Ej2ob;<(T!2kdN07*qoM6N<$f)1l?f&c&j literal 0 HcmV?d00001 diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_car_gray.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_car_gray.png new file mode 100644 index 0000000000000000000000000000000000000000..37eae8f2aba66d79d457d3200dcdf0fdecbd8c50 GIT binary patch literal 3102 zcmV+(4B_*MP)Ht5i9wa#*~bke zcZ@6ovV8gS6$cI+SSi%UrBJ(e?OM~s%&@-@r*QyrdD%ArDayO9UcLIK48v*!Adfxv zSktXrw|cH!yY_dbVF?PFoY}Hb+eaEPREax{*Ih<)&6X`&W@Tk%METj4mX?2Mut&T< z0LjnKZ+z&XhYGfC-P+82U}6GhK5|F70L`ZZUrRou8rysK?)}=_+}yWZzR)X*N^p*o zcuH{Qj$PKvY<@1;IIq0CJo3T(qwN&U5#`R#v(m-_VT@qA@x;YT994CAG6Er2o_=b_FmvIDGi9J^9UV*r_w8ZQBz&Z2i`+ z*rMu69a^(CGo1)eVrts1_x9Vg%DYiVM~Cg-zdryWrPwE8nvc`X&CMrVH#)_n@Mq=j z89E++vc=YJXj15-%!$h#1M%Bs+yB0>?#mtGEsRJPDUMOEcJd9{`bR^YySuyhDH_iZ z5uV4NXtBB3q|GD}mYALn{IgotRn{iW(Z z#SzZ~&G*}EA~hcpiVD#Pr6ys5IU?R*|Mdj}a6uw6IzASBh}X4h)vBKh%q;x@NNsKH zux9hy%w~X;Ra9`Bic&I5T0%-xicfp!+MwHCP$?faD{tLb`+^VM05gtvPfcVDFc;g~ ztZ~&EyVQ1BX;32cM>rvXvU(=RCnBANRES2a?3U^ZfDKUwkPs0!^<^yvi)JcnYqeHyD z+#7NKxYXHhgTq6?hy2VB#3M45&?Z%+9Z-=75n+x55X_Z?R?NMn1;_wt@9nZ74U)mi z*Ze>b;F;2H*{Mm@)VR*((y0l6R394|4Knu<53Zg(U44BvK9O2A*%8T@tPW&mCSh$| z?Y3p}7CV38f-TpjclD~(R=1+gYAUO&x~kfiELjpxShnkFZF-y?H*elFUBInR4tslh zt+TT;oF_!1tFOlrvO6|09_EN9f06vD$O|(!0|=>Mb#bZ zk|O$O4=B}nI?nu5u{xipc5f&M4!6yzZsTkv51nXA>8Qiqf)$11aKWCIAE46EN;8 zfqLAT*W-Mzvtp=2>@lQ8)62?BQb6cansY}4 z(q#b%e67ITKtPFsMFPV80N`U9&0@WyGDlFRpE6!Y&v}#pVVOG^be)zjTOP@(|4tyB z4Nl8+j(9{kcQDMTvYp34(Fes#>O3JLY2&;Nq6ghIA}B6hEFjv@I9ix9DEg?VJI|du zAoxz+2akb3?93dN-Y2~~BZ43Xp`{WIsR0a&PT(*`=?`*l(0P>XIdOvL0PE}PBOPSs z1>%P5maj;sCiVL108vK9+b$0u!eKTKKJx|21|nAOh+u?=4Q#Pa*CDig88a1GGT zw_Qu@+bBU8ZCKf0t5>g%r16~MEEr8rSmmt?R*<|Eg}z|=hE+_Q(-kvwufZ14 ziUV=`l<^%mg2b^crPTdiLO9*Habw0vl?-d_|E(3z=z5S>WRpepI;9gqX`urW16o}WaUmryZ!+FVRE1XTeZUUfux&yU{ zie|1y&V1zPQTNS^y7TV%hUS)9TU$pFB%G9drXJJxi~|RMZ+|=eiH%IoSV!&4Hc_<3 zRYIu)-9}0`S$EBMf*$%@nm_&YQ#*R}Xy9Rw2XY_!-7mEHml2WEr%w-V+qNzIW`;44 zANufp>+J8guHJ4t{>e!zEh^UAUbWR$ZMNEqA}iJ|Jdr50iOGabj~z9PU%GV3y1Kf8 zLsrbLUAyl10gCUnT$r3PfE+n;8{1Thn%+~?bR$@j8l9Nwap?!#hK42j z5_}W+W5nK{7b z$FE-Z-FIKcPaoKU1VAQ|@9HGqp9@5g36gjDcl`MAjhZt*5r7vYrt5ub`K7}gY06PF s8R?^~`9}CZRQa1dd-nW063$WiKaaoEY%PjhasU7T07*qoM6N<$f}^Da>;M1& literal 0 HcmV?d00001 diff --git a/modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_location_blue.png b/modules/mogo-module-service/src/main/res/drawable-xhdpi/icon_map_marker_location_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..34823616ee8c32d4f0fb7250193d71774127f271 GIT binary patch literal 902 zcmV;119|+3P)Px&KuJVFR9FekSWRmbK@ff2v#U!q5d#}V*Fe^gDB=f#Ab9a6c=za4Fp9q+KSCpT z_2@6~=0)%%eju6<_YfD+EGQ-#R(EIHenWbh9cQX%!mjLGrl+gw)tl++uBuTecwJpK zr7tZUG73`&v9D`TR%Mh4V>;-R6gmj-M;UA#t>VYCWz{X>LgiIHd)plDXjD5rOy;$r zURh(i+(YZ_L-jq6otMy=C3Dacsf8g9}XeDelyb=_`s;H(~F6cHB*EgTV|g|FS;c)z`g7wa$aCT!c2D#uk(SarLvDIUOrswg4`u_PsO z(JUb(C2nm=UPR`_vRpLl83~lnlUZfn1_& z&%Q|lq>LrRUP!s}!-wxU^iPI`yXI7$-iui~S)ipkW6b0&(AcxB-B(e8)~^`Z#Mye& zTf*|w+pK+Wm?bQIyO-*JAx@lJGAD-K7&=c`ciT9ATv4B#IEo?nz>d-v;7)fKclx5w zIMx6mwzqccHQ2<(l}0h9kH}Y|r5;!^=Xk7IX-8_Tel|E#ypPTAm^dkp$L5DslGtv1 cjqI1+UyQ?TKlvdqSpWb407*qoM6N<$g5 - - 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 c831059662..0d3b1ffbe3 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 @@ -1,9 +1,11 @@ - + android:orientation="vertical" + tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout" > @@ -27,4 +28,14 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> - \ No newline at end of file + + + \ No newline at end of file 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 c4e0a7e62c..48b96abba9 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 @@ -1,32 +1,66 @@ - + android:orientation="horizontal" + tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout" > - + app:layout_constraintTop_toTopOf="parent" > + + + + + + - \ No newline at end of file + app:layout_constraintEnd_toEndOf="@+id/llMarkerContent" + app:layout_constraintStart_toStartOf="@+id/llMarkerContent" + app:layout_constraintTop_toBottomOf="@+id/llMarkerContent" /> + + + \ No newline at end of file From a89cc03705374de756e4b140429aff46661cc460 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Wed, 8 Jan 2020 20:10:40 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86Marker=E9=80=82?= =?UTF-8?q?=E9=85=8D=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/service/MarkerServiceHandler.java | 17 ++++++++++++----- .../service/marker/MarkerInfoWindowAdapter.java | 5 +++-- 2 files changed, 15 insertions(+), 7 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 1b905d3f87..6217524a05 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 @@ -17,6 +17,7 @@ import com.mogo.service.connection.IMogoOnMessageListener; import com.mogo.service.connection.IMogoSocketManager; import com.mogo.service.imageloader.IMogoImageloader; import com.mogo.service.map.IMogoMapService; +import com.mogo.utils.TipToast; import com.mogo.utils.logger.Logger; import java.util.ArrayList; @@ -75,11 +76,12 @@ public class MarkerServiceHandler { .owner(TAG) .latitude(37.974525d + new Random().nextDouble()) .longitude(116.41733d + new Random().nextDouble()); - if (i % 2 == 0) { - options.icon(mapMarkerInfoView); - } else { - options.icon(mapMarkerView); - } +// if (i % 2 == 0) { +// options.icon(mapMarkerInfoView); +// } else { +// options.icon(mapMarkerView); +// } + options.icon(mapMarkerInfoView); optionsList.add(options); } List iMogoMarkers = getMarkerManager().addMarkers(TAG, optionsList, true); @@ -113,10 +115,15 @@ public class MarkerServiceHandler { } + /** + * 地图上的Marker点击回调 + */ static class MogoMarkerClickListener implements IMogoMarkerClickListener { @Override public boolean onMarkerClicked(IMogoMarker marker) { + TipToast.shortTip("点击了大而全中的Marker"); + return false; } } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MarkerInfoWindowAdapter.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MarkerInfoWindowAdapter.java index 385853793f..6aac1ddb47 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MarkerInfoWindowAdapter.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MarkerInfoWindowAdapter.java @@ -23,7 +23,7 @@ public class MarkerInfoWindowAdapter implements IMogoInfoWindowAdapter { private IMogoNavi mNavi; private IMogoImageloader mImageloader; - public MarkerInfoWindowAdapter( Context mContext, IMogoNavi mNavi, IMogoImageloader iMogoImageloader ) { + public MarkerInfoWindowAdapter(Context mContext, IMogoNavi mNavi, IMogoImageloader iMogoImageloader) { this.mContext = mContext; this.mNavi = mNavi; this.mImageloader = iMogoImageloader; @@ -31,6 +31,7 @@ public class MarkerInfoWindowAdapter implements IMogoInfoWindowAdapter { @Override public View getInfoWindow(IMogoMarker marker) { - return null; + MapMarkerInfoView mapMarkerInfoView = new MapMarkerInfoView(mContext); + return mapMarkerInfoView; } } From 1fd50969cbbb4e9040a93e055138083b1cca7dd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Wed, 8 Jan 2020 20:10:50 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86Marker=E9=80=82?= =?UTF-8?q?=E9=85=8D=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/config.gradle b/config.gradle index 27940105bc..c1d0b932b7 100644 --- a/config.gradle +++ b/config.gradle @@ -95,6 +95,7 @@ ext { mogoconnection : "com.mogo.connection:mogo-connection:${MOGO_CONNECTION_VERSION}", moduleextensions : "com.mogo.module:module-extensions:${MOGO_MODULE_EXTENSIONS_VERSION}", modulechatting : "com.mogo.module.carchatting:module-carchatting:${CARCHATTING_VERSION}", + // 在线车辆 moduleonlinecar : "com.mogo.module:module-onlinecar:${MOGO_MODULE_ONLINECAR_VERSION}", // 长链 From 5fe6725e2d69229959a09faf579d577d4f963acd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Wed, 8 Jan 2020 20:17:03 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E5=AF=B9=E5=A4=96=E5=BC=80=E6=94=BE?= =?UTF-8?q?=E4=BA=86=E7=BB=98=E5=88=B6marker=E7=9A=84=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/service/MarkerServiceHandler.java | 41 ++++++++----------- 1 file changed, 18 insertions(+), 23 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 6217524a05..8f7bbcaf3b 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 @@ -9,7 +9,6 @@ import com.mogo.map.marker.IMogoMarkerManager; import com.mogo.map.marker.MogoMarkerOptions; import com.mogo.map.navi.IMogoNavi; import com.mogo.module.service.entity.MarkerResponse; -import com.mogo.module.service.marker.MapMarkerInfoView; import com.mogo.module.service.marker.MapMarkerView; import com.mogo.module.service.marker.MarkerInfoWindowAdapter; import com.mogo.service.MogoServicePaths; @@ -20,8 +19,6 @@ import com.mogo.service.map.IMogoMapService; import com.mogo.utils.TipToast; import com.mogo.utils.logger.Logger; -import java.util.ArrayList; -import java.util.List; import java.util.Random; /** @@ -44,7 +41,10 @@ public class MarkerServiceHandler { private static IMogoSocketManager mMogoSocketManager; private static MarkerInfoWindowAdapter markerInfoWindowAdapter; + private static Context mContext; + public static void init(final Context context) { + mContext = context; mMapService = (IMogoMapService) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICES_MAP).navigation(context); mImageloader = (IMogoImageloader) ARouter.getInstance().build(MogoServicePaths.PATH_UTILS_IMAGE_LOADER).navigation(context); mMarkerManager = mMapService.getMarkerManager(context); @@ -67,27 +67,8 @@ public class MarkerServiceHandler { public void onMsgReceived(MarkerResponse obj) { Logger.e("donghongyu", "===" + obj); - MapMarkerInfoView mapMarkerInfoView = new MapMarkerInfoView(context); - MapMarkerView mapMarkerView = new MapMarkerView(context); - - ArrayList optionsList = new ArrayList<>(); for (int i = 0; i < 10; i++) { - MogoMarkerOptions options = new MogoMarkerOptions() - .owner(TAG) - .latitude(37.974525d + new Random().nextDouble()) - .longitude(116.41733d + new Random().nextDouble()); -// if (i % 2 == 0) { -// options.icon(mapMarkerInfoView); -// } else { -// options.icon(mapMarkerView); -// } - options.icon(mapMarkerInfoView); - optionsList.add(options); - } - List iMogoMarkers = getMarkerManager().addMarkers(TAG, optionsList, true); - for (IMogoMarker iMogoMarker : iMogoMarkers) { - iMogoMarker.setInfoWindowAdapter(markerInfoWindowAdapter); - iMogoMarker.setOnMarkerClickListener(mogoMarkerClickListener); + drawMapMarker(); } } @@ -127,4 +108,18 @@ public class MarkerServiceHandler { return false; } } + + + public static void drawMapMarker() { + MapMarkerView mapMarkerView = new MapMarkerView(mContext); + + MogoMarkerOptions options = new MogoMarkerOptions() + .icon(mapMarkerView) + .owner(TAG) + .latitude(38.574525d + new Random().nextDouble()) + .longitude(115.41733d + new Random().nextDouble()); + IMogoMarker marker = getMarkerManager().addMarker(TAG, options); + marker.setInfoWindowAdapter(markerInfoWindowAdapter); + marker.setOnMarkerClickListener(mogoMarkerClickListener); + } }