-1

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

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

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

有谁知道有没有类似的东西可以下载?另外,从头开始开发这个会很困难/耗时吗?

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

非常感谢任何建议。

谢谢,康纳

4

3 回答 3

5

由于谷歌地图使用纬度和经度,因此您必须转换为您喜欢的测量系统才能获得乌鸦飞行的距离。

这是一个使用 km 的

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 参考。我在一个项目中使用过它,效果很好。

于 2010-02-25T13:19:52.723 回答
0

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

distance from Los Angeles to New York

给你这个答案

但是你也可以查询坐标,所以也许你可以通过用户点击你的地图来获取坐标并查询如下:

distance from 40.34N 74.00W to 40.34N 12.00W

这给了你这个结果

于 2010-02-25T13:15:49.953 回答
0

你也可以用这个 MeasureTool for Google Maps

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

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

这是一个现场演示

于 2017-03-24T17:54:15.690 回答