Swift:只删除一个MKPolyline

Swift:只删除一个MKPolyline,第1张

概述我在地图上有两条折线: var polylineRoute : MKGeodesicPolyline! var polylineFlight : MKGeodesicPolyline! 我为每个人分配了一个标题,并将它们添加到地图中(使用不同的方法): let polyline = MKGeodesicPolyline(coordinates: &routeCoordinates, count 我在地图上有两条折线:

var polylineRoute : MKGeodesicpolyline!  var polylineFlight : MKGeodesicpolyline!

我为每个人分配了一个标题,并将它们添加到地图中(使用不同的方法):

let polyline = MKGeodesicpolyline(coordinates: &routeCoordinates,count: routeCoordinates.count)  polyline.Title = "route"  self.mapVIEw.addOverlay(polyline)  self.polylineRoute = polyline

let polyline = MKGeodesicpolyline(coordinates: &routeCoordinates,count: routeCoordinates.count)  polyline.Title = "flight"  self.mapVIEw.addOverlay(polyline)  self.polylineFlight = polyline

现在,当触发特定 *** 作时,我只想删除航班覆盖,并保持路线覆盖不变.

这根本不起作用:

func removeFlightPath()      {          self.mapVIEw.removeOverlay(self.polylineFlight)          self.polylineFlight = nil      }

以下工作但删除了两条折线:

func removeFlightPath()  {          var overlays = mapVIEw.overlays          mapVIEw.removeOverlays(overlays)  }

有没有办法只删除一条折线?我搜索了论坛,只有一个回复说可以使用标题.但是,它没有具体说明如何完成.

非常感谢!

编辑:

这解决了这个问题:

func removeFlightPath()    {        if self.polylineFlight != nil        {            // Overlays that must be removed from the map            var overlaysToRemove = [MKOverlay]()            // All overlays on the map            let overlays = self.mapVIEw.overlays            for overlay in overlays            {                if overlay.Title! == "flight"                {                    overlaysToRemove.append(overlay)                }            }            self.mapVIEw.removeOverlays(overlaysToRemove)        }    }
解决方法 我认为你的源代码是正确的.可能是引用计数搞乱了.只要引用该对象,就不会删除MKGeodesicpolyline.在代码中,您使用局部变量来创建折线对象.我没有使用局部变量尝试它,它正在删除折线.

self.polylineFlight = MKGeodesicpolyline(coordinates: &routeCoordinates,count: routeCoordinates.count)  self.polylineFlight.Title = "flight"
总结

以上是内存溢出为你收集整理的Swift:只删除一个MKPolyline全部内容,希望文章能够帮你解决Swift:只删除一个MKPolyline所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1003907.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-22
下一篇2022-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存