是否可以向谷歌發送兩個經緯度長點來計算兩者之間的距離?使用谷歌地圖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. 如何計算谷歌地圖中兩點之間的距離?
- 2. 谷歌應用程序腳本地圖API兩點之間的距離計算
- 3. 谷歌地圖距離API
- 4. 使用谷歌地圖api URL(「代碼不工作」)的兩點之間的距離
- 5. 谷歌地圖 - 如何獲得米之間的兩點之間的距離?
- 6. 的Xcode在谷歌兩個地點之間的距離映射
- 7. 谷歌地點api排名的距離
- 8. Android谷歌地圖點之間的距離
- 9. 使用iphone中的谷歌地圖計算兩個位置之間的距離
- 10. 谷歌地圖Api - 兩點之間的地方
- 11. 使用python計算谷歌地圖中2點之間的距離
- 12. 獲取兩個地理點之間的距離 - 離線地圖
- 13. 兩點之間的測地距離
- 14. 兩個地理點之間的距離?
- 15. 使用谷歌地圖計算距離
- 16. 谷歌地圖API,距地鐵站的距離
- 17. 谷歌地圖API的時間和距離數據(訪問/ VBA)
- 18. 如何使用谷歌地點api查找距離
- 19. 試圖找到兩個LatLng對象之間的距離使用谷歌地圖api和javascript
- 20. 兩個地址之間的直線距離 - Google地圖API
- 21. 如何計算谷歌地圖中兩個座標之間的距離?
- 22. 如何兩點之間的MapFragment使用谷歌地圖API的Android
- 23. 使用PHP和谷歌地圖Api找出兩個郵政編碼之間的距離(英國)
- 24. 使用谷歌地圖方向API計算兩個位置之間的距離android
- 25. 谷歌API - - 地方搜索RankBy距離
- 26. 使用Google Directions API計算兩點之間的實際距離
- 27. 是否有IOS API封裝了兩個位置API之間的谷歌距離?
- 28. 離線使用谷歌地圖(Js Api)
- 29. 谷歌地圖Google地圖兩點之間的路線
- 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