添加了绘制大而全的Marker点

This commit is contained in:
董宏宇
2020-01-08 18:13:28 +08:00
parent 8ffd520de0
commit 18317700ac
2 changed files with 94 additions and 1 deletions

View File

@@ -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<MarkerResponse>() {
@@ -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<MogoMarkerOptions> 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<IMogoMarker> 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;
}
}
}

View File

@@ -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;
}
}