Работаю с движком spritekit и столкнулся со следующей проблемой. Мне нужно нарисовать маршрут на карте, для этого я делаю массив точек, и методом CGPathAddLines
создаю путь для массива. Все работало нормально, пока я не попытался построить маршрут между двумя удаленными точками на карте. Путь этого маршрута не отображается.
Я стал разбираться с проблемой. Я получаю ограничивающую рамку моего пути с помощью CGPathGetBoundingBox
и заметил, что маршрут не рисуется каждый раз, когда ширина его прямоугольника превышает 2005 пикселей. Я знаю, это звучит странно, но в моем случае это действительно так. Ниже той части кода, которая используется для создания и отображения пути:
var pathToDraw = CGPathCreateMutable()
let pathPoints = generatePathPoints()
CGPathAddLines(pathToDraw, nil, pathPoints, pathPoints.count)
var shapeNode = SKShapeNode()
shapeNode.path = pathToDraw
shapeNode.lineWidth = 10
shapeNode.strokeColor = UIColor.blueColor()
var effectNode = SKEffectNode()
effectNode.addChild(shapeNode)
mapNode.addChild(effectNode)
generatePathPoints
- возврат функции [CGPoint]
mapNode
- объект типа SKSpriteNode
Может я что-то не так делаю или это ограничение CGPath
которого я не знаю?