Google Maps API нажимает на маркер Lat/Lng при клике по массиву для пути строки
То, что я пытаюсь сделать, - это когда пользователь щелкает маркер, его ширина рассматривается как первая ширина строки, которая может иметь несколько пунктов назначения. Это мой синтаксис маркера для нажатия на маркер, который щелкает по массиву:
var originPoint = []
for (var i in points) {
var p = points[i];
var latlng = new google.maps.LatLng(p[1], p[2]);
var marker = new google.maps.Marker({
position: latlng,
icon: points[i][3],
zIndex: p[5],
title: p[0]
});
overviewMarkers.push(marker)
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(points[i][6] + '<div id="infopanel">' +
'<input onclick="addLine();" type=button value="Show Routes">' +
'<input onclick="removeLine();" type=button value="Remove Routes"></div>');
infowindow.open(map, marker)
originPoint.push(marker, i);
}
})(marker, i));
}
Тогда мой синтаксис для рисования линии. Я не уверен, правильно ли я вызываю маркер latlng из массива originPoint:
var arrayLine = []
var destPoint = [new google.maps.LatLng(51.9279723, 4.4904063),
new google.maps.LatLng(40.136482, -73.831299),
new google.maps.LatLng(34.0204989, -118.4117325)
];
var lineSymbol = {
path: google.maps.SymbolPath.FORWARD_OPEN_ARROW
};
for (var d in destPoint) {
var dt = destPoint[d];
var ot = new google.maps.LatLng(originPoint[1], originPoint[2])
var linePath = new google.maps.Polyline({
path: [ot, [dt][0]],
strokeColor: '#4A484D',
strokeOpacity: 1.0,
strokeWeight: 2,
geodesic: true,
icons: [{
icon: lineSymbol,
offset: '100%',
repeat: '60px'
}]
});
arrayLine.push(linePath)
function setLines(map) {
for (var i = 0; i < arrayLine.length; i++) {
arrayLine[i].setMap(map);
}
}
}
Вот моя текущая скрипка: http://jsfiddle.net/8dcgLja9/.