我网站的简单Google地图距离工具

时间:2010-02-25 13:03:24

标签: google-maps distance

我正在为我的网站开发/获取一个简单的GMaps应用程序,让用户绘制两个点并获得两者之间的距离。

这是一款适合我的应用。 http://www.daftlogic.com/projects-google-maps-distance-calculator.htm

我认为“因为乌鸦飞得”就足够了,但如果可能的话,“建议的路线”测量会很好并且太费时间。

有人知道是否有这样的东西可以下载吗?此外,从头开始开发是困难/耗时吗?

不幸的是,它只是一个更大的项目的一小部分,所以我将无法花太多时间在它上面。

任何建议都非常感谢。

谢谢, 康纳

3 个答案:

答案 0 :(得分:5)

由于Google地图使用纬度和经度,因此您必须转换到首选测量系统,以便在乌鸦飞行时获得距离。

Here's one that uses kilometers;

var R = 6371; // km
var dLat = (lat2-lat1).toRad();
var dLon = (lon2-lon1).toRad(); 
var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
        Math.cos(lat1.toRad()) * Math.cos(lat2.toRad()) * 
        Math.sin(dLon/2) * Math.sin(dLon/2); 
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
var d = R * c;

但是,您可以从Google Maps v2 API获取路线的方向数据。查看GDirections以获取API参考。我在一个项目中使用它,它工作正常。

答案 1 :(得分:0)

不知道它是否有帮助,但是wolfram允许您查询距离(以及其他功能),例如:

distance from Los Angeles to New York

为您提供此answer

但你也可以查询坐标,所以也许你可以通过用户点击地图来获取坐标并查询类似的内容:

distance from 40.34N 74.00W to 40.34N 12.00W

为您提供this result

答案 2 :(得分:0)

您也可以使用Google地图的MeasureTool

https://github.com/zhenyanghua/MeasureTool-GoogleMaps-V3

例如,引用geometry库,然后引用var measureTool = new MeasureTool(map);

这是一个实时demo