[英]How to make marker be attached to the ground in Mapbox Android SDK?
我正在使用最新的Mapbox Android SDK,并尝试在地图上显示要运输的标记。 有一个isFlat
标志,指示标记应与地面平行。 但是,当我旋转地图时,标记不会与地面一起旋转,例如,如果我将旋转角度设置为使标记朝北,则在用户旋转地图后,标记将不会旋转,并且将不再指向向北。 此行为与我之前使用的Google Maps SDK不同。
我必须在每个相机更新事件(相机旋转更改时)上手动重新调整标记的旋转。 问题是如何固定标记器的位置,使其贴在地面上并与其一起旋转?
尽管我们还没有实现任何锚定来使标记指向特定的地图方向,但目前最好的解决方案是在地图上添加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);
}
});
每次地图旋转时,这都应调整标记的方向,并使其指向同一方向。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.