Questa è la prima volta che faccio una domanda qui, ma ho trovato molto aiuto dalle domande degli altri.Ordine degli oggetti CLLocation in -distanceFromLocation:
La mia domanda si riferisce alla funzione -distanceFromLocation:
in CLLocation
. Avevo pensato che trovare la distanza tra il punto A e il punto B sarebbe lo stesso di quello tra il punto B e il punto A, ma ho scoperto che non lo è. Ho testato questo in un caso molto semplice:
CLLocation *test1 = [[CLLocation alloc] initWithLatitude:37.529530 longitude:-122.259232];
CLLocation *test2 = [[CLLocation alloc] initWithLatitude:47.900002 longitude:-103.495102];
NSLog(@"%f vs %f",[test2 distanceFromLocation:test1],[test1 distanceFromLocation:test2]);
[test1 release];
[test2 release];
L'uscita di questo era 1907269,942,754 mila vs 1908105,959,114 mila, con una differenza di quasi 900 metri.
Anche se 900 metri possono essere una piccola percentuale, sto provando a determinare se l'utente è più vicino a qualcosa di un'annotazione e 900 metri possono cambiarlo.
La mia domanda è, quale di questi valori, se presente, è corretto? Inoltre, se il luogo in cui sono confrontato è importante, è necessario testare sempre la stessa posizione (ad esempio, da utente a destinazione e annotazione a destinazione anziché destinazione per utente e annotazione a destinazione)?
Spiacente che il campione sia un po 'fuori contesto, dato che il mio progetto è piuttosto grande e questo illustra il mio problema. Qualsiasi aiuto sarebbe apprezzato in quanto ciò mi ha causato un po 'di confusione e frustrazione.