但是当我尝试导航并显示“MKRoutepolyline”时,这个应用程序崩溃了
interiorpolygons:发送到实例0x14ed4b4d0的无法识别的选择器“
我的代码怎么了?
import UIKitimport MapKitclass MapVIEwController: UIVIEwController,MKMapVIEwDelegate {var farm:Farm!var currentPlacemark:CLPlacemark?let locationManager = CLLocationManager()var currentTransportType = MKDirectionsTransportType.automobilevar currentRoute:MKRoute?@IBOutlet var mapVIEw:MKMapVIEw!@IBAction func showDirection(sender: AnyObject){ let directionRequest = MKDirectionsRequest() directionRequest.source = MKMAPItem.mAPItemForCurrentLocation() let destinationPlacemark = MKPlacemark(placemark: currentPlacemark!) directionRequest.destination = MKMAPItem(placemark: destinationPlacemark) directionRequest.transportType = currentTransportType let directions = MKDirections(request: directionRequest) directions.calculateDirectionsWithCompletionHandler { (routeResponse,routeError) -> VoID in guard let routeResponse = routeResponse else { if let routeError = routeError { print("Error: \(routeError)") } return } let route = routeResponse.routes[0] self.currentRoute = route self.mapVIEw.removeOverlays(self.mapVIEw.overlays) self.mapVIEw.addOverlay(route.polyline,level: MKOverlayLevel.AboveRoads) }}func mapVIEw(mapVIEw: MKMapVIEw,rendererForOverlay overlay: MKOverlay) -> MKOverlayRenderer { let renderer = mkpolygonrenderer(overlay: overlay) renderer.strokecolor = UIcolor.yellowcolor() renderer.linewidth = 3.0 return renderer}解决方法 看来你想渲染一条线.
但多边形是一种形状
所以你的代码应该是:
let renderer = MKpolylineRenderer(overlay: overlay)
但不是:
let renderer = mkpolygonrenderer(overlay: overlay)
在
func mapVIEw(mapVIEw: MKMapVIEw,rendererForOverlay overlay: MKOverlay) -> MKOverlayRenderer总结
以上是内存溢出为你收集整理的ios – SWIFT Mapview MKRoutePolyline interiorPolygons:无法识别的选择器发送到实例0x14ed4b4d0全部内容,希望文章能够帮你解决ios – SWIFT Mapview MKRoutePolyline interiorPolygons:无法识别的选择器发送到实例0x14ed4b4d0所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)