Please look at my code. Where is the problem? When i call this function coordinates now work normally( lines not working) and info windows also not working.
So when delete function binfowindow
everything is working but infowindow show only last data..
Updated! Not a result!
function getline() {
var mpenc = new google.maps.InfoWindow();
downloadUrl("line.php", function(doc) {
var g = google.maps;
var xmlDoc = xmlParse(doc);
bounds = new google.maps.LatLngBounds();
var markers = xmlDoc.documentElement.getElementsByTagName("marker");
// ========= Now process the polylines ===========
var lines = xmlDoc.documentElement.getElementsByTagName("line");
// read each line
for (var a = 0; a < lines.length; a++) {
// get any line attributes
var colour = lines[a].getAttribute("colour");
var width = parseFloat(lines[a].getAttribute("width"));
var diameter = lines[a].getAttribute("diameter");
var project = lines[a].getAttribute("projectid");
var contract = lines[a].getAttribute("contract");
var comp = lines[a].getAttribute("complated");
var id = lines[a].getAttribute("id_line");
var html = "men ?" + id + " I: ";
// read each point on that line
var points = lines[a].getElementsByTagName("point");
var pts = [];
var length = 0;
var point = null;
for (var i = 0; i < points.length; i++) {
pts[i] = new g.LatLng(parseFloat(points[i].getAttribute("lng")),
parseFloat(points[i].getAttribute("lat")));
if (i > 0) {
length += pts[i-1].distanceFrom(pts[i]);
if (isNaN(length)) { alert("["+i+"] length="+length+" segment="+pts[i-1].distanceFrom(pts[i])) };
}
bounds.extend(pts[i]);
point = pts[parseInt(i/2)];
}
// length *= 0.000621371192; // miles/meter
if (comp < 1) {
colorr = '#FA0505' }
if (comp > 0 && comp < 25 ) {
colorr = '#FFA640' }
if (comp > 24 && comp < 50) {
colorr = '#FFFD91' }
if (comp > 49 && comp < 75) {
colorr = '#E8E400' }
if (comp > 74 && comp < 100) {
colorr = '#BFFFAD' }
if (comp == 100) {
colorr = '#0F8500' }
var poly = new g.Polyline({
map:map,
path:pts,
strokeColor:colorr,
strokeWeight:width,
clickable: true
});
google.maps.event.addListener(poly,'mouseover', function() {
this.setOptions({strokeColor: '#690469' });
this.setOptions({strokeOpacity: 1.0 });
this.setOptions({strokeWeight: 4 });
});
google.maps.event.addListener(poly,'mouseout', function() {
this.setOptions({strokeColor: colorr });
this.setOptions({strokeOpacity: 1.0 });
this.setOptions({strokeWeight: 4 });
});
var funcs = [];
function createfunc(i) {
return function() {
google.maps.event.addListener(poly,'click', function(event) {
mpenc.setContent(html +i);
mpenc.setPosition(event.latLng);
mpenc.open(map);
});
};
}
for (var i = 0; i < lines.length; i++) {
funcs[i] = createfunc(i);
}
for (var j = 0; j < lines.length; j++) {
funcs[j](); // and now let's run each one to see
}
}
map.fitBounds(bounds);
});
}