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);
}