我在地图中添加了多个叠加层。当我尝试放大/缩小时,我遇到了这个问题:
MKPolylineCreatePathWithPoints + 44
frame #1: 0x000000010b56e839 MapKit
- [MKPolylineRenderer drawMapRect:zoomScale:inContext:] + 147
帧#2:0x000000010b56a5a2 MapKit __47-[MKOverlayRenderer overlay:drawKey:inContext:]_block_invoke + 670
frame #3: 0x000000010b56a661 MapKit
_ worldsForBounds28687 + 58
帧#4:0x000000010b56a2e9 MapKit -[MKOverlayRenderer overlay:drawKey:inContext:] + 307
frame #5: 0x0000000116542bf9 VectorKit
__ 40- [VKRasterOverlayTileSource _queueDraw:] _ block_invoke + 441
帧#6:0x000000010e463e5d libdispatch.dylib _dispatch_call_block_and_release + 12
frame #7: 0x000000010e48449b libdispatch.dylib
_ dispatch_client_callout + 8
帧#8:0x000000010e46cbef libdispatch.dylib _dispatch_root_queue_drain + 1829
frame #9: 0x000000010e46c4c5 libdispatch.dylib
_ dispatch_worker_thread3 + 111
第10帧:0x000000010e7bc68f libsystem_pthread.dylib _pthread_wqthread + 1129
frame #11: 0x000000010e7ba365 libsystem_pthread.dylib
start_wqthread + 13 可能是什么问题?我的代码如下。
代码:
public func mapView(mapView: MKMapView, rendererForOverlay overlay: MKOverlay) -> MKOverlayRenderer {
var overlaysArch : Dictionary<MKPolygon, MKCircleRenderer> = Dictionary<MKPolygon, MKCircleRenderer>();
let az = arrayAz?.first
let azSize = arrayAz?.count
_ = names?.first
_ = 0
if (azSize != 0 && names?.count != 0) {
if (overlay.isKindOfClass(MKPolygon)) {
let path = mapDrawPolygon.drawArch(az!);
let polygon = MKCircleRenderer(overlay: overlay)
polygon.path = path
polygon.overlay.title
let over : CustomOverlay = overlay as! CustomOverlay;
overlaysArch[over] = polygon;
return polygon
}
}
return MKPolylineRenderer()
}