我正在开展一个项目,我需要在地图上移动我的GMSMarker,就像超级应用程序一样。我在十字路口面临的问题是我需要在道路尽头改变航向和轴承(旋转)。
我希望我的标记应该像:
我使用以下代码行将标记从位置P1移动到P2,但是它给出了直接距离(紫色路径)。如何找到中间坐标,即会合点以及从P1到顶点(会合点)的距离,我需要在P2方向上转动汽车标记
func animateCarMovementonMapWithMarker() {
let bearing: Double = self.getHeadingForDirectionFromCoordinate(Last_Location, toCoordinate: Current_Location)
let p1: MKMapPoint = MKMapPointForCoordinate(self.Last_Location)
let p2: MKMapPoint = MKMapPointForCoordinate(self.Current_Location)
let dist: CLLocationDistance = MKMetersBetweenMapPoints(p1, p2)
CATransaction.begin()
CATransaction.setAnimationDuration(6.0)
self.carMarker.position = self.Last_Location
self.carMarker.position = self.Current_Location
self.carMarker.rotation = bearing
CATransaction.commit()
self.driver_Last_Location = self.Current_Location
}
我每隔" 6秒"
获得位置更新{{1}}