ios5 - solicitar - ¿Cómo determino si la ubicación actual del usuario está dentro de mi MKCoordinateRegion?
solicitar permiso de ubicacion javascript (3)
Hay una solución simple para decidir si un punto está dentro de su área si el área está dada por un polígono usando el algoritmo de fundición de rayos: Consulte aquí http://en.wikipedia.org/wiki/Point_in_polygon
Como punto de partida, use una ubicación garantizada que se encuentre fuera de su región, por ejemplo, el polo norte (geográfico).
Tengo una región de coordenadas que he determinado que contiene los límites de lo que quiero mostrar para mi aplicación. Lo he configurado como una MKCoordinateRegion con punto central latitud, longitud y un lapso. ¿Cómo determino si el userLocation actual está dentro de mi región de coordenadas?
Usa el mapa de rects. Aquí hay un ejemplo usando el rect visible actual del mapa. Con respecto a su pregunta, puede usar convertRegion:toRectToView:
primero convierta su región a MKMapRect
antemano.
MKMapPoint userPoint = MKMapPointForCoordinate(mapView.userLocation.location.coordinate);
MKMapRect mapRect = mapView.visibleMapRect;
BOOL inside = MKMapRectContainsPoint(mapRect, userPoint);
Swift 3 versión de la respuesta del primer respondedor:
let userPoint = MKMapPointForCoordinate(mapView.userLocation.coordinate)
let mapRect = mapView.visibleMapRect
let inside = MKMapRectContainsPoint(mapRect, userPoint)
Prácticamente lo mismo. Esta API no se ha actualizado rápidamente (es decir, se actualizó para cumplir con las pautas de diseño de la API Swift). Realmente debería ser ...
let userPoint = mapView.userLocation.coordinate.mapPoint
let inside = mapView.visibleMapRect.contains(userPoint)