Swift 3 / текущий CLLocation внутри MKPolygon без CGPath или Mapview
Полное раскрытие - я новичок здесь, но я все перерыл и не могу разобрать, что мне нужно. Я нахожусь в точке, где Google возвращает только фиолетовые ссылки.
Есть ли способ проверить текущее значение CLLocation пользователя по нескольким MKPolygon без использования MapView? В основном только на заднем плане, пока широта / долгота не окажется внутри MKPolygon, затем верните BOOL.
Вот что у меня сейчас.
var points: [CLLocationCoordinate2D] = [CLLocationCoordinate2D]()
points.append(CLLocationCoordinate2DMake(43.8138, -78.8884))
points.append(CLLocationCoordinate2DMake(43.8074, -78.8768))
points.append(CLLocationCoordinate2DMake(43.8130, -78.8688))
points.append(CLLocationCoordinate2DMake(43.8210, -78.8806))
let zoneA: MKPolygon = MKPolygon(coordinates: &points, count: 4)
let point1 = CLLocationCoordinate2D(latitude: 43.8146, longitude: -78.8784)
func contained(by vertices: [CLLocationCoordinate2D]) -> Bool {
let path = CGMutablePath()
for vertex in vertices {
if path.isEmpty
{
path.move(to: CGPoint(x: vertex.longitude, y: vertex.latitude))
}
else
{
path.addLine(to: CGPoint(x: vertex.longitude, y: vertex.latitude))
}
}
let point = CGPoint(x: 43.7146, y: -78.8784)
return path.contains(point)
}