Я пытаюсь заполнить текстовое поле событием dblclick, используя информацию из базы данных. Когда я дважды нажимаю на маркер, неверная информация используется для заполнения полей. Я получаю те же значения для любого маркера, который я дважды нажимаю. Я пробовал различные способы ссылки на значения колидов, драйверов и транспортных средств, но если я что-то изменил, все, что я получаю, - это неизвестные значения в поле.Google Maps заполняет текстовое поле дополнительной информацией
map = new google.maps.Map(document.getElementById("map"), map_options);
var infoWindow = new google.maps.InfoWindow;
downloadUrl(url, function(data) {
var xml = data.responseXML;
var markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var ThisMarker = markers[i];
var InfoText = ThisMarker.getAttribute("InfoText");
var colid = ThisMarker.getAttribute("colid");
var driver = ThisMarker.getAttribute("driver");
var vehicle_reg = ThisMarker.getAttribute("vehicle");
var mtype = ThisMarker.getAttribute("type");
var point = new google.maps.LatLng(
parseFloat(ThisMarker.getAttribute("lat")),
parseFloat(ThisMarker.getAttribute("lng"))
);
var icon = customIcons[mtype] || {};
var marker = new google.maps.Marker({
map: map,
position: point,
icon: icon.icon,
clickable: true
});
bindInfoWindow(marker, map, infoWindow, InfoText);
if(mtype == 'col' || mtype == 'del') {
google.maps.event.addListener(marker, 'dblclick', function() {
document.getElementById("collivery_id").value = colid;
document.getElementById("command").value = 'action';
});
}
if(mtype == 'bike' || mtype == 'car' || mtype == 'bakkie' || mtype == 'truck') {
google.maps.event.addListener(marker, 'dblclick', function() {
document.getElementById("driver").value = driver;
document.getElementById("vehicle").value = vehicle_reg;
});
}
}
});
function bindInfoWindow(marker, map, infoWindow, InfoText) {
google.maps.event.addListener(marker, 'mouseover', function() {
infoWindow.setContent(InfoText);
infoWindow.open(map, marker);
});
google.maps.event.addListener(marker, 'mouseout', function() {
infoWindow.close(map, marker);
});
}
ли значения из последних маркеров? Это похоже на проблему, которая может быть решена с закрытием функции javascript (много похожих сообщений о InfoWindows). – geocodezip