更多>
最新下载
24小时阅读排行榜
- 1 解决 Flink join 操作无输出问题:确保数据流处理可见性
- 2 python subprocess.popen怎么用?
- 3 php lavarel框架导出文件
- 4 如何实现python的数据表清洗?
- 5 Go语言服务器如何处理带自定义请求头的CORS预检请求
- 6 python all函数怎么用
- 7 解决Java客户端与C#服务器TCP通信无响应问题:消息帧与资源管理指南
- 8 Flink 流处理中 Join 操作无输出:核心问题与解决方案
- 9 解决 Flink 窗口化 Keyed Join 无输出问题:深入理解与实践
- 10 Room数据库与Kotlin协程:Java项目中数据持久化的最佳实践与常见陷阱
- 11 怎么用python中的if函数实现嵌套?
- 12 Go语言:跨平台检测应用程序(如Google Chrome)安装状态的教程
- 13 普通人比特币怎么获得?比特币普通人获取平台APP介绍
- 14 python中字典中key必须是唯一的吗?
- 15 Go语言跨平台检测Google Chrome浏览器安装状态教程
更多>
最新教程
-
- Node.js 教程
- 11054 2025-08-28
-
- CSS3 教程
- 1284096 2025-08-27
-
- Rust 教程
- 17218 2025-08-27
-
- Vue 教程
- 20039 2025-08-22
-
- PostgreSQL 教程
- 17987 2025-08-21
-
- Git 教程
- 7332 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

