У меня есть область координат, которую я определил, содержит пределы того, что я хочу показать для своего приложения. Я установил это как MKCoordinateRegion с центральной точкой lat, долготой и диапазоном. Как определить, находится ли текущий userLocation внутри моего координатного региона?Как определить, находится ли текущее местоположение пользователя внутри моего MKCoordinateRegion?
ответ
Использование карт прямоугольников. Вот пример использования текущего видимого прямоугольника карты. Что касается вашего вопроса, вы можете использовать convertRegion:toRectToView:
, чтобы сначала конвертировать свой регион в MKMapRect
.
MKMapPoint userPoint = MKMapPointForCoordinate(mapView.userLocation.location.coordinate);
MKMapRect mapRect = mapView.visibleMapRect;
BOOL inside = MKMapRectContainsPoint(mapRect, userPoint);
Существует простое решение, чтобы решить, если точка находится внутри области, если площадь дается многоугольник с использованием алгоритма луч литья: Смотрите здесь http://en.wikipedia.org/wiki/Point_in_polygon
В качестве отправной точки использовать место гарантированно будет вне ваш регион, например (географический) северный полюс.
Я действительно искал что-то в MapKit, что будет делать работу за меня! –
Swift 3 вариант ответа firstresponder «s:
let userPoint = MKMapPointForCoordinate(mapView.userLocation.coordinate)
let mapRect = mapView.visibleMapRect
let inside = MKMapRectContainsPoint(mapRect, userPoint)
Практически то же самое. Этот API еще не был Swift-ified (т. Е. Обновлен в соответствии с руководящими принципами разработки Swift API). Это действительно должно быть ...
let userPoint = mapView.userLocation.coordinate.mapPoint
let inside = mapView.visibleMapRect.contains(userPoint)
- 1. Как определить, находится ли текущее местоположение внутри области с CoreLocation
- 2. Как увеличить текущее местоположение пользователя?
- 3. Swift 2 - текущее местоположение пользователя находится внутри MKPolygon
- 4. Проверьте, находится ли местоположение пользователя внутри формы.
- 5. MapKit увеличить текущее местоположение пользователя
- 6. Как определить текущее местоположение пользователя на пути GPS?
- 7. Получить текущее местоположение пользователя
- 8. Текущее местоположение пользователя?
- 9. Javascript - Определить, находится ли текущее местоположение пользователя в слое KML на картах Google
- 10. Как получить текущее местоположение пользователя
- 11. Positing текущее местоположение пользователя
- 12. Показать текущее местоположение пользователя на карте
- 13. Как показать текущее местоположение пользователя при открытии моего приложения
- 14. Как определить точное местоположение пользователя?
- 15. Как определить местоположение пользователя?
- 16. Текущее местоположение пользователя не загружается
- 17. Как показать текущее местоположение пользователя - GPS
- 18. Как центрировать текущее местоположение пользователя avtar в ios
- 19. Как получить текущее местоположение моего устройства
- 20. Как узнать, находится ли текущее местоположение близко к маркеру? - Android
- 21. select2: Проверить текущее местоположение пользователя
- 22. Получить текущее местоположение пользователя android
- 23. Увеличьте текущее местоположение пользователя на MapView без ограничения прокрутки?
- 24. Как получить текущее местоположение пользователя WOEID
- 25. Как получить текущее местоположение пользователя в Java?
- 26. Swift MapView Stuck Around Текущее местоположение пользователя
- 27. Текущее местоположение объекта внутри UIScrollView
- 28. Получить текущее местоположение пользователя и определить его на Google maps
- 29. Как сохранить текущее местоположение пользователя \ рабочего стола
- 30. Как получить текущее местоположение пользователя в симуляторе в iphone sdk?
Ха, смешно, чтобы получить ответ так много позже! Спасибо, хороший ответ, поэтому я пойду дальше и дам вам знак - convertRegion: toRectToView - это то, чего мне не хватало. –