jQuery(function($) {
var directionsService = new google.maps.DirectionsService();
var geocoder = new google.maps.Geocoder();
function degreesToRadians(degrees) {
return degrees * Math.PI / 180;
}
navigator.geolocation.getCurrentPosition(function(position) {
var posit1 = {
lat: position.coords.latitude,
lng: position.coords.longitude
};
var posit2 = {
lat: parseFloat($('#droplat').val()),
lng: parseFloat($('#droplng').val())
};
var LatlngRest = new google.maps.LatLng(posit2.lat, posit2.lng);
//get directionsService
directionsDisplay = new google.maps.DirectionsRenderer();
var mapOption = {
zoom: 14,
center: LatlngRest,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
// Attach a map to the DOM Element, with the defined settings
var singlemap = new google.maps.Map(document.getElementById("restaurant-map"), mapOption);
directionsDisplay.setMap(singlemap);
//calculate route
function calcRoute() {
var start = posit1;
var end = posit2;
var request = {
origin: start,
destination: end,
travelMode: 'DRIVING'
};
directionsService.route(request, function(result, status) {
if (status == 'OK') {
directionsDisplay.setDirections(result);
}
});
}
//dragable position
restmarker = new google.maps.Marker({
map: singlemap,
draggable: false,
animation: google.maps.Animation.DROP,
position: posit2
});
var yourdist = distanceInKmBetweenEarthCoordinates(posit1.lat, posit1.lng, posit2.lat, posit2.lng);
var yourdistance = parseFloat(Math.round(yourdist * 100) / 100).toFixed(2);
$('.distancekm').html(yourdistance + ' Kilometers from your current location.');
$('#deliinfo').html('Distance: ' + yourdistance + ' km<br>Distance Covered: 25km<br>Deliver Fee On Arrive: RM 7.00 <br>');
});
var input = document.getElementById('locationauto');
var options = {
types: ['(regions)'],
componentRestrictions: {
country: 'my'
}
};
autocomplete = new google.maps.places.Autocomplete(input, options);
$('#changeloc').on('submit', function(e) {
e.preventDefault();
var pos = {
lat: $('#droplat').val(),
lng: $('#droplng').val()
};
addressmanual = $('#locationauto').val();
geocoder.geocode({
'address': addressmanual
}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var pos1 = {
lat: results[0].geometry.location.lat(),
lng: results[0].geometry.location.lng()
}
var yourdist = distanceInKmBetweenEarthCoordinates(pos1.lat, pos1.lng, pos.lat, pos.lng);
var yourdistance = parseFloat(Math.round(yourdist * 100) / 100).toFixed(2);
$('.distancekm').html(yourdistance + ' Kilometers from your current location.');
$('#deliinfo').html('Distance: ' + yourdistance + ' km<br>Distance Covered: 25km<br>Deliver Fee On Arrive: RM 7.00 <br>');
};
});
});
function distanceInKmBetweenEarthCoordinates(lat1, lon1, lat2, lon2) {
var earthRadiusKm = 6371;
var dLat = degreesToRadians(lat2 - lat1);
var dLon = degreesToRadians(lon2 - lon1);
lat1 = degreesToRadians(lat1);
lat2 = degreesToRadians(lat2);
var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.sin(dLon / 2) * Math.sin(dLon / 2) * Math.cos(lat1) * Math.cos(lat2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
return earthRadiusKm * c;
}
$('.add_to_cart_inline a').append('<i class="ml-5 ion-bag"><i>')
});