Domanda

Ho la mia posizione corrente riparata tramite CoreLocation. Ora voglio ottenere quelle posizioni (da un database esistente), che si trovano nelle vicinanze (circa 100 piedi) di esso.

Come inizio?


Aggiornamento: ecco un'implementazione della formula Haversine: http://www.jaimerios.com /? p = 39 (molto utile)

È stato utile?

Soluzione

CLLocation fornisce un metodo per questo:

- (CLLocationDistance) getDistanceFrom: (const CLLocation *) posizione

Dovrai avere la latitudine e la longitudine di ciascuno dei tuoi record, quindi ordinare in base alla distanza restituita da questo metodo.

Altri suggerimenti

FTW di geometria del liceo:

dist = sqrt(pow((x2-x1), 2) + pow((y2-y1), 2))

Una delle cose che puoi fare per rendere più semplice questa query SQL è quella di dividere la mappa in "riquadri", ovvero un'area di 2 km x 2 km, in modo da poter eseguire una query fino al riquadro, quindi scorrere il risultati usando questa formula.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top