HTML5 获取用户经纬度及距离计算公式

在做项目时需要做定位获取经纬度并计算距离,这里使用 HTML5 获取经纬度。

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title>利用html5获取经纬度</title>

</head>

 

<body>

<span id="support">将下面的经纬度输入谷歌地图:</span>

<div id="show">

纬度:<span id="latitude"></span><br />

经度:<span id="longitude"></span><br />

经纬度准确度:<span id="accuracy"></span><br />

海拔:<span id="altitude"></span><br />

海拔高度的精确度:<span id="altitudeAcuracy"></span><br />

朝向:<span id="heading"></span><br />

速度:<span id="speed"></span>

</div>

<script type="text/javascript">

var doc = document,

 latitude = doc.getElementById('latitude'),

 longitude = doc.getElementById('longitude'),

 accuracy = doc.getElementById('accuracy'),

 altitude = doc.getElementById('altitude'),

 altitudeAcuracy = doc.getElementById('altitudeAcuracy'),

 heading = doc.getElementById('heading'),

 speed = doc.getElementById('speed'),

 support = doc.getElementById('support'),

 showDiv = doc.getElementById('show');

function lodeSupport(){

 if(navigator.geolocation){

 support.innerHTML = '将下面的经纬度输入谷歌地图(纬度 经度)查看自己位置:';

 showDiv.style.display = 'block';

 navigator.geolocation.getCurrentPosition(updataPosition,showError);

 }else{

 support.innerHTML = '对不起,浏览器不支持!';

 showDiv.style.display = 'none';

 }

}

function updataPosition(position){

 var latitudeP = position.coords.latitude,

 longitudeP = position.coords.longitude,

 accuracyP = position.coords.accuracy,

 altitudeP = position.coords.altitude,

 altitudeAcuracyP = position.coords.altitudeAcuracy,

 headingP = position.coords.heading,

 speedP = position.coords.speed;

 latitude.innerHTML = latitudeP;

 longitude.innerHTML = longitudeP;

 accuracy.innerHTML = accuracyP;

 altitude.innerHTML = altitudeP;

 altitudeAcuracy.innerHTML = altitudeAcuracyP;

 heading.innerHTML = headingP;

 speed.innerHTML = speedP;

}

 

function showError(error)

{

 switch(error.code)

 {

 case error.PERMISSION_DENIED:

 showDiv.innerHTML="用户拒绝访问地理位置"

 break;

 case error.POSITION_UNAVAILABLE:

 showDiv.innerHTML="地理位置信息无法获取"

 break;

 case error.TIMEOUT:

 showDiv.innerHTML="获取位置时间超时"

 break;

 case error.UNKNOWN_ERROR:

 showDiv.innerHTML="我擦,这是一个未知的错误"

 break;

 }

}

 

window.addEventListener('load', lodeSupport , true);

</script>

</body>

</html>

两个经纬度之间距离计算公式

/**

 * @desc 根据两点间的经纬度计算距离

 * @param float $lat 纬度值

 * @param float $lng 经度值

 */

 public function getDistance($lat1, $lng1, $lat2, $lng2)

 {

   $earthRadius = 6367000;

   $lat1 = ($lat1 * pi() ) / 180;

   $lng1 = ($lng1 * pi() ) / 180;

 

   $lat2 = ($lat2 * pi() ) / 180;

   $lng2 = ($lng2 * pi() ) / 180;

 

   $calcLongitude = $lng2 - $lng1;

   $calcLatitude = $lat2 - $lat1;

   $stepOne = pow(sin($calcLatitude / 2), 2) + cos($lat1) * cos($lat2) * pow(sin($calcLongitude / 2), 2);

   $stepTwo = 2 * asin(min(1, sqrt($stepOne)));

   $calculatedDistance = $earthRadius * $stepTwo;

 

   return round($calculatedDistance);

 }

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索经纬度计算距离公式、经纬度算距离公式、经纬度 距离公式、经纬度转换距离公式、经纬度求距离公式,以便于您获取更多的相关知识。

时间: 2024-11-11 14:11:28

