2014-09-27 182 views
1

我有一個座標系數組,我想在Maps API v3中創建PolyLines。到目前爲止我已經完成了以下工作。在Google地圖中創建非循環多段線

for (i = 0; i < locations.length; i++) { //locations is an array of Lat, Long 
     var a = new google.maps.LatLng(locations[i][0], locations[i][1]); 
     plans.push(a) 
     bounds.extend(a); 
    } 

    var roadPath = new google.maps.Polyline({ 
     path: plans, 
     geodesic: true, 
     strokeColor: '#FF0000', 
     strokeOpacity: 1.0, 
     strokeWeight: 2 
    }); 
    roadPath.setMap(map); 

現在,這裏的問題是,在創建折線,最後和第一點獲得連接太所示

PolyLine

在最左側的點是第一點,最右邊的是數組中的最後一個座標locations。我怎樣才能讓紅線只粘在路上而不是像烏鴉一樣飛翔?

+2

API不會連接點,當它們連接時,您重複了第一個或最後一個點。 – 2014-09-27 21:06:26

+0

請提供[最小,完整,已測試和可讀的示例](http://stackoverflow.com/help/mcve)。 – geocodezip 2014-09-28 22:52:06

回答

0

而不是pushing all積分同時pass pair的點然後你的問題就會解決.i.e。嘗試使用pair of points。如:第一次send origin and first點,然後second pair is first point and second point等等。

例如:supoose你點作爲數組:origin,first,seond,third,......,last,destination。然後發送origin,first作爲first pair然後first,secondsecond pairsecond and thirdthird pair,.....,last,destinationlast pair到谷歌服務的方向或折線。

這裏確保原點和目標不相同,如果它們相同,則不發送最後一對。

+0

對不起,我沒有完全按照。 – Newtt 2014-09-27 19:06:27

+0

我已經在例子中解釋過。 – 2014-09-27 19:12:57

+0

這篇文章以低質量隊列結束。我投了反對票,但很容易理解爲什麼。 @SuchitKumar,你需要''停止'濫用內聯'格式來突出''部分你的'帖子 - 我檢查了你的其他答案,你經常這樣做。請使用其他格式選項,例如\ * \ *粗體\ * \ *或\ _italic \ _。這會刺激人們,讓你的閱讀變得更難,更容易。 – Xan 2015-03-02 15:39:36

0

這可能是由於:
1.重複的數據集。您可能已將兩組或更多組數據插入您的多段線路徑中,因此當一組數據結束時,它將連接到原始座標並形成循環。 2.您將原始座標添加到緩衝區的末尾。