已知两点的经度和纬度,计算两点间的距离(php,javascript)

php代码:转载  http://www.cnblogs.com/caichenghui/p/5977431.html

 1 /**
 2  * 求两个已知经纬度之间的距离,单位为米
 3  * 
 4  * @param lng1 $ ,lng2 经度
 5  * @param lat1 $ ,lat2 纬度
 6  * @return float 距离,单位米
 7  * @author www.Alixixi.com 
 8  */
 9 function getdistance($lng1, $lat1, $lng2, $lat2) {
10     // 将角度转为狐度
11     $radLat1 = deg2rad($lat1); //deg2rad()函数将角度转换为弧度
12     $radLat2 = deg2rad($lat2);
13     $radLng1 = deg2rad($lng1);
14     $radLng2 = deg2rad($lng2);
15     $a = $radLat1 - $radLat2;
16     $b = $radLng1 - $radLng2;
17     $s = 2 * asin(sqrt(pow(sin($a / 2), 2) + cos($radLat1) * cos($radLat2) * pow(sin($b / 2), 2))) * 6378.137 * 1000;
18     return $s;
19 } 

javascript代码:

 1 //返回单位 m 
 2 get_distance(lat1,lng1,lat2,lng2){
 3                 var radLat1 = lat1 * Math.PI / 180.0;
 4                 var radLat2 = lat2 * Math.PI / 180.0;
 5                 var a = radLat1 - radLat2;
 6                 var b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;
 7                 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)));
 8                 s = s * 6378.137;
 9                 s = Math.round(s * 10000) / 10000;
10                 s = s*1000;
11                 return s;
12             },

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏十月梦想

CSS基础语法

属性(property)是您希望设置的样式属性(style attribute)。每个属性有一个值。属性和值被冒号分开。

784
来自专栏一枝花算不算浪漫

[jQuery学习系列一]1-选择器与DOM对象

36811
来自专栏闵开慧

java中如何初始化接口

 chart.setBackgroundImageAlpha(Paint.OPAQUE); 其中,Paint类型可以直接用Color类。 其中Paint就是一个...

3585
来自专栏Android常用基础

自定义View(四)-动画- Interpolator与Evaluator

Interpolator插值器之前我们已经接触过了,而Evaluator好像我们还没有将,这是属性动画中俩个比较中的两个知识点,弄清楚它们有助于我们更好的使用与...

1662
来自专栏HTML5学堂

一个setInterval的小问题

一个setInterval的小问题 HTML5学堂:在制作页面动画效果中,很多情况都会用到定时器,setInterval则是计时器的一种,可按照指定的周期,不停...

3559
来自专栏武培轩的专栏

剑指Offer-滑动窗口的最大值

题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个...

46910
来自专栏Pythonista

Golang之函数练习

1261
来自专栏Java帮帮-微信公众号-技术文章全总结

JavaWeb02-CSS,JS(Java真正的全栈开发)

? css&javascript 一.CSS 1.CSS介绍 CSS 指层叠样式表 (Cascading Style Sheets),用来定义网页的显示效果。...

41115
来自专栏小壮和前端

js写2048游戏代码

2772
来自专栏落花落雨不落叶

block,inline,inline-block的区别

2688

扫码关注云+社区