Вот демоверсия JSFiddle :
Сначала мы создаем глобальную переменную для хранения наших точек ломаной линии:
var flightPlanCoordinates = []; //global array to track our Lat Lng needed to plot the polyline
Проблема, с которой вы столкнулись, заключается в том, что вы нене кормить полилинию более чем одним латгом.Так что, в основном, это не рисование ломаной линии, потому что для ее создания нужен только один Lat Lng.Вам нужно более одного Lat Lng, чтобы создать какую-то линию.Таким образом, мы создали глобальный массив с именем flightPlanCoordinates
для отслеживания Lat Lng полилинии и помещаем в него местоположения Lat Lng с помощью цикла for.После завершения цикла for мы создаем наложение полилинии и устанавливаем для него текущую карту:
function see() {
var locations = new Array(3); //(<%= count%>);
for (i = 0; i < locations.length; i++) {
locations[i] = new Array(2); //This one is wrong!! (<%= count%>);
}
for (i = 0; i < locations.length; i++) {
locations[i][0] = 18.9 + i / 100;
locations[i][1] = 72.8 + i / 100;
}
var i;
var infowindow = new google.maps.InfoWindow();
var marker;
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][0], locations[i][1]),
map: map
});
//pushing Lat Lng to use to create polyline
flightPlanCoordinates.push(new google.maps.LatLng(locations[i][0], locations[i][1]));
}
var flightPath = new google.maps.Polyline({
path: flightPlanCoordinates,
strokeColor: "#FF0000",
strokeOpacity: 1.0,
strokeWeight: 2
});
flightPath.setMap(map);
}
Кроме того, обратите внимание, что в вашем информационном окне на самом деле нечего отображать.Там нет ассоциированного события клика с маркером, чтобы открыть его.