更多>
最新下载
24小时阅读排行榜
- 1 Postman如何测试XML上传接口 Postman发送form-data和raw XML
- 2 mysql安装完成后如何配置事件调度器_mysql任务管理配置
- 3 Three.js/Babylon.js如何加载上传的X3D/Collada格式XML
- 4 什么是mysql锁_mysql锁基础概念说明
- 5 c# 如何写日志 log4net
- 6 php动态网站开发怎样防止重复提交_PHP动态网站防重复提交法【方案】
- 7 css定位与布局的结合_使用position与display优化布局
- 8 C++构造函数怎么写 C++初始化列表与赋值的区别【细节】
- 9 如何为 HTML 表格添加棋盘式坐标标签(A–H / 1–8)
- 10 Go 中为何不推荐使用 this 作为方法接收者名称
- 11 XPath:匹配 class 属性值不包含指定子字符串的元素
- 12 Go 中方法接收者命名规范:为何不推荐使用 this
- 13 Go 中方法接收者命名规范:为何不应使用 this 关键字
- 14 如何在 PrimeVue 中将对象数据正确渲染为 Dropdown 下拉选项
- 15 如何在单页网站中实现上一篇/下一篇按钮的平滑滚动导航
更多>
最新教程
-
- Node.js 教程
- 16297 2025-08-28
-
- CSS3 教程
- 1546984 2025-08-27
-
- Rust 教程
- 23422 2025-08-27
-
- Vue 教程
- 25865 2025-08-22
-
- PostgreSQL 教程
- 22363 2025-08-21
-
- Git 教程
- 9317 2025-08-21
下载首页 / 类库下载 / 其它类库
<?php
class GeoHelper
{
/**
* @param int $lat1
* @param int $lon1
* @param int $lat2
* @param int $lon2
* @param string $unit
* @return
*/
public static function distance($lat1, $lon1, $lat2, $lon2, $unit = "K")
{
$theta = $lon1 - $lon2;
$dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad
($lat2)) * cos(deg2rad($theta));
$dist = acos($dist);
$dist = rad2deg($dist);
$miles = $dist * 60 * 1.1515;
$unit = strtoupper($unit);
if ($unit == "K") {
return ($miles * 1.609344);
} else
if ($unit == "N") {
return ($miles * 0.8684);
} else { //mi
return $miles;
}
}
/**
*
* @param string $address
* @param string $apikey
* @return array [1]:lat [0]:lng
*/
public static function getLatLng($address, $apikey)
{
$find = array("\\n", "\\r", " ");
$replace = array("", "", "+");
$address = str_replace($find, $replace, $address);
$url = 'http://maps.google.com/maps/geo?q=' . $address . '&key=' . $apikey .
'&sensor=false&output=xml&oe=utf8';
$response = self::xml2array($url);
$coordinates = $response['kml']['Response']['Placemark']['Point']['coordinates'];
if (!empty($coordinates)) {
$point_array = split(",", $coordinates);
return $point_array;
}
}
}计算地图上两点间的距离,使用的是谷歌地图
本站所有资源都是由网友投搞发布,或转载各大下载站,请自行检测软件的完整性!本站所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!如有侵权请联系我们删除下架,联系方式:admin@php.cn
