从mysql中查询地理坐标
SELECT
id, (
6371 * acos (
cos ( radians(78.3232) )
* cos( radians( 数据库纬度字段) )
* cos( radians( 数据库经度字段) - radians(65.3234) )
+ sin ( radians(78.3232) )
* sin( radians( 数据库纬度字段 ) )
)
) AS distance
FROM tb_hotel
HAVING distance < 0.4
ORDER BY distance
LIMIT 0 , 20;
上述"distance"字段, 数据单位为公里 ( KM ) 1公里=1000米
3.SELECT id, ( 6371* 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 id LIMIT 20
SELECT
(
6371 * acos(
cos(radians(29.490295))
* cos(radians(29.615467))
* cos(radians(106.581515) - radians(106.486654) )
+ sin(radians(29.490295))
* sin(radians(29.615467))
)
)*1000 AS distance
一般都是按千米算
latitude 纬度
longitude 经度
查询语句