首先是 砸iHTML5 中获取地理位置。
if(navigator.geolocation){
navigator.geolocation.getCurrentPosition(function(pos){
var c=pos.coords;
var a = ['{"accuracy": ', c.accuracy,', "latitude": ', c.latitude,', "longitude": ', c.longitude,"}"].join("");
document.getElementsByName("location")[0].value= a;
console.log(a);
});
}
在Mysql 中 根据坐标计算得到距离:
SELECT id,
( 6371 * acos( cos( radians(29.3547224) ) * cos( radians( `latitude` ) )
* cos( radians( `longitude` ) - radians(113.099185) ) + sin( radians(29.3547224) ) * sin(radians(`latitude`)) ) ) AS `distance`
FROM tp_merchant
HAVING distance < 130
ORDER BY distance
LIMIT 0 , 20;
注: SQL中 的一个取值: 6371 是公里, 3959 是 英里。