【问题标题】:Find (lat,lng) which is on a polyline [closed]查找折线上的(lat,lng)[关闭]
【发布时间】:2015-03-16 10:14:09
【问题描述】:

我需要在绘制的折线上找到坐标 (lat,lng) 以在此处显示工具提示,而不是我用来绘制路径的坐标。 谁能帮帮我? :(

【问题讨论】:

  • 好问题。对于同样的问题,我也需要一个解决方案。
  • @NidhinSG Shaey, chumma :P
  • 您的代码目前是什么样的?什么坐标?你试过什么?
  • @geocodezip 我在这里找到了答案:stackoverflow.com/questions/19128954/…..!!哇 B-)
  • @NevinMadhukarK hehe odikko

标签: jquery google-maps-api-3 geocode


【解决方案1】:

您面临的问题是您正在使用测地线参数,该参数会强制按照地球的曲率绘制折线,但是,当您决定在哪里绘制工具提示时,您决定 跟随并前往直线和距离。

为了避免过多地重新发明轮子,我从另一个 JS 库中清除了 this piece of code。 jsfiddle 不允许我将它用作外部引用,并且它不在任何 CDN 上,因此直接复制意大利面的借口。替代方案将意味着完全重新实现文森蒂方程的解。

从那里开始,修改你的函数是一件简单的事情,以达到以下目的:

var getPoint = function(path, percentage) {
  var p1 = new LatLon(path.getAt(0).lat(), path.getAt(0).lng());
  var p2 = new LatLon(path.getAt(1).lat(), path.getAt(1).lng());
  var bearing = p1.bearingTo(p2);
  var d = p1.distanceTo(p2);
  var o = p1.destinationPoint(d * percentage, bearing);
  return new google.maps.LatLng(o.lat, o.lon);
};

结果:http://jsfiddle.net/E45Su/70/

请注意,这高度依赖谷歌地图 API,因为它需要 MVCArray 作为路径输入。

【讨论】:

  • 抱歉,我想使用 geodesic,因为我正在绘制飞行路线路径.. :( 任何其他建议..?
  • @user3513687 :您甚至没有检查小提琴。我实现了整个测地线计算。
  • 谢谢..这看起来很棒。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-11
  • 2011-07-05
  • 2011-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多