java - 使用半径搜索附近的物体。谷歌地图

标签 java android mysql location

我正在尝试查找距离我当前位置大约 20 米的地方。我的数据库(MySQL)中有这个地方的坐标。 我需要的是将这个坐标从数据库中取出,并以某种方式将其与我的进行比较。如果某个“pin”距离接近 20 米,则应该发生简单的 toast 通信。

首先,我需要帮助从数据库获取当前位置

我正在使用 android studio。

最佳答案

我不会给你确切的答案,但我会给你一些线索。

处理此类问题的最佳方法是让 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;
    }

关于java - 使用半径搜索附近的物体。谷歌地图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41364510/

相关文章:

android - AsyncTask 中的 OnPostExcecute 方法可以返回值吗?

android - libgdx 游戏非常高 "Maximum memory use"

php - 如何使用php从mysql表中检索数组值?

php - 在 Mysql 查询中使用分页

java - 如何生成一个介于 -1 和 1 之间的随机数?

java - 尝试列出数据库条目时应用程序崩溃

android - 如何使用来自 API 的数据填充 Gridview?

PHP 包含不适用于符号目录

java - 匹配从最后一个不在括号中的大写字母单词开始到字符串末尾的子串

java - 组织和使用应用 HATEOAS 的 API