修改vip变灯marker在vr模式下的显示问题

This commit is contained in:
tongchenfei
2020-12-22 17:46:12 +08:00
parent bf24d99cd3
commit 2559886687
4 changed files with 46 additions and 3 deletions

1
.idea/gradle.xml generated
View File

@@ -84,6 +84,7 @@
</set>
</option>
<option name="resolveModulePerSourceSet" value="false" />
<option name="useQualifiedModuleNames" value="true" />
</GradleProjectSettings>
</option>
</component>

View File

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

View File

@@ -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 {

View File

@@ -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<MogoLatLng> {
@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<MogoLatLng> {
@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();