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-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 e34429f83c..c9805ebbef 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 @@ -24,7 +24,6 @@ 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.List; @@ -106,6 +105,8 @@ public class MarkerServiceHandler { } + private static IMogoMarker lastMarker; + /** * 地图上的Marker点击回调 */ @@ -113,8 +114,40 @@ public class MarkerServiceHandler { @Override public boolean onMarkerClicked(IMogoMarker marker) { - TipToast.shortTip("点击了大而全中的Marker"); + Logger.e(TAG, "点击了大而全中的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.destroy(); + } + + + // + 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()); + + lastMarker = newMarker; + marker.destroy(); return false; } } @@ -176,7 +209,7 @@ public class MarkerServiceHandler { } } - getMapUIController().changeZoom(10); + getMapUIController().changeZoom(8); } /** @@ -191,32 +224,13 @@ public class MarkerServiceHandler { Object bindObject, MarkerLocation markerLocation) { Logger.e(TAG, "绘制Marker====markerTag:" + markerTag); - MapMarkerView mapMarkerView = new MapMarkerView(mContext); - MapMarkerInfoView mapMarkerInfoView = new MapMarkerInfoView(mContext); MogoMarkerOptions options = new MogoMarkerOptions() .owner(markerTag) .latitude(markerLocation.getLat()) .longitude(markerLocation.getLon()); - - switch (markerTag) { - case ServiceConst.CARD_TYPE_CARS_CHATTING: - options.icon(mapMarkerView); - break; - case ServiceConst.CARD_TYPE_ROAD_CODITION: - options.icon(mapMarkerView); - break; - case ServiceConst.CARD_TYPE_SHARE_MUSIC: - options.icon(mapMarkerView); - break; - case ServiceConst.CARD_TYPE_USER_DATA: - options.icon(mapMarkerInfoView); - break; - default: - options.icon(mapMarkerView); - break; - } + options.icon(mapMarkerView); IMogoMarker marker = getMarkerManager().addMarker(markerTag, options); marker.setInfoWindowAdapter(markerInfoWindowAdapter); @@ -241,6 +255,6 @@ public class MarkerServiceHandler { marker.setOnMarkerClickListener(mogoMarkerClickListener); marker.setObject("我是Marker上面绑定的数据"); - getMapUIController().changeZoom(10); + getMapUIController().changeZoom(8); } } 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 06fe0259a4..78cc7c93b1 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 @@ -7,31 +7,46 @@ android:orientation="vertical" tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout" > + + - + app:layout_constraintTop_toTopOf="parent" + app:miv_failureHolder="@drawable/icon_default" + app:miv_overlayImageId="@drawable/icon_default" + app:miv_placeHolder="@drawable/icon_default" + app:miv_shape="circle" /> - - \ 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 48b96abba9..2f940f1122 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 @@ -8,10 +8,21 @@ android:orientation="horizontal" tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout" > + + + + - \ No newline at end of file diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java b/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java index fe4abf3ef9..46e80203e0 100644 --- a/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/statusmanager/MogoStatusManager.java @@ -69,7 +69,6 @@ public class MogoStatusManager implements IMogoStatusManager { return get_bool_val( StatusDescriptor.USER_INTERACTED ); } - @Override public boolean isSearchUIShow() { return get_bool_val( StatusDescriptor.SEARCH_UI );