如何在mapbox map中使用动画移动注释?

时间:2017-09-21 06:16:00

标签: ios swift mapbox

我在iOS应用中使用mapbox地图。我使用此类 MGLPointAnnotation 在mapbox地图中添加了注释。

现在问题是我无法改变它的位置。这就是我改变注释位置的方法。但它没有动。我需要删除第一个旧版本并再次添加新注释但我不想这样做。请让我知道我该怎么做。

// Optionally set a starting point.
bMbMapView.setCenter(cord, zoomLevel: 7, direction: bearing, animated: true)     
bMbMapView.setDirection(bearing, animated: true)

// Create a camera that rotates around the same center point, rotating 180°.
// `fromDistance:` is meters above mean sea level that an eye would have to be in order to see what the map view is showing.
let camera = MGLMapCamera(lookingAtCenter: cord, fromDistance: 1000, pitch: 7, heading: 90)

 // Animate the camera movement over 5 seconds.
 bMbMapView.setCamera(camera, withDuration: 1, animationTimingFunction: CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)) 

我想要在平滑动画的位置更改注释时移动注释。

当位置发生变化时,我会用相机改变我的地图集地图的中心。让我知道我做对与否。

class Question(models.Model):
....

1 个答案:

答案 0 :(得分:0)

MGLAnnotationView是一个UIView,因此您应该能够使用Core Animation动画更改:https://github.com/mapbox/mapbox-gl-native/issues/8378#issuecomment-287910768

另一种选择是使用样式源和图层,然后使用计时器更新源。这可能不如使用动画注释视图那么平滑。