Я с таким не сталкивался, та и вообще новичок, но видел код для этого в книге "Веб-программирование для чайников" Никхил Абрахам, там приводится пример создания приложения для вымышленного ресторана "McDuck", которое бы привязало пользователя к определенному кафе, считало расстояние между пользователем и рестораном (За теоремой Гаверсинуса) и указывает время нужное для перемещения, и при расстояние, которое можно преодолеть меньше, чем за 5 минут клиенту выдается купон
<!DOCTYPE html>
<html>
<head>
<title> McDuck's </title>
</head>
<body>
<h1>McDuck's Local Offers</h1>
<div id="geodisplay"></div>
<div id="effect"></div>
</body>
</html>
body {
text-align: center;
background: white;
}
h1, h2, h3, p{
font-family: Sans-Serif;
color: black;
}
p{
font-size: 1em;
}
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition
(showLocation);
}
}
function showLocation(position) {
var mcduckslat=40.735383; // "40.735383" идет как первое значение, которое идет после "@" в адресной строке Google Maps
var mcduckslon=-74.002994 //"-74.002994" идет как второе значение, после первого и запятой
var currentpositionlat=position.coords.latitude;
var cureentpositionlon=position.coords.longitude;
// Вычисление расстояния между текущим расположением и расположением ресторана
var distance=getDistanceFromLatLonInMiles(mcduckslat, mcduckslon, currentpositionlat, currentpositionlon);
document.getElemtById("geodisplay").innerHTML="Latitude: "+currentpositionlon;
// Формула гаверсинуса для вычисления расстояния между точками сферы