javascript - 获取给定半径内以及给定纬度和经度(以米为单位)的纬度和经度

标签 javascript mysql angular google-maps google-maps-api-3

我试图从给定的纬度和经度获取一些米范围内的所有可能的纬度和经度。以下是我找到的MySQL查询。但下一个是以 KM 为单位检查距离。我想要以米为单位。有人可以帮助如何修改查询,以便我直接在某些米内而不是公里内吗?

SELECT id, location_name,
(6371 * acos( cos( radians(@myLat) ) * cos( radians(latitude) ) * cos( radians(longitude) - radians(@myLng)) + sin(radians(@myLat)) * sin(radians(latitude)) )) as distance FROM sample.locations 
HAVING distance <= 50

这里的 50 是公里而不是米。如何以米为单位?我不能总是在此查询中将米转换为 KM,因为我的数据以米为单位。有人可以帮忙吗?

最佳答案

6371 是以公里为单位的地球半径。将其更改为米。 来自 wikipedia

For Earth, the mean radius is 6,371.0088 km (3,958.7613 mi).[16]

6,371.0088 公里 = 6,371,008.8 米

SELECT id, location_name,
(6371008.8 * acos( cos( radians(@myLat) ) * cos( radians(latitude) ) * cos( radians(longitude) - radians(@myLng)) + sin(radians(@myLat)) * sin(radians(latitude)) )) as distance FROM sample.locations 
HAVING distance <= 50

关于javascript - 获取给定半径内以及给定纬度和经度(以米为单位)的纬度和经度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50369466/

相关文章:

javascript - CoffeeScript 不适用于 Rails 4 应用程序中的下拉菜单

javascript - 如何挂接套件 :start/end with Buster. js?

javascript - echarts legend.itemGap 仅适用于 gulp browser-sync

php - MySql如何在1个查询中选择具有2个不同where条件的总和列

mysql - 加密已经在 mysql 表中的数据

Angular 2 - 如何在使用 webpack 进行测试时将 scss 与 bootstrap 4 结合使用

javascript - 在计时器和 post ajax 请求之间传递对象(匿名函数)

mysql - 如何从两个表中进行选择?

angular - 如何在 Angular Universal 中导入 Material Module 或 NgxBootstrap?

angular - 不使用移动设备时如何禁用自定义 Angular/Ionic 页面转换