php 地图两点距离计算,计算地图上两点间的距离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;
}
}
}
利用JS實現的根據經緯度計算地球上兩點之間的距離
最近用到了根據經緯度計算地球表面兩點間距離的公式,然后就用JS實現了一下. 計算地球表面兩點間的距離大概有兩種辦法. 第一種是默認地球是一個光滑的球面,然后計算任意兩點間的距離,這個距離叫做大圓距 ...
Python計算地圖上兩點經緯度間的距離
處理地圖數據時,經常需要用到兩個地理位置間的距離.比如A點經緯度(110.0123, 23.32435),B點經緯度(129.1344,25.5465),求AB兩點之間的距離.我們可以用haversi ...
HDOJ2001計算兩點間的距離
計算兩點間的距離 Time Limit: 2000/1000 MS (Java/Others)????Memory Limit: 65536/32768 K (Java/Others)Total Su ...
J - 計算兩點間的距離
Time Limit:1000MS?????Memory Limit:32768KB?????64bit IO Format:%I64d & %I64u ? Description 輸入兩 ...
計算兩點間的距離-hdu2001
Problem Description 輸入兩點坐標(X1,Y1),(X2,Y2),計算并輸出兩點間的距離. ? Input 輸入數據有多組,每組占一行,由4個實數組成,分別表示x1,y1,x2,y2 ...
計算兩點間的距離,hdu-2001
計算兩點間的距離 Problem Description 輸入兩點坐標(X1,Y1),(X2,Y2),計算并輸出兩點間的距離. ? Input 輸入數據有多組,每組占一行,由4個實數組成,分別表示x1 ...
HDU 2001 計算兩點間的距離
http://acm.hdu.edu.cn/showproblem.php?pid=2001 Problem Description 輸入兩點坐標(X1,Y1),(X2,Y2),計算并輸出兩點間的距離 ...
hdu2001 計算兩點間的距離【C++】
計算兩點間的距離 Time Limit: 2000/1000 MS (Java/Others)????Memory Limit: 65536/32768 K (Java/Others)Total Su ...
杭電ACM2001--計算兩點間的距離
計算兩點間的距離 Time Limit: 2000/1000 MS (Java/Others)????Memory Limit: 65536/32768 K (Java/Others)Total Su ...
隨機推薦
MMORPG大型游戲設計與開發(服務器 游戲場景 事件)
今天第星期天,知識是永遠是學習不完的,所以今天這部分算比較輕松,同時也希望大家會有一個好的周末.場景事件即場景的回調,和別的事件一樣是在特定的條件下產生的,前面也介紹過場景的各種事件,今天詳細的說一說 ...
RCP:給GEF編輯器添加網格和標尺。
網格和標尺效果如上圖所示. 添加網格比較簡單,也可以自己實現,主要思路是為編輯器添加一個GridLayer.但是還是建議參考eclipse自己的GEF樣例來實現. 需要注意兩個部分: 1.重寫org. ...
viewpage廣告條的制作
package com.itheima27.viewpagerdemo; import java.util.ArrayList; import java.util.List; import andro ...
更改git bash默認的路徑
更改git bash默認的路徑 ? 在打開git bash時,每次都是在C:\Uer路徑下,每次都需要先用cd命令轉換到自己需要工作的路徑(cd ?/f/dss).修改打開git bash 時的默認的 ...
【原】Unity Shader VS UDK Material Editor
UDK 的材質編輯器十分好用,畢竟是所見即所得的.雖然unity也有類似第三方插件,但易用性還是差很多,下面主要是,把一些常見表達式概念對應起來. 1. UDK?CameraVector?(相機位向量 ...
包含常用功能的 gulpfile.js
相關包安裝 建議使用cnpm npm install --save-dev ***** 其中 ***** 部分表示所需要的包模塊,如 gulpfile 中的 require('gulp-useref' ...
OSGI介紹
OSGI介紹 OSGI簡介 OSGI (Open Service Gateway Initiative)聯盟成立于1999 年,它是一個非盈利的國際組織,旨在建立一個開放的服務規范,為通過網絡向設備提 ...
Python--day11(函數的參數)
今日主要內容 1.? 函數的參數 2.? 函數的嵌套調用 1.? 形參與實參 1.? 參數介紹: 函數為什么要有參數:因為內部的函數體需要外部的數據 怎樣定義函數的參數:在定義函數階段,函數名在后面( ...
Mysql主外鍵
主鍵? primary? ?key 創建表時直接加上主鍵: create table student1(id int primary key, name varchar(20), age int, g ...
Centos 安裝 mysql tar.gz
http://www.cnblogs.com/coderls/p/6848873.html
總結
以上是生活随笔為你收集整理的php 地图两点距离计算,计算地图上两点间的距离PHP类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于心理的名言名句179个
- 下一篇: 三字网名,干净好听的昵称字533个