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-tanlu/build.gradle b/modules/mogo-module-tanlu/build.gradle index 6bb1edb229..620e6b9d36 100644 --- a/modules/mogo-module-tanlu/build.gradle +++ b/modules/mogo-module-tanlu/build.gradle @@ -63,6 +63,7 @@ dependencies { implementation 'com.shuyu:gsyVideoPlayer-armv7a:7.1.1' implementation 'com.shuyu:gsyVideoPlayer-arm64:7.1.1' implementation 'com.shuyu:gsyVideoPlayer-java:7.1.1' + implementation 'org.greenrobot:eventbus:3.1.1' } apply from: new File(rootProject.rootDir, "gradle/upload.gradle").toString() diff --git a/modules/mogo-module-tanlu/src/main/AndroidManifest.xml b/modules/mogo-module-tanlu/src/main/AndroidManifest.xml index c910375626..ec531bc01c 100644 --- a/modules/mogo-module-tanlu/src/main/AndroidManifest.xml +++ b/modules/mogo-module-tanlu/src/main/AndroidManifest.xml @@ -7,6 +7,13 @@ android:hardwareAccelerated="true"> + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/fragment/TanluCardViewFragment.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/fragment/TanluCardViewFragment.java index 5c6975ad1d..e7ffb1f930 100644 --- a/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/fragment/TanluCardViewFragment.java +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/fragment/TanluCardViewFragment.java @@ -1,6 +1,7 @@ package com.mogo.tanlu.fragment; import android.graphics.Bitmap; +import android.graphics.BitmapFactory; import android.os.Bundle; import android.text.Html; import android.view.MotionEvent; @@ -22,6 +23,7 @@ import com.mogo.map.location.MogoLocation; 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.model.MogoPoi; import com.mogo.map.search.geo.MogoPoiItem; import com.mogo.map.search.poisearch.IMogoPoiSearchListener; @@ -34,6 +36,7 @@ import com.mogo.service.imageloader.IMogoImageloader; import com.mogo.service.map.IMogoMapService; import com.mogo.service.module.IMogoModuleLifecycle; import com.mogo.tanlu.R; +import com.mogo.tanlu.model.event.MarkerInfo; import com.mogo.tanlu.video.FullMediaActivity; import com.mogo.tanlu.video.SimpleCoverVideoPlayer; import com.mogo.tanlu.view.AutoZoomInImageView; @@ -41,6 +44,10 @@ import com.mogo.utils.TipToast; import com.mogo.utils.logger.Logger; import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder; +import org.greenrobot.eventbus.EventBus; +import org.greenrobot.eventbus.Subscribe; +import org.greenrobot.eventbus.ThreadMode; + import java.util.ArrayList; import java.util.List; @@ -135,9 +142,9 @@ public class TanluCardViewFragment extends MvpFragment> public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); getViewLifecycleOwner().getLifecycle().addObserver(mPresenter); + EventBus.getDefault().register(this); } - /** * TODO * @@ -173,11 +180,12 @@ public class TanluCardViewFragment extends MvpFragment> @Override public void onFailure(Exception e) { - Logger.e(TAG, "onFailure -----E->" + e); + Logger.e(TAG, "onFailure ------>" + e); } }); } else if (id == R.id.tv_main_empty) { //TODO 上报路况,逻辑 Logger.d(TAG, "tv_main_empty click -----> "); + } } @@ -260,12 +268,10 @@ public class TanluCardViewFragment extends MvpFragment> mogoImageloader.downloadImage(getActivity(), thumbnailUrl, new IMogoImageLoaderListener() { @Override public void onStart() { - Logger.d(TAG, "onStart ------>"); } @Override public void onCompleted(Bitmap bitmap) { - Logger.d(TAG, "onCompleted ------>"); autoZoomInImageView.setImageBitmap(bitmap); //动画 handleImageAnimation(); @@ -273,7 +279,7 @@ public class TanluCardViewFragment extends MvpFragment> @Override public void onFailure(Exception e) { - Logger.e(TAG, "onFailure -----E->" + e); + Logger.e(TAG, "onFailure ------>" + e); } }); } @@ -404,10 +410,51 @@ public class TanluCardViewFragment extends MvpFragment> @Override public void onDestroyView() { super.onDestroyView(); + EventBus.getDefault().unregister(this); getViewLifecycleOwner().getLifecycle().removeObserver(mPresenter); TanluServiceHandler.getLocationClient().removeLocationListener(this); } + + private Bitmap mMarkerIcon; + + /** + * 接收到对应数据打点 + * + * @param event + */ + @Subscribe(threadMode = ThreadMode.MAIN) + public void onMarkerInfo(final MarkerInfo event) { + mMarkerIcon = BitmapFactory.decodeResource( getResources(), R.drawable.ic_search_poi_location ); + mogoImageloader.downloadImage(getActivity(), event.imageUrl, new IMogoImageLoaderListener() { + @Override + public void onStart() { + Logger.d(TAG, "onMarkerInfo onStart ------>"); + } + + @Override + public void onCompleted(Bitmap bitmap) { + Logger.d(TAG, "onMarkerInfo onCompleted ------>"); + MogoMarkerOptions options = new MogoMarkerOptions() + .icon(mMarkerIcon) + .latitude(event.lat) + .owner("tag") + .longitude(event.lon); + + mMogoMapService = (IMogoMapService) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICES_MAP).navigation(getContext()); + mMarkerManager = mMogoMapService.getMarkerManager(getContext()); + IMogoMarker marker = mMarkerManager.addMarker("tag", options); + } + + @Override + public void onFailure(Exception e) { + Logger.e(TAG, "onMarkerInfo onFailure -----E->" + e); + } + }); + + } + + } diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/model/event/MarkerInfo.java b/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/model/event/MarkerInfo.java new file mode 100644 index 0000000000..2676f0cd80 --- /dev/null +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/model/event/MarkerInfo.java @@ -0,0 +1,23 @@ +package com.mogo.tanlu.model.event; + +import java.io.Serializable; + +/** + * @author lixiaopeng + * @description marker数据 + * @since 2020-01-08 + */ +public class MarkerInfo implements Serializable { + public int type; //封路,还是上报 + public String imageUrl; + public Long lon; //经度 + public Long lat; //纬度 + + public MarkerInfo(int type, String imageUrl, Long lon, Long lat) { + this.type = type; + this.imageUrl = imageUrl; + this.lon = lon; + this.lat = lat; + } + +} diff --git a/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/receiver/MarkerInfoReceiver.kt b/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/receiver/MarkerInfoReceiver.kt new file mode 100644 index 0000000000..8ea58db2d3 --- /dev/null +++ b/modules/mogo-module-tanlu/src/main/java/com/mogo/tanlu/receiver/MarkerInfoReceiver.kt @@ -0,0 +1,23 @@ +package com.mogo.tanlu.receiver + +import android.content.BroadcastReceiver +import android.content.Context +import android.content.Intent +import android.util.Log +import com.mogo.tanlu.model.event.MarkerInfo +import org.greenrobot.eventbus.EventBus + +/** + * marker数据接收 + */ +class MarkerInfoReceiver : BroadcastReceiver() { + override fun onReceive(context: Context, intent: Intent) { + if (intent.action == "com.zhidao.roadcondition.marker.info"){ + var imageUrl = intent.getStringExtra("imageUrl") + var lat = intent.getLongExtra("lat",0) + var lon = intent.getLongExtra("lon",0) //经度 + Log.d("MarkerInfoReceiver", "imageUrl = $imageUrl ---->lat = $lat ---->lon = $lon") + EventBus.getDefault().post(MarkerInfo(1, imageUrl, lon, lat)) + } + } +}