使用 MySQL 空间数据获取 Google 地图上最近的地点

2024-01-08

我有一个数据库,其中包含商店列表以及每个商店的纬度和经度。因此,根据我输入的当前(纬度、经度)位置,我想获取某个半径(如 1 公里、5 公里等)内的项目列表?

算法应该是什么?我需要算法本身的 PHP 代码。


您只需要使用以下查询。

例如,您输入纬度和经度 37 和 -122(以度为单位)。您想要搜索距离当前给定纬度和经度 25 英里以内的用户。

SELECT item1, item2, 
    ( 3959 * acos( cos( radians(37) ) 
                   * cos( radians( lat ) ) 
                   * cos( radians( lng ) 
                       - radians(-122) ) 
                   + sin( radians(37) ) 
                   * sin( radians( lat ) ) 
                 )
   ) AS distance 
FROM geocodeTable 
HAVING distance < 25 
ORDER BY distance LIMIT 0 , 20;

如果您想要以公里为单位的搜索距离,请在上面的查询中将 3959 替换为 6371。

您也可以这样做:

  1. 选择所有纬度和经度

  2. 然后计算每条记录的距离。

  3. 上述过程可以通过多重重定向来完成。

为了优化查询,您可以使用存储过程。

And this http://www.arubin.org/files/geo_search.pdf也可以帮助你。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 MySQL 空间数据获取 Google 地图上最近的地点 的相关文章

  • 如何移动 Zend_Layout 的“视图”

    通常它会是这样的结构 application modules somemodule views scripts index index phtml 我如何将其移动到 application templates somemodule temp
  • 如何显示 PHP 对象

    我有这样的代码 dataRecord1 client gt GetRecord token table filter echo pre print r dataRecord1 echo pre foreach dataRecord1 gt
  • 如何改进 PHP 分页算法?

    我正在研究 PHP 中的分页算法 我可以猜测它需要改进的空间 所以我想对如何改进它有一些想法 无论是从 UI UX 的角度清理代码本身 还是你能想到的任何其他东西 该算法应输出如下所示的分页 1 2 3 6 7 8 97 98 99 or
  • 使用 PHP 分割逗号分隔名称

    我的名字格式为姓氏 名字 在我的数据库中 第一个和最后一个字段都有不同的字段 我想使用 PHP 读取逗号之前的所有内容作为姓氏 以及逗号之后的所有内容作为名字 实现这一目标的最佳方法是什么 list Lastname Firstname e
  • 使用渐变填充而不是普通颜色创建标记 - Google 地图

    我正在尝试使用 Google 地图获得一个点状标记google maps SymbolPath CIRCLE 我在其中取得了成功 var dotMarkerImage path google maps SymbolPath CIRCLE f
  • 在 PHP 中使用可变变量是不好的做法吗?

    例如 一个简单的MVC类型系统 api class method使用重写为 PHP 变量 htaccess nginx conf 然后做类似的事情
  • PHP 多个 Ajax 请求:第一个请求阻止第二个请求

    我在一页上有 2 个 ajax 请求 我运行了第一个请求并单独启动了第二个请求 但第二个在第一个运行后停止工作 第一次结束后继续 第一个请求需要很长时间 大约 30 60 秒 此时我需要第二个请求来显示日志第一个请求发生的情况 我尝试使用
  • 很简单的PHP加法问题

    我想我已经关注这个问题太久了 为什么这段代码打印 no 它应该打印 yes 不是吗 我在 PHP 5 3 和 PHP 5 2 上尝试过 都打印 no See 比较浮点数 http www cygnus software com papers
  • 如何使用 PATCH 更新简单的数据库字段?

    我是 php 和 API 的新手 我正在尝试学习这些方法 但我无法执行 PATCH 或 PUT 来更新我的简单 mysql 数据库 我使用了以下代码 if isset PATCH con mysqli connect localhost r
  • 将 jQuery 与 Selenium WebDriver 结合使用 - 如何将 JSON 对象转换为 WebElement?

    我正在使用 Selenium WebDriver 我想执行 jQuery 代码来查找一些元素 我的代码如下 public function uploadGrantDoc script return itemlist grant file u
  • 从 PHP 启动守护进程

    对于网站 我需要能够启动和停止守护进程 我目前正在做的是 exec sudo etc init d daemonToStart start 守护进程已启动 但 Apache PHP 挂起 做一个ps aux透露sudo它本身变成了僵尸进程
  • PHP、PDO 和 SQLSRV 对一个 INSERT 语句执行多次

    我已经在 MySQL 和 Apache 服务器上使用 PDO 和 PHP 一段时间了 我最近的任务是将企业的旧 Web 应用程序转换为新设置 旧设置是标准 Linux Web 堆栈 Apache PHP MySQL Filezilla 新设
  • Twitch API - 无法使用 PHP 获取身份验证令牌

    stackoverflow 的成员们大家好 我不是一个喜欢寻求帮助的人 但在这种情况下 我认为这是解决我的问题的唯一方法 谷歌并没有给我太大帮助 所以 我的问题 我想使用 Twitch API 获取一些数据 听起来很容易 我希望是这样 下面
  • Symfony2 - 在自定义验证器中调用 EmailValidator

    我正在创建一个自定义验证器约束来验证 联系人 类似于 John Doe 电子邮件受保护 gt 遵循Cookbook http symfony com doc current cookbook validation custom constr
  • PHP + MySQL 队列

    我需要一个充当队列的简单表 我的 MySQL 服务器限制是我不能使用 InnoDB 表 只能使用 MyISAM 客户 工人将同时工作 他们每次都需要接受不同的工作 我的想法是执行以下操作 伪代码 job lt SELECT FROM que
  • 使用 yaml 路由描述时如何在运行时获取 Symfony2 中的路由名称?

    在这里你可以找到我的n关于 Symfony2 的第一个问题 我正在与一个分页捆绑 https github com makerlabs PagerBundle wiki使用中提供的路由名称routing yml文件 从我的角度来看 这种方法
  • 将 docker-compose.yml 中的包安装到 docker 容器中

    我是 docker 和 docker compose 的初学者 我需要你的帮助 我正在使用 docker compose 制作 PHP NGINX PostgresQL symfony 开发环境 这里是 web image nginx 1
  • Yii2 无效调用:设置只读属性

    我有一个Post具有多对多关系的模型Tags 在 Post 模型中定义 public function getTags return this gt hasMany Tags className id gt tag id gt viaTab
  • Nginx 安全链接模块不适用于 php 文件,但适用于静态文件

    我在用http nginx org en docs http ngx http secure link module html http nginx org en docs http ngx http secure link module
  • 将 Hbase 与 PHP 集成 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我已经安装了 Hbase 现在我正在寻找一些 PHP 库来将 hbase 与 PHP 集成 我尝试了 2 个库 第一个是我尝试与 th

