【问题标题】:Getting the latitude and longitude of the point in between (by percentage) two points on Google Maps JS API?获取Google Maps JS API上两点之间的纬度和经度(按百分比)?
【发布时间】:2014-12-23 19:09:57
【问题描述】:

这是我目前的代码:

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);

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

谢谢,我在这个问题上纠结了一段时间。

【问题讨论】:

标签: javascript google-maps google-maps-api-3


【解决方案1】:

按照@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); 

FIDDLE

【讨论】:

  • 谢谢你,等我回到我的电脑上试试看。
猜你喜欢
  • 2015-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-27
  • 1970-01-01
  • 2013-03-01
相关资源
最近更新 更多