首页 > 解决方案 > 如何找到 MGLPolyline 中的最后一个坐标?

问题描述

我有一些代码应该在 MGLPolyline 中找到第一个和最后一个坐标。目前,我能够找到第一个值和中间值,但无法找到最后一个值。贝娄是我的代码。在其中,您可以看到我是如何找到第一个和中间坐标的。

var arrayOfCoordinates = [CLLocationCoordinate2D]()
var arrayOfPolylines = [MGLPolyline]()


 for value in arrayOfPolylines {
        mapView.addAnnotation(value)

        //This is for the first and last snakehead and tail stuff
        let lastLoc = value.coordinate.latitude
        let newLoc = value.coordinate.longitude

        let firstCor = value.coordinates[0].latitude
        let secondCor = value.coordinates[0].longitude
       ...

我尝试了以下方法来查找值:

value.coordinates[value.coordinates.count] //This does not compile as it says 

“UnsafeMutablePointer”类型的值没有成员“count”

所以我的问题是如何找到最后一个值(坐标)?

标签: iosarraysswiftmapbox

解决方案


好吧,您的代码不适用于此。使用当前代码,您将无法轻松找到最后一个值,您必须执行数学过程来确定坐标计数,然后检查 for 循环是否已运行足够的时间以到达最后一个坐标。

但更简单的方法是创建一个数组CLLocation,然后您可以使用以下代码访问该数组:

            let lastLoc = self.arrayOfLocationList.last //last value here
            let newLoc = self.arrayOfLocationList.first

推荐阅读