2017-09-21 84 views
1

我在我的iOS應用中使用了mapbox地圖。我通過使用這個類MGLPointAnnotation在地圖框地圖中添加了註釋。如何在mapbox地圖中使用動畫移動註釋?

現在的問題是我無法改變它的位置。這是我如何更改註釋位置。但它並沒有動。我需要刪除第一個舊的,再次需要添加新的註釋,但我不想這樣做。請讓我知道我該怎麼做。

car.coordinate = CLLocationCoordinate2D(latitude: lat, longitude: lng) 

我想補充說明的移動位置時,與流暢的動畫效果註釋的改變。

此外,當位置發生變化時,我正在使用相機更改地圖箱地圖的中心位置。讓我知道我做對了還是不對。

// 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)) 

回答

0

一個MGLAnnotationView是一個UIView,所以你應該能夠與核心動畫以動畫的變化:https://github.com/mapbox/mapbox-gl-native/issues/8378#issuecomment-287910768

另一種選擇是使用樣式源層,然後更新使用定時器源。這可能會比使用動畫註釋視圖更不流暢。

+0

但問題是通過設置新座標,註釋位置不變。我的對象已經來自MGLPointAnnotation的子類。有什麼錯我在做什麼? –

相關問題