2010-04-30 72 views
0

如果你去這裏:http://econym.org.uk/gmap/snap.htm有一些我試圖做的東西的例子。我希望用戶在Google地圖窗口小部件上輸入路線,然後讓地圖沿道路繪製路線。然後用戶點擊一個「提交」按鈕,他們的路由被髮送回服務器,並存儲在數據庫中。谷歌地圖在街道上的完整座標

img

而是發回正當紅的頂點,我想送回來這一切造成了紫線的信息。這可能嗎?

回答

2

紫色線條是以DOM格式存儲爲數組的多段線。您可以將它們的信息發送到您的服務器。

this頁,有你在地圖上點擊後如下JavaScript事件觸發:

var firstpoint = true; 
var gmarkers = []; 
var gpolys = []; 
var dist = 0; 

GEvent.addListener(dirn,"load", function() { 
    // snap to last vertex in the polyline 
    var n = dirn.getPolyline().getVertexCount(); 
    var p=dirn.getPolyline().getVertex(n-1); 
    var marker=new GMarker(p); 
    map.addOverlay(marker); 
    // store the details 
    gmarkers.push(marker); 
    if (!firstpoint) { 
     map.addOverlay(dirn.getPolyline()); 
     gpolys.push(dirn.getPolyline()); 
     dist += dirn.getPolyline().Distance(); 
     document.getElementById("distance").innerHTML="Path length: "+(dist/1000).toFixed(2)+" km. "+(dist/1609.344).toFixed(2)+" miles."; 
    } 
    firstpoint = false; 
    }); 

這些代碼行說,你點擊地圖後,您單擊的點捕捉到最近的路,那麼如果將第二個點添加到另一個點,則在所有這些折線之間將出現藍色路線

正如我以前所說,這些折線存儲在gpolys array.Also知道,所有的頂點或GMarkers也存儲在gmarkers陣列。