2010-08-04 166 views
22

如何使用Google Maps API繪製路線?例如,將一堆路點加載到地圖上(我現在有這種情況),然後從每個路口劃出一條線,向用戶顯示他們可以看到的所有路線?那麼當用戶看到地圖的時候,我會如何加載呢?在Google地圖上繪製路線

+0

如果我可以添加到我的答案澄清,請讓我知道。 – RedBlueThing 2010-08-11 06:41:13

+0

@Cannonade是的,那很好..對不起。我可以舉個例子嗎?只是有點困惑 – Skizit 2010-08-11 10:40:34

+0

我會實施一個例子,並儘快更新我的答案,只要我有機會。 – RedBlueThing 2010-08-11 12:15:57

回答

28

您可以設置航點屬性對象上,它會通過您的陣列中的所有點繪製從源到目的地的路線:

中間航點的數組。 方向將通過 這個數組中的每個路點從 原點到目的地計算。

一旦您設置了航點屬性,調用路徑法計算方向:

route(request:DirectionsRequest, callback:function(DirectionsResult, DirectionsStatus))) 

一旦你有你的DirectionsResult,您可以使用DirectionsRenderer對象上呈現結果一個Google地圖。

// three points through which the directions pass 
var point1 = new google.maps.LatLng(-33.8975098545041,151.09962701797485); 
var point2 = new google.maps.LatLng(-33.8584421519279,151.0693073272705); 
var point3 = new google.maps.LatLng(-33.84525521656404,151.0421848297119); 

// build an array of the points 
var wps = [{ location: point1 }, { location: point2 }, {location: point3}]; 

// set the origin and destination 
var org = new google.maps.LatLng (-33.89192157947345,151.13604068756104); 
var dest = new google.maps.LatLng (-33.69727974097957,150.29047966003418); 

var request = { 
     origin: org, 
     destination: dest, 
     waypoints: wps, 
     travelMode: google.maps.DirectionsTravelMode.DRIVING 
     }; 

可以找到此代碼的工作示例:

與工作實例

以下代碼使經由三路點的陣列的硬編碼的起點和終點之間的方向請求更新heresource)。

N.B.請記住,除非您切換到企業帳戶,否則最多隻能在陣列中使用八個航點。

+0

A B C在地圖上顯示爲標記。他們在哪裏設置?我該如何將這個變成空白或者是該地方的標題? – LTech 2014-06-24 09:46:23

+2

感謝航點限制信息 – 2015-04-22 09:39:54

3

您可以使用靜態地圖,然後遍歷所有點並使用路徑參數繪製點。

喜歡的東西:

&path=color:blue|weight:5|45.123,-123.595|46.456,-124.985 
+3

請分享您正在談論的完整代碼嗎? – 2017-03-24 03:20:35

0

我已經在Android上完成了這項工作。 谷歌已爲此服務這裏是鏈接 https://developers.google.com/maps/documentation/roads/intro

你會在這裏找到一個API調用示例。加上一些網頁說明。 https://developers.google.com/maps/documentation/roads/snap

這是一個Web服務調用示例。 https://roads.googleapis.com/v1/snapToRoads?path=-35.27801,149.12958|-35.28032,149.12907|-35.28099,149.12929|-35.28144,149.12984|-35.28194,149.13003|-35.28282,149.12956|-35.28302,149.12881|-35.28473,149.12836&interpolate=true&key=YOUR_API_KEY

如果記憶服務,我相信每次打電話最多可以有100個積分,每次打電話都會收取費用,而不管積分數量多少。

上面的這個調用也可以配置成對齊道路。

就地圖加載時繪製路線而言,這取決於您使用的是什麼技術。我知道這很容易。NET WinForms

如果您對您的問題發表了評論,讓我知道你使用的是什麼技術我可能會給你一些進一步的建議。

如果你想測試你的路線自由,我發現了一個漂亮的小網站: https://www.darrinward.com/lat-long/

希望這有助於。