【问题标题】:what is happening in following code [closed]以下代码中发生了什么[关闭]
【发布时间】:2011-10-31 15:17:21
【问题描述】:

谁能告诉我下面的代码发生了什么?我正在尝试完成教程,但我有点迷失了。

我不确定如何调用以下函数,或者如何设置参数(例如if brng =45 and dist=1

LatLon.prototype.destinationPoint = function(brng, dist) {

    dist = typeof(dist)=='number' ? dist : typeof(dist)=='string' && dist.trim()!='' ? +dist :  NaN;

    dist = dist/this._radius;  // convert dist to angular distance in radians

    brng = brng.toRad();  // 

    var lat1 = this._lat.toRad(), lon1 = this._lon.toRad();

    var lat2 = Math.asin( Math.sin(lat1)*Math.cos(dist) + 
                            Math.cos(lat1)*Math.sin(dist)*Math.cos(brng) );

    var lon2 = lon1 + Math.atan2(Math.sin(brng)*Math.sin(dist)*Math.cos(lat1),  
                                   Math.cos(dist)-Math.sin(lat1)*Math.sin(lat2));

    lon2 = (lon2+3*Math.PI)%(2*Math.PI) - Math.PI;  // normalise to -180...+180

    return new LatLon(lat2.toDeg(), lon2.toDeg());

}

此代码可以在以下页面找到http://www.movable-type.co.uk/scripts/latlong.html

【问题讨论】:

  • 我看到一大堆可怕的变量名选择和一般不可读的代码。
  • 你尝试了什么? destinationPoint(45, 1) 怎么样?
  • 怎么样...真的,这很简单。 @Shaheryar,您真的只需要尝试一下,而不是指望我们会在您输入每个字符的过程中让您放心。
  • @JamWaffles 我不会问你如果我自己知道以下代码中发生了什么,我作为参考给出了我从中获取此代码的网站的链接。这段代码的作用是,如果你给出起点坐标以及方位和距离,它会给你终点坐标。但我不知道这段代码是如何工作的。
  • “以下代码中发生了什么”是什么意思?您需要为这个问题添加一些上下文,否则它很可能会被关闭。

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


【解决方案1】:

不知道您是否曾经编写过 JS,但您必须创建一个代表您的类的函数...

function LatLon(lat, lon, rad) {

如果你写了这个,你可以通过键入来调用这个“构造函数”

var myLatLon = new LatLon(lat, lon, rad)

加上以前的相同!

【讨论】:

    【解决方案2】:

    你可以这样称呼它

    var myLatLon = new LatLon();
    maLatLon.destinationPoint(45, 1);
    

    你读过这个吗!?

    http://en.wikipedia.org/wiki/Great_circle

    你想知道每一行是做什么的,还是想知道计算的目的是什么?

    【讨论】:

    • 谢谢。我要找的就是你回复的。
    • 我尝试运行此代码的另一件事,但它就是不工作
    • 好吧 .. 这段代码是剪掉了你发布了整个班级的函数吗!?如果不是,那么您不能这样称呼它,因为您必须先编写对象!你能把你所有的代码都贴出来吗!?
    • @我是从以下网站复制的movable-type.co.uk/scripts/latlong.html
    • 我从以下网站上复制了它movable-type.co.uk/scripts/latlong.html 打开它并搜索followin“从这个点返回目的地点已经行进给定的距离(在km) on the"它会带你到确切的代码....如果你能帮我解决这个问题,我会说谢谢:)
    猜你喜欢
    • 2014-05-13
    • 2017-12-27
    • 2014-11-12
    • 1970-01-01
    • 2014-03-20
    • 1970-01-01
    • 2022-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多