js根据经纬度计算两点距离

js根据经纬度计算两点距离

1.html

<button type="button" οnclick="distanceByLnglat(116.95400,39.95400,116.95300,39.95300);">
				test me
			</button>

2.js

需要引入

<script type="text/javascript" src="js/jquery.js"></script>
<script src="http://res.wx.qq.com/open/js/jweixin-1.1.0.js">

function distanceByLnglat(lng1, lat1, lng2, lat2) {
			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 * 6378137.0; // 取WGS84标准参考椭球中的地球长半径(单位:m)
			s = Math.round(s * 10000) / 10000;
			alert(s);
			// //下面为两点间空间距离(非球面体)
			// var value= Math.pow(Math.pow(lng1-lng2,2)+Math.pow(lat1-lat2,2),1/2);
			// alert(value);
		}

		function Rad(d) {
			return d * Math.PI / 180.0;
		}
		// 7.2 获取当前地理位置  
		wx.config({
			debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。  
			appId: '${appId}', // 必填,公众号的唯一标识  
			timestamp: '${ timestamp}', // 必填,生成签名的时间戳  
			nonceStr: '${ nonceStr}', // 必填,生成签名的随机串  
			signature: '${ signature}', // 必填,签名,见附录1  
			jsApiList: ['checkJsApi',
				'chooseImage',
				'previewImage',
				'uploadImage',
				'downloadImage',
				'getNetworkType', //网络状态接口
				'openLocation', //使用微信内置地图查看地理位置接口
				'getLocation' //获取地理位置接口
			] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2  
		});
		wx.getLocation({
			success: function(res) {
				alert(JSON.stringify(res));
			},
			cancel: function(res) {
				alert('用户拒绝授权获取地理位置');
			}
		});
		//初始化jsapi接口 状态
		wx.error(function(res) {
			alert("调用微信jsapi返回的状态:" + res.errMsg);
		});

效果:


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Let dreams fly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值