在谷歌地图 JS API 上获取两个点之间的点的纬度和经度(按百分比)

Getting the latitude and longitude of the point in between (by percentage) two points on Google Maps JS API?

本文关键字:纬度 谷歌地图 经度 百分比 之间 JS API 获取 两个      更新时间:2023-09-26

这是我到目前为止的代码:

function initialize() {
  var mapOptions = {
    center: { lat: 21.9072222, lng: -47.715},
    zoom: 3
  };
  var map = new google.maps.Map(document.getElementById('derby-to-lima'),
      mapOptions);
  var line = new google.maps.Polyline({
    path: [new google.maps.LatLng(53.9834124, -1.5863153), new google.maps.LatLng(-12.0553442, -77.0451853)],
    strokeColor: "#008CBA",
    geodesic: true,
    strokeOpacity: 0.5,
    strokeWeight: 5,
    map: map
  });
}
google.maps.event.addDomListener(window, 'load', initialize);

我想在现有线的顶部绘制另一条线,该线停在两点之间的点,可以按百分比更改。这有点难以解释,但想象一下第一点是开始,最后一点是结束。您可以通过跑步者通过他们的百分比来获得他们当前有多远。现在显示它们有多远(假设它们直线运行)。

谢谢,我已经坚持了一段时间了。

正如 @Dr.Molle 建议的那样,加载geometry库并使用方法 interpolate .

var startPoint =  new google.maps.LatLng(53.9834124, -1.5863153); 
var endPoint = new google.maps.LatLng(-12.0553442, -77.0451853);
var percentage = 0.5; 
var middlePoint = new google.maps.geometry.spherical.interpolate(startPoint, endPoint, percentage); 

小提琴