js代码--根据经纬度计算距离
原网页地址:http://www.storyday.com/wp-content/uploads/2008/09/latlung_dis.html
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>经纬度距离计算小工具</title>
<style>
body {
margin: 5px 0;
padding: 0;
font-size: 12px;
TEXT-ALIGN: center;
font-family: arial, helvetica, sans-serif;
TEXT-ALIGN: center;
background: #FFF;
}
HTML BODY {
TEXT-ALIGN: center;
}
div {
MARGIN: 0px auto;
font-family: arial, helvetica, sans-serif;
text-align: left;
}
#page, div.page {
width: 980px;
overflow: visible;
text-align: center;
}
#main {
float: left;
width: 73%;
text-align: left;
overflow: hidden;
}
#sidebar {
float: right;
width: 26%;
}
#main p {
line-height: 25px;
font-size: 14px;
}
a img {
border: 0;
}
p a img {
border: 1px solid #eee;
padding: 2px;
margin: 3px;
} i.corner {
display: block;
}
i.corner i {
height: 1px;
display: block;
font-size: 1px;
overflow: hidden;
background-color: #FFFFFF;
}
i.corner i.l1 {
margin: 0 5px;
border-bottom: 1px solid #ced4ca;
}
i.corner i.l2, i.corner i.l3, i.corner i.l4, div.cbody {
margin: 0 3px;
border-left: 1px solid #ced4ca;
border-right: 1px solid #ced4ca;
background: #fff;
}
i.corner i.l3 {
margin: 0 2px;
}
i.corner i.l4 {
margin: 0 1px;
height: 1px;
}
i.corner i.l5 {
margin: 0 5px;
border-top: 1px solid #ced4ca;
height: 1px;
}
div.cbody {
padding: 0 8px;
margin: 0;
background: #fff;
text-align: left;
}
.panel {
width: 100%;
font-size: 12px;
margin: 5px 0;
}
div.cbody .detailentry, div.cbody h1 {
margin: 0;
padding: 0;
}
.cbody ul {
list-style: none;
}
#CodeLable, #revq, td {
font-weight: bold;
font-size: 18px;
}
td {
font-weight: normal;
}
td.lb {
text-align: right;
padding: 0 5px 0 0;
color: green;
width: 150px;
}
.warning {
background: red;
color: #fff;
padding: 2px;
float: left;
}
/* end of corner*/
</style>
<body>
<div id="page">
<div class="page">
<h2>度分秒 TO 小数点 转换</h2>
<div class="panel">
<i class="corner"><i class="l1"></i><i class="l2"></i><i class="l3"></i><i class="l4"></i></i>
<div class="cbody">
<div style="text-align:center;height:60px;">
<div style="float:left;color:green;font-weight:bold;font-size:14px;width:50px;" id="sign1">
</div>
<div style="float:left;"> <input type="text" id="deg" name="deg" onKeyUp="Convert2Dec()" />
度
<input type="text" id="min" name="min" onKeyUp="Convert2Dec()"/>
分
<input type="text" id="sec" name="sec" onKeyUp="Convert2Dec()"/>
秒
<br />
<br />
=
<input type="text" id="deg2" name="deg2" onkeyup="Convert2Deg()" />
度
</div>
<div style="float:left;color:green;font-weight:bold;font-size:14px;width:50px;" id="sign2">
</div>
</div>
</div>
<i class="corner"><i class="l4"></i><i class="l3"></i><i class="l2"></i><i class="l5"></i></i>
</div>
<h2>经纬度距离计算</h2>
<div class="panel">
<i class="corner"><i class="l1"></i><i class="l2"></i><i class="l3"></i><i class="l4"></i></i>
<div class="cbody">
<div style="text-align:center;height:100px;">
<div style="text-align:left;float:left;margin-left:40px;">
A:纬度
<input type="text" name="lat1" id="lat1" onKeyUp="calDis()" />
经度
<input type="text" name="lng1" id="lng1" onKeyUp="calDis()" />
<br />
<br />
B:纬度
<input type="text" name="lat2" id="lat2" onKeyUp="calDis()" />
经度
<input type="text" name="lng2" id="lng2" onKeyUp="calDis()" />
<br />
<br />
A-B:距离=
<input type="text" name="distance" id="distance" />
Km
</div>
<div class="warning" id="warning"></div>
</div> </div>
<i class="corner"><i class="l4"></i><i class="l3"></i><i class="l2"></i><i class="l5"></i></i>
</div> <SCRIPT LANGUAGE="JavaScript">
function getVal(obj) {
if (document.getElementById(obj) != null)
return document.getElementById(obj).value;
else
return 0;
} function setVal(obj, val) {
if (document.getElementById(obj) != null)
document.getElementById(obj).value = val; } function Convert2Dec() {
var deg = Math.abs(getVal('deg'));
var min = Math.abs(getVal('min'));
var sec = Math.abs(getVal('sec'));
var deci = deg * 1 + (sec * 1 + min * 60 ) / 3600;
setVal("deg2", deci);
} function Convert2Deg() {
var deci = Math.abs(getVal('deg2'));
var deci2 = deci + ''; if (deci2.indexOf('.') == -1) {
setVal("deg", deci);
return false;
}
deci = deci2.split(".");
setVal("deg", deci[0]); //
deci[1] = "0." + deci[1];
var min_sec = deci[1] * 3600;
var min = Math.floor(min_sec / 60);
var sec = (min_sec - (min * 60 ) ); setVal("min", min); setVal("sec", sec); } function hide(m) {
document.getElementById(m).style.display = "none";
return true;
} function show(m) {
document.getElementById(m).style.display = "";
return true;
} //private const double EARTH_RADIUS = 6378.137;
function rad(d) {
return d * Math.PI / 180.0;
} function GetDistance(lat1, lng1, lat2, lng2) {
hide("warning");
if ((Math.abs(lat1) > 90 ) || (Math.abs(lat2) > 90 )) {
document.getElementById("warning").innerHTML = ("兄台,这哪里是纬度啊?分明是想忽悠我嘛");
show("warning");
return "耍我?拒绝计算!";
} else {
hide("warning");
}
if ((Math.abs(lng1) > 180 ) || (Math.abs(lng2) > 180 )) { show("warning");
document.getElementById("warning").innerHTML = ("兄台,这哪里是经度啊?分明是想忽悠我嘛");
return "耍我?拒绝计算!";
} else {
hide("warning");
}
var radLat1 = rad(lat1);
var radLat2 = rad(lat2);
var a = radLat1 - radLat2;
var b = rad(lng1) - rad(lng2);
var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
s = s * 6378.137;
// EARTH_RADIUS;
s = Math.round(s * 10000) / 10000;
return s;
} function calDis() {
var lat1 = document.getElementById("lat1").value * 1;
var lat2 = document.getElementById("lat2").value * 1;
var lng1 = document.getElementById("lng1").value * 1;
var lng2 = document.getElementById("lng2").value * 1;
var dis = GetDistance(lat1, lng1, lat2, lng2);
document.getElementById("distance").value = dis; }
</SCRIPT> <div style="text-align:Center">
This Tool is Powered by Cosbeta [china.cos(at)gmail.com]
</div>
</div>
</div>
</body>
</html>
js代码--根据经纬度计算距离的更多相关文章
- PHP根据两点间的经纬度计算距离,php两点经纬度计算(转)
这是一个不错的示例,直接贴代码,首先要知道纬度值.经度值 /** * @desc 根据两点间的经纬度计算距离 * @param float $lat 纬度值 * @param float $lng 经 ...
- iOS根据2个经纬度计算距离
#pragma mark - calculate distance 根据2个经纬度计算距离 #define PI 3.14159265358979323 +(double) CalculationDi ...
- java工具类(六)根据经纬度计算距离
Java实现根据经纬度计算距离 在项目开发过程中,需要根据两地经纬度坐标计算两地间距离,所用的工具类如下: Demo1: public static double getDistatce(double ...
- python的N个小功能(文本字段对应数值,经纬度计算距离,两个时间点计算时间间隔)
案例1 >>> import pandas as pd >>> df=pd.DataFrame({'A':[1,2,3],'B':[1,2,3],'C':[1,2, ...
- php有经纬度计算距离
/** * @desc 根据两点间的经纬度计算距离 * @param float $lat 纬度值 * @param float $lng 经度值 */ function getDistanc ...
- MySQL创建根据经纬度计算距离的函数
按照经纬度计算距离 日常开发中,特别是做微信项目时,经常会遇到根据用户地理位置来展示附近商家的功能,通常解决这种问题的思路是,后台设置商家的经纬度,然后再根据前台传的经纬度进行计算,具体经纬度转换以及 ...
- PHP根据两点间的经纬度计算距离
/** * 说明: 根据两点间的经纬度计算距离 * @param float $lat 纬度值 * @param float $lng 经度值 */ function getDistance($lat ...
- cesium根据经纬度计算距离
var startLatitude = 36;var startLongitude = 120; var endLatitude=34; var endLongitude=121; var start ...
- PHP根据经纬度计算距离
思路: 公式: W为纬度对应的弧度,J为经度对应的弧度,如上图所示 下面代码 lat是纬度 lng是经度 /** * 根据经纬度算距离,返回结果单位是公里,先纬度,后经度 * @param $la ...
随机推荐
- python解释器安装教程
1. 首先,打开python的官网:python.org 2. 首页downloads下打开, 3. 最上边是两个最新的版本,长期计划,推荐使用python3,如果长期打算用p3,默认使用最新版本.如 ...
- Zookeeper Curator 事件监听 - 秒懂
目录 写在前面 1.1. Curator 事件监听 1.1.1. Watcher 标准的事件处理器 1.1.2. NodeCache 节点缓存的监听 1.1.3. PathChildrenCache ...
- python(pytest)+allure+jenkins 实现接口自动化的思路
效果图镇楼: 上述各模块作用: python(pytest): 1:用于读测试用例(本次用例写在csv文件中) 2:环境配置相关 3:提取1中的测试数据,组成请求体 4:发送请求 5:获取结果 6:断 ...
- hadoop2.2.0安装需要注意的事情
今天在安装hadoop2.2.0时遇到若干问题,解决这些问题有些心得,记录下来以备不时之需. 问题1.master和slave之间不能相互ssh免密码登陆. 问题表象此处略过,直接说解决办法: 1.查 ...
- zend 和 esftp插件开发大型PHP项目,ZEND最常用快捷键
先说一下如何安装zend的esftp插件,下载插件esftp-1.1.1.zip,下载地址http://sourceforge.net/projects/esftp/ 或者 http://yun.ba ...
- MySQL——存储过程
核心知识点: 1.什么存储过程?它都有哪些优点? 2.存储过程的语法和参数? 3.存储过程有哪些操作? 4.存储过程常用的控制语句? 一.存储过程概论 SQL语句需要先编译然后执行,而存储过程是一组为 ...
- rails 注释
view -# js.erb <%# xxxx %> 单行注释
- ubuntu14.04 python2.7安装MySQLdb
安装依赖: sudo apt-get install libmysqlclient-dev libmysqld-dev python-dev python-setuptools 安装MySQLdb p ...
- Linux平台下贪吃蛇游戏的运行
1.参考资料说明: 这是一个在Linux系统下实现的简单的贪吃蛇游戏,同学找帮忙,我就直接在Red Hat中调试了一下,参考的是百度文库中"maosuhan"仁兄的文章,结合自己的 ...
- mini2440移植uboot 2014.04(一)
最新版的uboot添加了很多新功能,我决定在最新版代码基础上重新移植一遍加深理解. 我修改的代码已经上传到github上,地址:https://github.com/qiaoyuguo/u-boot- ...