J'ai une base de données intégrée dans mon application qui a toutes les Latitude et Longitude de certains points intéressés et j'ai besoin de connaître ma distance de ces points (obtenir ma position en utilisant le GPS). Mon problème est le suivant: je viens de me rendre compte que SQLite ne peut pas calculer la distance en utilisant la requête que j'ai car elle ne calcule pas les fonctions de trigonométrie (SIN, COS ...). J'essayais d'éviter de calculer ces distances par programmation en utilisant cette requête:IPhone - distance SQLite par Latitude et Longitude
NSLog(@"SELECT ((ACOS(SIN(%@ * PI()/180) * SIN(lat * PI()/180) + COS(%@ * PI()/180) * COS(lat * PI()/180) * COS((%@ – lon) * PI()/180)) * 180/PI()) * 60 * 1.1515) AS `distance` FROM `members` HAVING `distance`<=’1000′ ORDER BY `distance`", Latitude,Latitude, Longitude);
Est-ce que quelqu'un a une solution?
Cordialement!
Grand. Merci beaucoup! – Claudio
Le lien vers la réponse est vraiment très bon. Définir une fonction c appelée depuis sqlite pour calculer la distance. C'est rapide et ça marche. La seule chose que je dirais est que vous pouvez affiner votre recherche en utilisant une déclaration BETWEEN. J'utilise ceci: SELECT * FROM Emplacements WHERE lat ENTRE% f ET% f ET lon ENTRE% f ET% f ORDER BY distance (lat, lon,% f,% f) LIMIT 25 –
@KennyWinker Veuillez indiquer la valeur% f –