|
czyl0809 :
可以用javascript来计算2点间距离吗?
如题
在javascript中可否用DoublePoint,cartesianDistance等方法呢?
wtusmchen :
可以这样试试,至于准不准,测过之后再贴出来吧,实践出真知:)
1。下载地图的时候同时下载当前地图的X方向视野(Zx)和Y方向视野(Zy)
2。用javascript在地图上点下两点(x1,y1),(x2,y2)
3。计算X方向距离 dx=Math.abs(x1-x2)/imageWidth*Zx
4。计算Y方向距离 dy=Math.abs(y1-y2)/imageHeight*Zy
5。计算两点间距离 d?=Math.sqrt(dx*dx + dy*dy)
yukizh :
班主任的方法可行,算出来的距离在乘以实际的比例就行了
wtusmchen :
另外一个比较好的办法是用经纬度计算距离,公式网上有,也可以试试这个: function ToMetres(dG1, dL1, dG2, dL2) { var num1 = 0.017453292; var num2 = 1 / num1; dL1 *= num1; dG1 *= num1; dL2 *= num1; dG2 *= num1; return ((111120 * num2) * Math.Acos((Math.Sin(dL1) * Math.Sin(dL2)) + ((Math.Cos(dL1) * Math.Cos(dL2)) * Math.Cos(dG2 - dG1)))); } |