2012-01-18 84 views
0

應用程序這樣工作: 用戶輸入起始位置和距離。用戶可以選擇在道路上繪製圓圈或線條。圈子工作正常。線路用於工作。Google Maps API v3多段線沒有繪製

當行,代碼找到起始位置的緯度/經度,然後對於用戶設置的距離(比如100km)原點的點N,S,E,W。從N目標開始,代碼調用google.maps.DirectionsService()以獲取從原點到N的方向。這將在route.overview_path中返回經緯度數組。

注意:我可以使用directionsRenderer()繪製路徑,但繪製的距離將大於用戶設置的距離。繪製從起點到N點的整條路線可能在道路上124公里,我只想繪製100公里。

而是,我遍歷route.overview_path []數組,檢查該點與原點之間的距離,將每個點添加到新數組。當距離大於用戶設置的距離時,我停下來,彈出最後一個元素,然後基於第二個較小的陣列創建一個新的Polyline。

我花了整整一天的Chrome瀏覽器開發人員模式瀏覽javascript,設置斷點,觀看本地人等。在google.maps.Polyline({})中傳遞的點數組是一個很好的唯一點數組。我只是不知道爲什麼他們沒有渲染。

最終,代碼用於繪製從起始點開始的4條線,一條朝北,一條朝向東,南,西。等....

的代碼是在這裏:http://whosquick.com/RunViz.html

感謝您的關注。

回答

0

沒關係。解決了它。

var objGeo = new LatLon(Geo.parseDMS(myroute.overview_path[0].Pa), Geo.parseDMS(myroute.overview_path[0].Qa)); 

我已經無意中將Pa與Qa切換。