GPS 跟踪解决方案(Google 地图 API)

GPS Tracking Solution(Google Maps API)

我正在研究 gps 跟踪解决方案。但我的问题是我有我的地理位置,但我想要一种从我的位置到我之前定义的另一个位置的方法。我该怎么做 ?我正在使用 Google 地图 API

您可以像这样使用 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>

受此主题启发:

Using the Haversine Formula in Javascript