Horus_Kol
02-05-2008, 07:09 AM
i don't know if this is because of the API, or something else...
var markers = transport.responseText.evalJSON();
for (i = 0; i < kai_map.markers.length; i++) {
kai_map.map.removeOverlay(kai_map.markers[i].tag);
google.maps.Event.removeListener(kai_map.markers[i].tag);
}
kai_map.markers = [];
for (i = 0; i < markers.length; i++) {
var icon = new google.maps.Icon(kai_map.baseIcon);
icon.image = 'plugins/arcbs_stockdata/images/map_markers/d_marker_' + markers[i].color + '.png';
alert(markers[i].tag); // THIS OUTPUTS THE EXPECTED STRING
kai_map.markers[markers[i].tag] = new google.maps.Marker(
new google.maps.LatLng(
markers[i].latitude,
markers[i].longitude
),
{
icon: icon,
title: markers[i].title
}
);
alert(kai_map.markers.length); // THIS OUTPUTS '0' - SHOULD BE '1'?
alert(kai_map.markers[markers[i].tag]); // THIS OUTPUTS [object OBJECT]
google.maps.Event.addListener(kai_map.markers[markers[i].tag],
'click',
function () {
e(markers[i].tag);
}
);
kai_map.map.addOverlay(kai_map.markers[markers[i].tag]);
}
basically, for some reason, the kai_map.markers array is not being populated - which means that when I reload the markers (because of a filter change) the old markers are still on display...
var markers = transport.responseText.evalJSON();
for (i = 0; i < kai_map.markers.length; i++) {
kai_map.map.removeOverlay(kai_map.markers[i].tag);
google.maps.Event.removeListener(kai_map.markers[i].tag);
}
kai_map.markers = [];
for (i = 0; i < markers.length; i++) {
var icon = new google.maps.Icon(kai_map.baseIcon);
icon.image = 'plugins/arcbs_stockdata/images/map_markers/d_marker_' + markers[i].color + '.png';
alert(markers[i].tag); // THIS OUTPUTS THE EXPECTED STRING
kai_map.markers[markers[i].tag] = new google.maps.Marker(
new google.maps.LatLng(
markers[i].latitude,
markers[i].longitude
),
{
icon: icon,
title: markers[i].title
}
);
alert(kai_map.markers.length); // THIS OUTPUTS '0' - SHOULD BE '1'?
alert(kai_map.markers[markers[i].tag]); // THIS OUTPUTS [object OBJECT]
google.maps.Event.addListener(kai_map.markers[markers[i].tag],
'click',
function () {
e(markers[i].tag);
}
);
kai_map.map.addOverlay(kai_map.markers[markers[i].tag]);
}
basically, for some reason, the kai_map.markers array is not being populated - which means that when I reload the markers (because of a filter change) the old markers are still on display...