繁体   English   中英

如何在Mapbox Android SDK中将标记贴到地面上?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM