首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在MKMapView上绘制大圆圈覆盖线

在MKMapView上绘制大圆圈覆盖线
EN

Stack Overflow用户
提问于 2011-05-24 00:19:49
回答 4查看 3.4K关注 0票数 2

我试图在MKMapView上的两个lat/lon点之间画一条伟大的圆圈线。这是一条显示为圆形(地球仪上的“直线”)的线条,并且是最好的可视化这里。事实上,这个非常奇怪的WordPress站点似乎开始准确地描述如何做到这一点,但在最初的几步之后,它突然结束了。

阅读苹果的文档我看到了

在iOS 4.0及更高版本中,您还可以使用投影地图坐标而不是区域来指定某些值。当你把地球的曲面投影到一个平面上时,你会得到一张二维的地图,其中的经线看起来是平行的。此地图上的位置和距离是使用MKMapPoint、MKMapSize和MKMapRect数据类型指定的。您可以使用这些数据类型来指定映射的可见区域和指定覆盖的位置。

我不确定如何将这个应用到一个大圆圈覆盖中。有人能帮忙吗?

EN

Stack Overflow用户

发布于 2017-05-19 16:19:02

这是游戏的后期,但值得一提的是MKGeodesicPolyline,新的自iOS 7.0,它“跟踪最短的路径沿地球表面”。

这样,创建和添加一个MKPolylineOverlay类型的测地线就变得简单了。

代码语言:javascript
运行
复制
points = [CLLocationCoordinate2DMake(27.123, 85.765),
                  CLLocationCoordinate2DMake(41.444, 106.987)]
geodesic = MKGeodesicPolyline(coordinates: points, count: 2)
mapView.add(geodesic)

请记住包括呈现器,并给mapView一个委托:

代码语言:javascript
运行
复制
//MARK: - MKMapView Delegate Method
func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer {
    if overlay is MKGeodesicPolyline {
        let polylineRenderer = MKPolylineRenderer(overlay: overlay)
        polylineRenderer.strokeColor = UIColor.white
        polylineRenderer.lineWidth = 2.5
        return polylineRenderer
    }
}
票数 3
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6104517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档