Pergunta

Eu tenho meu local atual corrigido via Corelocation. Agora eu quero obter esses locais (de um banco de dados existente), que estão próximos (cerca de 100 pés) dele.

Como faço para começar?


ATUALIZAÇÃO: Aqui está uma implementação da fórmula Haversine: http://www.jaimerios.com/?p=39 (muito útil)

Foi útil?

Solução

CLLocation fornece um método para isso:

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

Você precisará ter a latitude e a longitude de cada um de seus registros e, em seguida, classificar pela distância retornada por esse método.

Outras dicas

Geometria do ensino médio FTW:

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

Uma das coisas que você pode fazer para facilitar a consulta SQL é dividir o mapa em "azulejos", ou seja, uma área de 2 km x 2 km, para que você possa consultar o ladrilho e depois atravessar os resultados usando esta fórmula .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top