以下PHP语言写的计算距离位置的源码实例
如果要获取距离位置信息,首先要开启系统对APP的允许权限,如果不开启,地理位置会获取失败。我们在系统开发上就做容错处理显示,如果地理位置失败,那么提示用户当前不能获取到最近的台球助教和台球厅信息。同时容错显示的信息就以当前用户注册时候所在的地区来由近及远地显示台球厅和助教的助理位置。
以下是PHP代码获取用户距离位置后并计算距离位置的源码实例,总共4个参数参数信息,分别为2个坐标点位的经度和纬度。关于手机位置权限的都很简单的,我把说明内容放在最后一段的。
<?php
class DistanceCalculator {
// 地球半径(单位:公里)
const EARTH_RADIUS = 6371.0;
/**
* 使用Haversine公式计算两点间的距离。
*
* @param float $lat1 第一个点的纬度
* @param float $lon1 第一个点的经度
* @param float $lat2 第二个点的纬度
* @param float $lon2 第二个点的经度
* @return float 两点之间的距离(单位:公里)
*/
public static function calculateDistance($lat1, $lon1, $lat2, $lon2) {
// 将角度转换为弧度
$latFrom = deg2rad($lat1);
$lonFrom = deg2rad($lon1);
$latTo = deg2rad($lat2);
$lonTo = deg