随机推荐

  • 如何使用 Azure DocumentDB 执行 UPSERT?

    Azure DocumentDB 不支持 UPSERT 是否有合理的解决方法来实现相同的功能 使用存储过程检查文档是否存在以确定是否应该执行插入或更新是否是一种有效的策略 如果我需要批量执行数千个这样的操作怎么办 在这里为该功能投票 htt
  • Android ASync 任务 ProgressDialog 在后台线程完成之前不会显示

    我有一个 Android 活动 它从 URL 获取 RSS 提要 并使用 SAX 解析器将 XML 中的每个项目粘贴到数组中 这一切都工作正常 但正如预期的那样 需要一些时间 所以我想使用 AsyncActivity 在后台执行此操作 我的
  • Android 中的 sendStickyBroadcast 和 sendBroadcast 有什么区别

    有什么区别sendStickyBroadcast and sendBroadcast在安卓中 Android SDK 是这么说的sendStickyBroadcast http developer android com reference
  • 从 ASP.NET 应用程序将文件直接上传到 Amazon S3

    我的 ASP NET MVC 应用程序将占用大量带宽和存储空间 如何设置 ASP NET 上传页面 以便用户上传的文件将直接发送到 Amazon S3 而不使用我的 Web 服务器的存储和带宽 2016 年 2 月更新 AWS SDK 现在
  • Angular 2:使用函数生成路由链接/动态生成routerLink

    我想动态创建路线链接 我已经随页面加载了 html 但是 我需要在 URL 中使用 id 该 id 稍后可用 HTML a href Add Content to Cartoon Box a 此路由链接中的链接包含卡通盒的 id carto
  • 如何在Windows 7中控制和调节音量?

    我想在C Win Form中控制和调整Windows 7的音量 任何提示 这是如何做到的 看看这里 http www geekpedia com tutorial176 Get and set the wave sound volume h
  • 从时间戳列中选择日期范围

    目前我的表有一列用于存储日期和时间 该列的数据类型是没有时区的时间戳 所以它的值格式为 2011 09 13 11 03 44 537 我需要检索与日期有关的行 如果我使用 select from table where mdate gt
  • 如何在特定日期用 PHP 和 MySQL 发送邮件?

    我在用PHP and MySQL 我正在尝试发送邮件 但无法正常工作 我想检查两个日期并在特定日期发送邮件 if isset POST mail sub selectDate select from insurance data query
  • wordpress - 使自定义字段值可单击以便稍后检索

    我想在 WordPress 管理面板的所有帖子页面添加一个自定义列 场景是 每个帖子都有一个特色图片 当我查看管理面板中的所有帖子页面时 我有一个自定义列 即 并且每行都有值 我想单击特定行的列值以使其被选中并具有不同的外观 即粗体字体 然
  • HotJar 如何生成他们的录音?

    跟踪鼠标移动 滚动 单击事件很容易 但它们如何保存屏幕并保持同步 页面渲染得非常好 至少对于静态 HTML 页面 尚未在 Angular 或任何 SPA 上进行测试 同步几乎是完美的 要生成并上传 23fps 的屏幕录制 1920x1080
  • Snakemake 通配符:使用目录输出中的通配符文件

    我是 Snakemake 的新手 并尝试在规则中使用特定文件 来自directory 克隆 git 存储库的另一个规则的输出 目前 这给了我一个错误Wildcards in input files cannot be determined
  • Browserify 不起作用 - 为什么?

    我将以下代码浏览到bundle js 并将其包含在我的前端 在加载任何其他 js 文件之前 我浏览器化的文件就是这样的 var firebase require firebase 然后 我在前端包含的下一个文件中对该变量调用authoriz
  • 如何在 Intellij Idea 中使用自定义 sbt 版本?

    我有一个 scala sbt 项目 当我在 intellij 中打开终端并执行 sbt sbtVersion 时 我看到 0 13 8 我想使用我自己的本地安装版本 0 13 5 当我打开新的命令提示符时 我看到 sbt 版本是 0 13
  • 托管身份 - 如何在本地调试

    我正在使用以下代码在我的 Web 应用程序上测试系统托管身份 当我在 Azure 中部署时它工作正常 但有没有办法在本地进行测试 无需向我的 Azure 帐户授予该资源的权限 AzureServiceTokenProvider azureS
  • 由 NullPointerException 引起的一般错误 [50000-175]

    我在客户端 服务器模式下使用 H2 数据库 服务器运行版本为 1 3 175 客户端运行版本为 1 3 168 一切似乎工作正常 但执行一些查询时出现异常 org h2 jdbc JdbcSQLException 一般错误 java lan
  • Java中如何移动数组中的位置?

    一个简单地移动数组元素的程序 两个变量 userInputVariable and blankSpaceVariable 我有一个名为 table 的二维数组 定义为table userInputVariable 1 6 我以表格格式打印这
  • 如何在类中正确实现 Set 作为属性?

    假设我有以下示例 TDelphiIDECompatibility Delphi1 Delphi2 Delphi3 从类中 我如何将上述内容正确实现为属性 我的想法是 在我的组件中 我希望有一个字段 允许您为集合中的某些元素选择 True 或
  • 如何在重定向到另一个页面之前显示加载图像?

    我有一个要加载的图像 我正在使用 onclick 方法进行重定向 因此当有人单击 div 时 会将他们带到另一个页面 当页面重定向到另一个图像时 我如何能够加载 loading gif 图像 我真的很想使用它 因为这对用户更加友好 而且我的
  • 如何在 svg 路径中​​添加图像?

    我想将图像添加到 SVG 路径 我在某种程度上尝试过 但它是一个半生不熟的代码 并且图像没有采用正确的 SVG 形状 下面是该内容的 HTML div class top fold div class curve img div div
  • 使用 MySQL 空间数据获取 Google 地图上最近的地点

    我有一个数据库 其中包含商店列表以及每个商店的纬度和经度 因此 根据我输入的当前 纬度 经度 位置 我想获取某个半径 如 1 公里 5 公里等 内的项目列表 算法应该是什么 我需要算法本身的 PHP 代码 您只需要使用以下查询 例如 您输入