2016-12-28 2 views
0

Я пытаюсь найти места, которые находятся примерно в 20 метрах от моего текущего местоположения. У меня есть координаты этих мест в моей базе данных (MySQL). Мне нужно, чтобы эти координаты были выведены из базы данных и каким-то образом сопоставлялись с моими. Если определенный «штырь» ближе к 20 метрам, то должны произойти простые тосты.Поиск объектов поблизости радиусом. Google maps

Во-первых, мне нужна помощь с получением текущего местоположения из базы данных

Я использую андроид студии.

+0

_getting текущее местоположение database_? – Blackkara

+1

IMHO, получите свое текущее местоположение на устройстве, затем отправьте на сервер и, наконец, получите рассчитанный набор результатов (места в 20 м вокруг вас) – Blackkara

+0

получение местоположения этих мест, которые уже находятся в базе данных –

ответ

0

Я не даю вам точного ответа, но я дам вам несколько подсказок.

Лучший способ передать этот тип проблемы - позволить sql делать магию и возвращать результаты в зависимости от радиуса и координат.

Вот пример SQL-запрос

public function gettemples($latitude, $longitude, $distance, $templetype, $limitno){ 
     $this->connect(); 
     // $query = "SELECT * FROM temples"; 

     $query = "SELECT *, (6371 * acos(cos(radians(".$latitude.")) * cos(radians(latitude)) * 
      cos(radians(longitude) - radians(".$longitude.")) + sin(radians(".$latitude.")) * 
      sin(radians(latitude)))) AS distance FROM temples HAVING 
      distance < ".$distance." ORDER BY distance LIMIT 0 , ".$limitno.""; 
       $stmt = $this->connection->prepare($query); 
       $result = $stmt->execute(); 
       $results = $stmt->fetchAll(PDO::FETCH_ASSOC); 
       return $results; 
    } 
Смежные вопросы