Как создать ограничивающий прямоугольник для геолокации
Я хочу создать ограничительную рамку для геолокации в Swift, которая возвращает мне (minY maxY minX maxX) Есть ли функция для этого в Swift?
1 ответ
Решение
У iOS нет идеи ограничительной рамки, но у нее есть регион struct
называется MKCoordinateRegion
,
MKCoordinateRegion
содержит две вещи:
CLLocationCoordinate2D center;
MKCoordinateSpan span;
Оба structs
, span
содержит высоту и ширину области. Используя их, вы можете сделать ограничительную рамку ( отсюда)
CLLocationCoordinate2D centerCoord = CLLocationCoordinate2DMake(41.145495, −73.994901);
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(centerCoord, 2000, 2000);
double latMin = region.center.latitude - .5 * startRegion.span.latitudeDelta;
double latMax = region.center.latitude + .5 * startRegion.span.latitudeDelta;
double lonMin = region.center.longitude - .5 * startRegion.span.longitudeDelta;
double lonMax = region.center.longitude + .5 * startRegion.span.longitudeDelta;
Изменить: я только что понял, запрос был на Свифт. Я оставлю перевод в качестве упражнения для бонусных баллов.