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 ...
随机推荐
- 记录-项目java项目框架搭建的一些问题(maven+spring+springmvc+mybatis)
伴随着项目框架的落成后,本以为启动就能成功的,but.... 项目启动开始报错误1:java.lang.ClassNotFoundException: org.springframework.web. ...
- POJ 1518 A Round Peg in a Ground Hole【计算几何=_=你值得一虐】
链接: http://poj.org/problem?id=1584 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22013#probl ...
- phpstorm10激活方法
选择 license server ---> http://idea.lanyus.com/ (末尾的斜杠不能漏了!) 2016-7-5更新 上面的注册方法再试时,已被封杀 2017-9-1 ...
- python基础-第六篇-6.4模块混战
我们之前接触多的编程方式就是函数式编程,而且喜欢就一个文件里写完所有的程序代码,这样做在前期感觉还不错,不过一旦你的程序变复杂,在易读性和排错方面就感觉好吃力,功能界限不明显,那今天我们就来讲讲怎么用 ...
- liferay 指定默认首页
1.登录liferay后,点击控制面板-->设置--> portal设置 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVuZ3hpbmdf ...
- CryptoJS加密
<script type="text/javascript" src="CryptoJS/core.min.js"></script>& ...
- Python字典的入门案例
查看python版本: [root@localhost ~]# python -V Python 2.7.5 1.基本的字典操作 案例1:简单电话本实现 [root@localhost ~]# vim ...
- R中常用数据挖掘算法包
数据挖掘主要分为4类,即预测.分类.聚类和关联,根据不同的挖掘目的选择相应的算法.下面对R语言中常用的数据挖掘包做一个汇总: 连续因变量的预测: stats包 lm函数,实现多元线性回归 stats包 ...
- linux awk数组相关操作介绍
用awk进行文本处理,少不了就是它的数组处理.那么awk数组有那些特点,一般常见运算又会怎么样呢.我们先看下以下的一些介绍,结合样例我们会解说下它的不同之处.在 awk 中数组叫做关联数组(assoc ...
- 图片的等比缩放和Logo水印
/** * 等比缩放函数(以保存的方式实现) * @param string $picname 被缩放的处理图片源 * @param int $maxx 缩放后图片的最大宽度 * @param int ...