我需要画线来演示苹果地图上的货物运输。为了澄清起点和终点,我在目标side.The箭头上画了一个小箭头,分别绘制,但在一个情况下是相反的。
>-->-->-->- 而不是
<--<--<--<-我正在使用MKMapView和MKPolyline绘制线。我使用MKOverlay添加方向箭头。我遵循的步骤是,

当试图在mapView.setVisibleMapRect中显示具有这两个位置的区域时,不会显示这些区域,地图视图尝试显示从悉尼(澳大利亚)到丹佛(美国)通过亚洲和欧洲开始的区域,而应该显示我在上面附加的地图区域。如果你有优化的建议,可以随意提出来。
我认为这可能是因为,方向应该沿着红线计算,但它是沿着绿线计算的。这两条线是通过连接地图中相同的位置坐标来绘制的。有什么解决办法吗?

发布于 2018-05-30 11:56:45
我把坐标转换成CGPoint,然后计算点间的方位,这样就解决了这个问题。
let destinationPoint = mapView.convert(destination, toPointTo: nil)
let sourcePoint = mapView.convert(source, toPointTo: nil)
let bearing = atan2(sourcePoint.y - destinationPoint.y, sourcePoint.x - destinationPoint.x) - .pi警告:当地图旋转时,此计算将出错
https://stackoverflow.com/questions/50447459
复制相似问题