从品牌网站建设到网络营销策划,从策略到执行的一站式服务
给大家一条语句能执行的地方
成都创新互联是一家专业提供朝阳企业网站建设,专注与网站建设、成都网站制作、H5页面制作、小程序制作等业务。10年已为朝阳众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
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 数据库中查找 距离 37,-122 距离 小于25公里的 经纬度
以前看GOOGLE 地图 API 开发时候的一篇文章里面有 给分 给分
DROP FUNCTION IF EXISTS func_calcDistance ;
CREATE FUNCTION func_calcDistance(
origLng DECIMAL(20,6), -- 目的地经度
origLat DECIMAL(20,6), -- 目的地纬度
longitude DECIMAL(20,6), -- 当前所在地点经度
latitude DECIMAL(20,6) -- 当前所在地点纬度
)
RETURNS DOUBLE
BEGIN
DECLARE result DOUBLE DEFAULT 0;
SET result = round(6378.138*2*asin(sqrt(pow(sin(
(origLat*pi()/180-latitude*pi()/180)/2),2)+cos(origLat*pi()/180)*cos(latitude*pi()/180)*
pow(sin( (origLng*pi()/180-longitude*pi()/180)/2),2)))*1000);
RETURN result;
END ;
注:
网上有很多的方法,但是最终结果都有很大的差异,对于半径取值(地球赤道半径6378.137千米,极半径6356.752千米,平均半径约6371千米)根据自己需求进行定义;计算结果应与其他地图软件进行对比,保证数值正确;
楼主 请再讲清楚点好吧?
GlangXMeter GlatYMeter, PxMeter PyMeter 各确定一个点 怎么个确定法?
不大明白
快下班了 才看到你的补充
来不及写语句了 思路说下吧 就像高中学的
点1(x1,y1) 点2(x2,y2)
两点距离:(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2) 再平方根就可以了
数据库中应该有平方,平方根的函数
很简单的 只是用在数据库中了而已、
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图