iPhone 3G: Como mostrar locais em torno de um ponto fixo?
-
08-07-2019 - |
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)
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 .