Решение для отслеживания GPS (Google Maps API) - PullRequest
0 голосов
/ 28 апреля 2018

Я работаю над решением для отслеживания GPS. Но моя проблема в том, что у меня есть геолокация, но я хочу перейти из моего местоположения в другое местоположение, которое я ранее определил. Как мне это сделать ? Я работаю с Google Maps API

1 Ответ

0 голосов
/ 28 апреля 2018

Вы можете использовать формулу Haversine, например:

Number.prototype.toRad = function() {
  return this * Math.PI / 180;
}

var Point = function(lat, lng){
  this.lat = lat;
  this.lng = lng;
}

var p1 = new Point(-23.6536633, -46.70669269999996);
var p2 = new Point(-23.5553565, -46.66189859999997);

var deltaLat = p2.lat - p1.lat;
var deltaLng = p2.lng - p1.lng;
var lat = deltaLat.toRad()/2;
var lng = deltaLng.toRad()/2;
var a = Math.sin(lat) * Math.sin(lat) + 
    Math.cos(p1.lat.toRad()) * Math.cos(p2.lat.toRad()) *
    Math.sin(lng) * Math.sin(lng);

var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a))
var distance = 6371 * c;
console.log(distance);

document.getElementById("demo").innerHTML = distance.toFixed(2) +" km";
<p id="demo"></p>

Вдохновлен этой темой:

Использование формулы Haversine в Javascript

...