是否可以向谷歌发送两个经纬度长点来计算两者之间的距离?使用谷歌地图api工作两点之间的距离?
3
A
回答
0
有一个方便的功能
http://code.google.com/apis/maps/documentation/reference.html#GLatLng.distanceFrom
基本上创建2个的GLatLng对象,然后使用上面的方法
7
你所追求的是Haversine formula。你不需要谷歌地图来做到这一点,你可以单独解决。有一个脚本来做到这一点(在JavaScript中)here。
0
它已经多年,因为我这样做,但你可以使用Great Circle Distance
2
没有,但
可以使用Vincenty的公式,模型,地球的形状。它在Javascript here中可用。
相当容易解析网页是(例如):http://boulter.com/gps/distance/?from=51.5329855+-0.1303506&to=40.757584+-73.985642&units=m
谁的人只需要距离的快速测量,检查出this gadget。但是,它只使用大圆计算。正如罗布所说,谷歌已经添加了它,但他们仍然只使用大圆公式,该公式可能不准确1/300。
3
是谷歌能做到这一点
这里是一片的Java脚本,得到的两分
function initialize() { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById("map_canvas")); map.setCenter(new GLatLng(52.6345701, -1.1294433), 13); map.addControl(new GLargeMapControl()); map.addControl(new GMapTypeControl()); geocoder = new GClientGeocoder(); // NR14 7PZ var loc1 = new GLatLng(52.5773139, 1.3712427); // NR32 1TB var loc2 = new GLatLng(52.4788314, 1.7577444); alert(loc2.distanceFrom(loc1)/1000); } }
3
而在C#中的距离CAL在千米的距离:
// this returns the distance in miles. for km multiply result: * 1.609344
public static double CalculateDistance(double lat1, double lon1, double lat2, double lon2)
{
double t = lon1 - lon2;
double distance = Math.Sin(Degree2Radius(lat1)) * Math.Sin(Degree2Radius(lat2)) + Math.Cos(Degree2Radius(lat1)) * Math.Cos(Degree2Radius(lat2)) * Math.Cos(Degree2Radius(t));
distance = Math.Acos(distance);
distance = Radius2Degree(distance);
distance = distance * 60 * 1.1515;
return distance;
}
private static double Degree2Radius(double deg)
{
return (deg * Math.PI/180.0);
}
private static double Radius2Degree(double rad)
{
return rad/Math.PI * 180.0;
}
0
如果您只是想将距离作为数字,请尝试一些像这样的事情。
function InitDistances() {
var startLocation = new GLatLng(startLat, startLon);
var endLocation = new GLatLng(endLat, endLon);
var dist = startLocation .distanceFrom(endLocation);
// Convert distance to miles with two decimal points precision
return (dist/1609.344).toFixed(2);
}
10
如果你正在寻找使用v3的谷歌地图API,这里是我使用的功能: 注意:您必须将&libraries=geometry
添加到脚本源中
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&libraries=geometry"></script>
现在的功能:
//calculates distance between two points in km's
function calcDistance(p1, p2){
return (google.maps.geometry.spherical.computeDistanceBetween(p1, p2)/1000).toFixed(2);
}
相关问题
- 1. 两点之间的距离谷歌地图a是undefined api v3
- 2. 谷歌地图API - V3两个多边形之间的距离
- 3. 谷歌地图:指定路线上两点之间的距离
- 4. 无法计算谷歌地图中两点之间的距离
- 5. 如何计算谷歌地图中两点之间的距离?
- 6. 谷歌应用程序脚本地图API两点之间的距离计算
- 7. 谷歌地图距离API
- 8. 使用谷歌地图api URL(“代码不工作”)的两点之间的距离
- 9. 谷歌地图 - 如何获得米之间的两点之间的距离?
- 10. 的Xcode在谷歌两个地点之间的距离映射
- 11. 谷歌地点api排名的距离
- 12. SQL Server空间距离谷歌地图上的两点
- 13. Android谷歌地图点之间的距离
- 14. 2个谷歌地图点之间的距离
- 15. 谷歌地图API - 找到两点之间的匹配地点?
- 16. 使用iphone中的谷歌地图计算两个位置之间的距离
- 17. 谷歌地图API总距离计算
- 18. 谷歌地图Api - 两点之间的地方
- 19. 使用python计算谷歌地图中2点之间的距离
- 20. 获取两个地理点之间的距离 - 离线地图
- 21. 机器人,两地之间的计算距离,谷歌距离矩阵
- 22. 两点之间的测地距离
- 23. 两个地理点之间的距离?
- 24. 谷歌地图v3距离
- 25. 使用谷歌地图计算距离
- 26. 谷歌距离API
- 27. 谷歌地图API,距地铁站的距离
- 28. 附近的地点,距离和路线使用谷歌地图API的Web
- 29. 谷歌地图API的时间和距离数据(访问/ VBA)
- 30. 如何使用谷歌地点api查找距离
直接前往[@ SunnyD的回答下面](http://stackoverflow.com/questions/506747/working-out-distances-between-two-points-using-google -maps-api/6419141#6419141)获取Google Maps API V3答案。 – Josh 2011-07-15 15:22:59