想根据当前经纬度去数据库查询附近距离餐厅,求解决方案

想根据当前经纬度去数据库查询附近距离餐厅,求解决方案,第1张

猜你的数据库列中大致格式为:经度纬度、餐厅。。。

经纬度估计应该有精度控制的,你可以根据需要设置查询条件

1。矩形(简单):经度加减一个固定值,纬度加减一个固定值,条件设在这个范围内

2。圆形(复杂):经度和纬度的平方和开根号,条件设在这个范围内

数据库估计应该是很大的,所以输出量加个限制是十分必要的

sql,oracle

select top 10 * from <表名>where <条件>

mysql

select * from <表名>limit m,n where <条件>

从m开始,取n条

回答的有点晚,正好我做到相关的项目了,希望能帮到其他人.

餐馆申请时候通过填写的地址取得经纬度存入数据库,下面是查询某个经纬度附近500米的

$user_lat='41.749034'//传过来的纬度

$user_lng='123.46017'//传过来的经度

$store_mod=db("store")//数据库

$storelist=$store_mod->query("SELECT

*,ROUND(6378.138*2*ASIN(SQRT(POW(SIN((".$user_lat."*PI()/180-【store_latitude】*PI()/180)/2),2)+COS(".$user_lat."*PI()/180)*COS(【store_latitude】*PI()/180)*POW(SIN((".$user_lng."*PI()/180-【store_longitude】*PI()/180)/2),2)))*1000)

AS distance FROM store HAVING 【搜索条件如 state=1】 distance<【周围距离多少米 如

500】 ORDER BY distance ASC")

var_dump($storelist)

【】sql语句中括号的store_latitude,store_longitude为你数据库存的商家经纬度的字段名,其余的为注释

猜猜你的数据库列大致的格式为:经度,纬度,餐厅。 。 。

估计经纬度应该有精确的控制,你可以根据需要设置查询 1。矩形(简单):减去经度,纬度和一个固定值的减法运算的一个固定值,条件是在这个范围内 2设置。圆(复杂):经度和平方和的平方根的纬度,条件设置 在此范围内的数据库的估计要大,所以输出音量加一个限制是必要 SQL,甲骨文 SELECT TOP 10 *从'表名,其中

选择*从

限M,N,其中

>从一开始就M,取n个


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9932639.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存