diff --git a/.idea/gradle.xml b/.idea/gradle.xml index b892d6479b..cfc605c98e 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -84,6 +84,7 @@ diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/marker/SimpleWindow3DAdapter.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/marker/SimpleWindow3DAdapter.java new file mode 100644 index 0000000000..3239565218 --- /dev/null +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/marker/SimpleWindow3DAdapter.java @@ -0,0 +1,23 @@ +package com.mogo.module.common.drawer.marker; + +import android.view.View; + +import com.mogo.map.marker.IMogoInfoWindowAdapter; +import com.mogo.map.marker.IMogoMarker; + +/** + * 简单marker适配器 + * + * @author tongchenfei + */ +public class SimpleWindow3DAdapter implements IMogoInfoWindowAdapter { + + public View icon; + public SimpleWindow3DAdapter(View icon) { + this.icon = icon; + } + @Override + public View getInfoWindow(IMogoMarker marker) { + return icon; + } +} diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/location/MogoRTKLocation.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/location/MogoRTKLocation.java index 445672c2f8..b818a982d6 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/location/MogoRTKLocation.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/location/MogoRTKLocation.java @@ -48,10 +48,13 @@ public class MogoRTKLocation { if (msg.what == MSG_DATA_CHANGED) { mHandler.sendEmptyMessageDelayed(MSG_DATA_CHANGED, uploadDelay); sendLocationData(); + + Logger.d(TAG,"handleMessage开始发送消息"); } } }; mHandler.sendEmptyMessage(MSG_DATA_CHANGED); + Logger.d(TAG,"构造方法开始发送消息"); } public interface RTKLocationListener { diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/obu/OptimalSpeedMarker.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/obu/OptimalSpeedMarker.java index d5268ab6c6..8f98c94d3b 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/obu/OptimalSpeedMarker.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/obu/OptimalSpeedMarker.java @@ -3,6 +3,9 @@ package com.mogo.module.v2x.scenario.scene.obu; import com.mogo.map.MogoLatLng; import com.mogo.map.marker.IMogoMarker; import com.mogo.map.marker.MogoMarkerOptions; +import com.mogo.module.common.drawer.MarkerDrawer; +import com.mogo.module.common.drawer.marker.EmptyMarkerView; +import com.mogo.module.common.drawer.marker.SimpleWindow3DAdapter; import com.mogo.module.v2x.V2XServiceManager; import com.mogo.module.v2x.marker.OptimalSpeedMarkerView; import com.mogo.module.v2x.scenario.view.IV2XMarker; @@ -22,10 +25,23 @@ class OptimalSpeedMarker implements IV2XMarker { @Override public void drawPOI(MogoLatLng entity) { Logger.d(MODULE_NAME, "绘制绿波marker===" + entity); + MogoMarkerOptions optionsRipple = new MogoMarkerOptions() .latitude(entity.getLat()) - .longitude(entity.getLon()).anchor(0.5f,0.9f).icon( ViewUtils.fromView(new OptimalSpeedMarkerView(V2XServiceManager.getContext()))); - optimalMarker = V2XServiceManager.getMarkerManager().addMarker(V2X_OPTIMAL_SPEED_MARKER, optionsRipple); + .longitude(entity.getLon()) + .anchor(0.5f, 0.9f) + .zIndex(MarkerDrawer.MARKER_Z_INDEX_HIGH); + if (V2XServiceManager.getMoGoStatusManager().isVrMode()) { + optionsRipple + .icon(ViewUtils.fromView(new EmptyMarkerView(V2XServiceManager.getContext()))); + optimalMarker = V2XServiceManager.getMarkerManager().addMarker(V2X_OPTIMAL_SPEED_MARKER, optionsRipple); + optimalMarker.setInfoWindowAdapter(new SimpleWindow3DAdapter(new OptimalSpeedMarkerView(V2XServiceManager.getContext()))); + optimalMarker.showInfoWindow(); + } else { + optionsRipple + .icon(ViewUtils.fromView(new OptimalSpeedMarkerView(V2XServiceManager.getContext()))); + optimalMarker = V2XServiceManager.getMarkerManager().addMarker(V2X_OPTIMAL_SPEED_MARKER, optionsRipple); + } if (optimalMarker != null) { optimalMarker.setClickable(false); } @@ -33,7 +49,7 @@ class OptimalSpeedMarker implements IV2XMarker { @Override public void clearPOI() { - Logger.d(MODULE_NAME,"准备清除绿波marker"); + Logger.d(MODULE_NAME, "准备清除绿波marker"); if (optimalMarker != null) { Logger.d(MODULE_NAME, "清除绿波marker===" + optimalMarker); optimalMarker.remove();