我有一个坐标数组,我想在Maps API v3中创建PolyLines。到目前为止,我已经完成了以下工作。
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);
现在的问题是,在创建折线时,最后一个和第一个点也如图所示连接
其中最左边的点是第一个点,最右边的是数组locations
中的最后一个坐标。如何让红线只留在路上,而不是像乌鸦一样飞过?
答案 0 :(得分:0)
而不是pushing all
点同时pass pair
点,那么你的问题就会得到解决。尝试使用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,second
作为second pair
},second and third
为third pair
,.....,last,destination
为last pair
,用于谷歌指导服务或折线。
这里确保原点和目的地不相同,如果它们相同则不发送最后一对。
答案 1 :(得分:0)
这可能是由于:
1.重复的数据集。您可能已将两组或更多组数据推入折线路径,因此当结束时,它会连接到原始坐标并形成循环。
2.您将原始坐标添加到缓冲区的末尾。