【发布时间】:2017-05-16 16:10:25
【问题描述】:
我正在尝试使用带有 MySQL 的 google geocode API 找到最近的地方,但它显示所有行的距离相同,不知道为什么我在 google provided code 中也遵循相同的步骤
SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) )
* cos( radians( lng ) - radians(-122) ) + sin( radians(37) )
* sin( radians( lat ) ) ) ) AS distance
FROM markers
HAVING distance < 25
ORDER BY distance LIMIT 0 , 20;
我发现了这个问题,这个解决方案对我有用https://github.com/rugbyprof/5443-Spatial-Database/blob/master/Mysql_Haversine_Distance.md
【问题讨论】:
-
要获得距离,您需要两个纬度和两个经度 - 起点和终点。其中一个点是硬编码的吗?
-
“不起作用”是什么意思?请明确点。你看到了什么错误?
-
我的第一个问题呢?
-
如果两个地方之间的距离是 4 公里,那么它在所有行中显示 31 公里.. 你可以按照相同的步骤检查它
标签: mysql google-places-api google-geocoder