php查询mysql并返回html,基于HTML5定位使用PHP+MySQL搜索附近的人并AJAX返回结果

前端HTML5

var gotrue = true;

$(document).ready(function(){

loaddata();

});

setInterval(function() {

loaddata();

gotrue = true;

},10000);

function loaddata(){

if(navigator.geolocation){

navigator.geolocation.watchPosition(showPosition); //移动地址

//navigator.geolocation.getCurrentPosition(showPosition);

}

}

function showPosition(position){

if(gotrue){

gotrue = false;

$.getJSON("https://www.lvtao.net/map.php?x="+ position.coords.latitude + "&y=" + position.coords.longitude,function(data){

.... //此处处理返回结果

});

}

}

MySQL数据库支撑,MyISAM引擎

建表时字段类型为空间类型 POINT等

插入值时需要做处理:

GeomFromText('POINT(30.620076 104.067221)')

查询: 查找附近 10 公里

SELECT *

FROM 表名

WHERE MBRContains

(

LineString

(

Point

(

30.620076 + 10 / ( 111.1 / COS(RADIANS(104.067221))),

104.067221 + 10 / 111.1

),

Point

(

30.620076 - 10 / ( 111.1 / COS(RADIANS(104.067221))),

104.067221 - 10 / 111.1

)

),

字段名

)

mysql5.6+以上版本的空间关系函数:st_distance(),返回两点间的距离值,参考文档:http://dev.mysql.com/doc/refman/5.6/en/spatial-relation-functions-object-shapes.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值