增加了Marker的点击切换样式的逻辑,还有问题,需要修改底层

This commit is contained in:
董宏宇
2020-01-10 11:49:10 +08:00
parent 4822fdb57a
commit 2c8563219b
2 changed files with 43 additions and 2 deletions

View File

@@ -106,6 +106,8 @@ public class MarkerServiceHandler {
}
private static IMogoMarker lastMarker;
/**
* 地图上的Marker点击回调
*/
@@ -114,6 +116,35 @@ public class MarkerServiceHandler {
@Override
public boolean onMarkerClicked(IMogoMarker marker) {
TipToast.shortTip("点击了大而全中的Marker");
if (lastMarker != null) {
MapMarkerView mapMarkerView = new MapMarkerView(mContext);
MogoMarkerOptions options = new MogoMarkerOptions()
.icon(mapMarkerView)
.owner(lastMarker.getOwner())
.latitude(lastMarker.getPosition().getLat())
.longitude(lastMarker.getPosition().getLng());
IMogoMarker newMarker = getMarkerManager().addMarker(lastMarker.getOwner(), options);
newMarker.setInfoWindowAdapter(markerInfoWindowAdapter);
newMarker.setOnMarkerClickListener(mogoMarkerClickListener);
newMarker.setObject(lastMarker.getObject());
}
lastMarker = marker;
MapMarkerInfoView mapMarkerInfoView = new MapMarkerInfoView(mContext);
MogoMarkerOptions options = new MogoMarkerOptions()
.icon(mapMarkerInfoView)
.owner(marker.getOwner())
.latitude(marker.getPosition().getLat())
.longitude(marker.getPosition().getLng());
IMogoMarker newMarker = getMarkerManager().addMarker(marker.getOwner(), options);
newMarker.setInfoWindowAdapter(markerInfoWindowAdapter);
newMarker.setOnMarkerClickListener(mogoMarkerClickListener);
newMarker.setObject(marker.getObject());
return false;
}
@@ -176,7 +207,7 @@ public class MarkerServiceHandler {
}
}
getMapUIController().changeZoom(10);
getMapUIController().changeZoom(8);
}
/**
@@ -241,6 +272,6 @@ public class MarkerServiceHandler {
marker.setOnMarkerClickListener(mogoMarkerClickListener);
marker.setObject("我是Marker上面绑定的数据");
getMapUIController().changeZoom(10);
getMapUIController().changeZoom(8);
}
}

View File

@@ -40,6 +40,16 @@
app:miv_placeHolder="@drawable/icon_default"
app:miv_shape="circle" />
<ImageView
android:id="@+id/ivIconForeground"
android:layout_width="@dimen/dp_56"
android:layout_height="@dimen/dp_56"
android:layout_gravity="center"
android:layout_marginTop="@dimen/dp_6"
android:src="@drawable/icon_map_marker_music_play"
app:layout_constraintStart_toStartOf="@+id/ivUserHead"
app:layout_constraintTop_toTopOf="@+id/ivUserHead" />
<TextView
android:id="@+id/tvMarkerContent"
android:layout_width="wrap_content"