2016-12-28 208 views
0

我正試圖找到距離我目前位置約20米的地方。我已經在我的數據庫(MySQL)中協調了這些地方。 我需要的是將這個座標從數據庫中拿出來,並以某種方式與我的數據進行比較。如果某個「引腳」距離20米更近,則應發生簡單的吐司通信。使用半徑搜索附近的物體。谷歌地圖

首先,我需要從數據庫中獲取

當前位置

我使用過Android Studio幫助。

+0

從database_ _getting當前位置? – Blackkara

+1

恕我直言,得到您的設備上的當前位置,然後發送到服務器,並最終收到計算的結果集(20米周圍的地方) – Blackkara

+0

獲取這些地方的位置,已經在數據庫中 –

回答

0

Iam沒有給你確切的答案,但我會給你一些線索。

處理這些類型的問題的最佳方法是讓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; 
    }