Как создать ограничивающий прямоугольник для геолокации

Я хочу создать ограничительную рамку для геолокации в 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;

Изменить: я только что понял, запрос был на Свифт. Я оставлю перевод в качестве упражнения для бонусных баллов.

Другие вопросы по тегам