Tengo una base de datos Core Data con propiedades de latitud y longitud. ¿Hay alguna manera de utilizar el método getDistanceFrom:
de Core Location para encontrar las cinco ubicaciones más cercanas a un CLLocation
obtenidas del GPS? ¿Tengo que cargar todos los objetos usando Core Data y analizarlos, usando getDistanceFrom:
en cada uno o hay una manera más fácil?Datos principales y ubicación principal
Respuesta
que tendrá que recorrer una por una; por lo que sé, no hay otra manera de hacerlo.
Sin embargo, puede hacer que esto sea más eficiente al usar un cuadro delimitador cuando obtiene los elementos de los datos centrales, esto reducirá la cantidad de objetos que se devolverán.
es decir, algo así como
float latMax = wantedLat + 1;
float latMin = wantedLat - 1;
float lngMax = wantedLng + 1;
float lngMin = wantedLng - 1;
NSPredicate *predicate = [NSPredicate
predicateWithFormat:@"lat > %f and lat < %f and lng > %f and lng < %f",
latMin, latMax, lngMin, lngMax];
Aunque, dependiendo de la cantidad de datos que tiene y cómo de cerca está espaciada, tendrá que utilizar un número diferente de 1!
Sam
PS Además, no he tenido en cuenta el hecho de que los abrigos de longitud!
No puede usar CoreData para encontrar el objeto más cercano, pero puede querer restringir la consulta utilizando un cuadro delimitador. Para encontrar el objeto más cercano, quizás prefiera usar simplemente la diferencia en lat/long, que es considerablemente más rápido que calcular las distancias reales.
que tenía una pregunta similar:
Gracias por el enlace. –
El siguiente ejemplo es casi lo que está buscando. Utiliza una función SQLite para calcular la distancia en la cláusula ORDER BY (fórmula Haversine). El problema es que este ejemplo no usa Core-Data, sino la API de SQLite directamente.
- 1. Entidad principal y relación en los datos principales
- 2. iPhone: Prueba de aplicación y ubicación principal
- 3. Datos principales frente a Sqlite y rendimiento
- 4. Clave primaria de datos principales
- 5. Datos principales en Android
- 6. datos principales: la identificación de la clave principal de una fila en la base de datos
- 7. Objetos gestionados de datos principales con métodos y datos adicionales
- 8. Datos principales: cómo generar CoreDataGeneratedAccessors?
- 9. Deshacer las inserciones de datos principales que se realizan fuera del hilo principal
- 10. Datos principales: observe los cambios y registre las notificaciones locales
- 11. iPhone y datos principales: ¿se ha eliminado NSManagedObject?
- 12. NSNumberFormatter 0 y decimales principales
- 13. Principales estructuras de datos de JavaScript
- 14. Optimización de búsqueda de datos principales
- 15. Datos principales frente a SQLite 3
- 16. Datos principales de iPhone insertando objetos nuevos
- 17. Datos principales: UITableView con múltiples NSFetchedResultControllers
- 18. iPhone - Agregar datos principales al proyecto existente?
- 19. Datos principales con almacenamiento en memoria
- 20. Limitaciones de datos principales para iOS
- 21. Datos principales; Error de cacao 134100
- 22. IntelliJ Idea abre los menús contextuales principales y autocompleta en la pantalla principal solamente
- 23. Datos principales: Obtener todas las entidades
- 24. datos principales en una biblioteca estática para el iPhone
- 25. Datos perdidos cuando relanzo la aplicación (Datos principales)
- 26. Análisis de componentes principales en color de datos R
- 27. Usar índices principales y delta en sphinx
- 28. Sincronización de subproceso de contexto de objeto gestionado Datos principales
- 29. Enormes (20 dígitos) Claves principales y SQLite
- 30. ¿Cómo se espera hasta que la ubicación se encuentre por completo? (Ubicación principal)
Parece un código útil, gracias. –
Gracias por esto, he usado algo similar en mi aplicación. ¡Pero me parece que ambos conjuntos de < and > están en el camino equivocado ahora! – iPhoneDollaraire
Tienes razón, ¡Uy! – deanWombourne