我希望我网站上的用户能够搜索特定距离内的其他用户。例如'找到[5]里程内的所有用户。我有一些代码可以“像乌鸦一样飞”,但我希望能够找到包括道路在内的实际距离。我知道我需要第三方工具才能做到这一点,但我不确定要使用什么。谷歌地图api有这个功能吗?我的代码目前:
$results = $members->prepare("SELECT users.fname, users.lname, activate.profession, activate.town, ROUND((3958.75 * ACOS(SIN(? / 57.2958)*SIN(uk_postcodes.latitude / 57.2958)+COS(? / 57.2958)*COS(uk_postcodes.latitude / 57.2958)*COS(uk_postcodes.longitude / 57.2958 - ? / 57.2958))), 1) as distance FROM uk_postcodes JOIN activate on activate.outward = uk_postcodes.postcode and activate.userid != ? JOIN users on users.user_id = activate.userid WHERE (3958.75 * ACOS(SIN(? / 57.2958)*SIN(uk_postcodes.latitude / 57.2958)+COS(? / 57.2958)*COS(uk_postcodes.latitude / 57.2958)*COS(uk_postcodes.longitude / 57.2958 - ? / 57.2958))) <= ?");
$lat = $_POST['latitude'];
$long = $_POST['longitude'];
$results->bind_param('ssssssss', $lat, $lat, $long, $_SESSION['token'], $lat, $lat, $long, $_POST['distance']);
$results->execute();
感谢任何帮助,谢谢。
答案 0 :(得分:0)
Google地图方向API将返回以英里为单位的距离以及旅行时间。我确实相信Google要求您在使用Google Maps API时显示Google地图。
以下是方向API信息的链接:
您需要找到一种在PHP中使用javascript信息的方法,或者只需切换到javascript即可找到用户。
答案 1 :(得分:0)
您可能会发现Google Maps API是一种有用的资源。查看距离矩阵文档: https://developers.google.com/maps/documentation/distancematrix/