如何绘制不在道路上的路线,MKMapView

所以我一直在试验MKMapView和叠加来创建“不在道路上的道路”。 这可能听起来很奇怪,但我想要做的是在我的iOS应用程序中我想绘制特定酒店提供的游览路线,但是我发现到目前为止所有的post都集中在现有的道路上,因为游览经历了森林,河流等等。没有道路可以帮助我。

因为没有道路我不得不即兴发挥所以我决定制作一个plist(我可能也可以使用另一种类型的文件,我只是喜欢使用plist’s)来进行每次游览并在那里制作一个所有坐标和得到这些坐标与谷歌地球,但在60个不同的坐标后,我停止,因为它只是荒谬。

所以我试着创建一个脚本,当我在运行时点击地图时,写入plist的坐标。 虽然这有效但它仍然非常不舒服,因为我无法将自动创建的文件保存在Xcode项目中,并且因为它总体上并不像我希望的那样好。

所以我的问题是,如果有更容易的事情,我可能错过了如何创建不在街道上的路线。

尝试使用该站点创建gpx文件。

另请注意,Xcode仅使用标记,因此如果您找到生成基于 rte 的gpx文件的工具,Xcode将无法正确模拟您的位置。 因此,在链接网站创建的文件中,您需要将更改为 。 下面的代码可能有助于获取折线。

 func addRoute() { let thePath = NSBundle.mainBundle().pathForResource("Route", ofType: "gpx") // Not sure on this part let pointsArray = NSArray(contentsOfFile: thePath!) let pointsCount = pointsArray!.count var pointsToUse: [CLLocationCoordinate2D] = [] for i in 0...pointsCount-1 { let p = CGPointFromString(pointsArray![i] as! String) pointsToUse += [CLLocationCoordinate2DMake(CLLocationDegrees(px), CLLocationDegrees(py))] } let myPolyline = MKPolyline(coordinates: &pointsToUse, count: pointsCount) mapView.addOverlay(myPolyline) }