2010-02-25 14 views
-1

我期待爲我的網站開發/獲取簡單的GMaps應用程序,讓用戶繪製兩點並獲得兩者之間的距離。我的網站簡單的Google地圖距離工具

這是一個適合我的應用程序。 http://www.daftlogic.com/projects-google-maps-distance-calculator.htm

我認爲「像烏鴉一樣」就足夠了,但如果可能的話,「建議路線」的測量結果會很好,太耗時。

有沒有人知道是否有這樣的東西可供下載?另外,從零開始開發它會很困難/耗時嗎?

不幸的是,它只是一個更大的項目的一小部分,所以我不能花太多時間在它上面。

任何建議非常感謝。

感謝, 康納爾

回答

5

由於谷歌地圖使用經度和緯度,你必須做一個轉換到您的首選測量系統獲得的距離直線距離。

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參考。我已經在一個項目中使用它,並且它工作正常。

0

不知道,如果它可以幫助,但鎢,您可以查詢距離(除其他功能),如:

distance from Los Angeles to New York 

給你這個answer

但是你也可以查詢座標,所以也許你可以通過用戶點擊你的地圖並查詢如下的座標:

distance from 40.34N 74.00W to 40.34N 12.00W 

,讓你this result

+0

感謝您的答覆球員,但我不認爲任何一方已覆蓋了我要找的。 基本上我想要的是製作一個GMap窗口,讓用戶在地圖上繪製兩個點。我認爲通過使用GMap API來計算兩點之間的距離是微不足道的。 – conor

0

你可以和這個測量工具谷歌地圖

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

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

這裏一住就是demo

+0

在這種情況下,這不是你的錯,因爲這個問題是離題的,但請注意,一般來說,推薦某個工具或庫的答案必須證明它如何解決答案本身的問題。 –