mui.plusReady(function() {
	plus.geolocation.getCurrentPosition(function(p) {
		plus.storage.setItem('lat',p.coords.latitude);
		lat = p.coords.latitude;
		plus.storage.setItem('lng',p.coords.longitude);
		lng = p.coords.longitude;
		var center = [];
		center = gcj02tobd09(lat, lng);
		lat = center[0];
		lng = center[1];
		getDistance(lat, lng, latitude, longitude);
	}, function(e) {
		console.log('Geolocation error: ' + e.message);
	}, {
		provider: 'baidu'
	});				
})

function getDistance($lat1, $lng1, $lat2, $lng2) {
	$earthRadius = 6367000;
	$lat1 = ($lat1 * Math.PI) / 180;
	$lng1 = ($lng1 * Math.PI) / 180;
	$lat2 = ($lat2 * Math.PI) / 180;
	$lng2 = ($lng2 * Math.PI) / 180;
	$calcLongitude = $lng2 - $lng1;
	$calcLatitude = $lat2 - $lat1;
	$stepOne = Math.pow(Math.sin($calcLatitude / 2), 2) + Math.cos($lat1) * Math.cos($lat2) * Math.pow(Math.sin($calcLongitude / 2), 2);
	$stepTwo = 2 * Math.asin(Math.min(1, Math.sqrt($stepOne)));
	$calculatedDistance = $earthRadius * $stepTwo;
	return Math.round($calculatedDistance);
}

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