<?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
相关文章
27 Nov 2024
计算 Google 地图 V3 中点之间的距离在 Google 地图 V3 中,可以使用半正弦计算两个标记之间的距离...
29 Nov 2024
使用 Google 地图 V3 确定两点之间的距离计算 Google 地图 V3 中标记之间的距离可以通过以下方式实现...
30 Nov 2024
计算 Google 地图 V3 中两个标记之间的距离确定 Google 地图 V3 中标记所表示的两点之间的距离是...
30 Jul 2023
在百度地图API中,如何使用Java计算两点间的距离,并显示在地图上?百度地图API是一项强大的地理信息开发工具,提供了多种功能和接口供开发者使用。其中一个常用的功能就是计算两点间的距离,并将结果显示在地图上。本文将介绍如何使用Java语言来实现这一功能,并提供相应的代码示例。使用百度地图API进行开发,首先需要在官方网站申请一个开发者账号,并创建一个新的应
12 Sep 2023
在C++中,我们有一个预定义函数sqrt,它返回任何数字的平方根。旋转卡尺法是用于求解算法或计算几何的技术。旋转卡尺方法的视觉表示手部旋转显示了旋转卡尺图的真实示例,每当手部旋转时,都会显示垂直方向。我们还可以通过使用多边形来理解这个概念。在本文中,我们将使用旋转卡尺法求出两个坐标点的最大距离。语法程序中使用以下语法-vector<datatype>name参数向量-我们从关键字向量开始,同时在C++中初始化向量。datatype-由向量表示的数据元素的类型。name-向量的名称。算