HTML5 获取用户经纬度及距离计算公式的相关文章

js+html5获取用户地理位置信息并在Google地图上显示的方法_javascript技巧

本文实例讲述了js+html5获取用户地理位置信息并在Google地图上显示的方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html> <html> <body> <p id="demo">Click the button to get your position:</p> <button onclick="getLocation()">Try It</button&

PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法_php实例

根据IP获取访客所在国家/城市/经纬度安装GeoIP扩展: sudo apt-get install libgeoip-dev pecl install geoip-1.1.0 注意:Beta版要指定版本号.如果是apt安装的PHP,直接安装php5-geoip这个包即可. php.ini中加入: extension=geoip.so geoip.custom_directory="/usr/share/GeoIP" 免费下载GeoLiteCity数据库(解压后18MB): http:

android 通过GPS获取用户地理位置并监听位置变化

1 Location Manager 管理服务2 Location Provider 提供数据的content provider 方式一:GPS 特点:精度高,耗电量大,不耗费流量 权限<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>方式二:NETWORK 特点:精度低,省电,需要网络访问  权限<uses-permission android:name="an

基于HTML5获取地理位置定位信息效果

如何使用HTML5地理位置定位功能 定位功能(Geolocation)是HTML5的新特性,因此只有在支持HTML5的现代浏览器上运行,特别是手持设备如iphone,地理定位更加精确.首先我们要检测用户设备浏览器是否支持地理定位,如果支持则获取地理信息.注意这个特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的,所以我们在访问该应用时会提示是否允许地理定位,我们当然选择允许即可.   function getLocation(){     if (navigator.geoloca

HTML5通过获取地理位置经纬度,判断城市

html5提供了获取地理位置的api,很方便确定客户的经纬度,我们获取到经纬度以后,可以通过百度地图提供的api确定用户的所在位置. <!DOCTYPE html>  <html>  <head>      <meta charset="utf-8"/>      <title>基于浏览器的HTML5查找地理位置</title>     <!-- 百度API -->  <script src=&q

PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法

根据IP获取访客所在国家/城市/经纬度 安装GeoIP扩展: sudo apt-get install libgeoip-dev pecl install geoip-1.1.0 注意:Beta版要指定版本号.如果是apt安装的PHP,直接安装php5-geoip这个包即可. php.ini中加入: extension=geoip.so geoip.custom_directory="/usr/share/GeoIP" 免费下载GeoLiteCity数据库(解压后18MB): http

html5获取地理位置信息API

html5获取地理位置信息API       在HTML5中,可以看下如何使用Geolocation API来获得用户的地理位置信息,如果该浏览器支持的话,且设备具有定位功能,就能够直接使用这组API来获取当前位置的信息,该API可以应用在移动设备上的地理定位:为window.navigator 对象新增了一个geolocation属性,可以使用Geolocation API来对该属性进行访问.window.navigator对象中的geolocation属性有三个方法如下: 第一个方法是:ge

Android使用GPS获取用户地理位置并监听位置变化的方法_Android

本文实例讲述了Android使用GPS获取用户地理位置并监听位置变化的方法.分享给大家供大家参考,具体如下: LocationActivity.java /* LocationActivity.java * @author octobershiner * 2011 7 22 * SE.HIT * 一个演示定位用户的位置并且监听位置变化的代码 * */ package uni.location; import android.app.Activity; import android.content

获取地理位置-微信开发,关于地图 获取文章,计算距离问题?求帮助

问题描述 微信开发,关于地图 获取文章,计算距离问题?求帮助 本问题是关于定位,距离测量,请有经验的大神给予帮助,谢谢! 现在开发一个基于微信的o2o平台,有需要方和服务方: 情况1:发布需求自动获取我的位置最好能让我自己选择,也就是他很出现多个位置,还有需要显示地图 情况2:用户可以查看附近的服务人员有哪些?这个应该是通过定位测算距离,找出最近的 求帮助,当前用Thinkphp开发中,请大神帮助,能详细更好,给思路也行 解决方案 你去看看微信有没有提供接口. 以前手机端开发的话,通过gps 基