是否可以向谷歌發送兩個經緯度長點來計算兩者之間的距離?使用谷歌地圖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