我正在使用最新的Mapbox Android SDK并尝试在地图上显示传输标记。标记isFlat
表示标记应与地面平行。然而,当我旋转地图时,标记不会与地面一起旋转,例如如果我设置了旋转角度,那么标记朝北,用户旋转地图后,标记将不会旋转,并且不再指向北方。此行为与我之前使用的Google Maps SDK不同。
我必须在每次摄像机更新事件时手动重新调整标记的旋转(当摄像机旋转发生变化时)。问题是我如何固定标记的位置,使其粘在地上并与之一起旋转?
答案 0 :(得分:0)
虽然我们尚未实施任何类型的锚定以使标记指向特定的地图方向,但现在最好的解决方案是向地图添加onCameraChangeListener
并更新标记时地图的旋转:
marker = mapboxMap.addMarker(new MarkerViewOptions()
.position(new LatLng(40.73581, -73.99155))
.flat(true));
mapboxMap.setOnCameraChangeListener(new MapboxMap.OnCameraChangeListener() {
@Override
public void onCameraChange(CameraPosition position) {
marker.setRotation((float) -position.bearing);
}
});
这应该在每次旋转地图时调整标记方向,并使其指向相同的方向。