I'm using Openlayers with Mapstraction v1 (mapstraction.js) but I'm unable to register the markers. Markers simply do not responds to the events. The function is here, any help will be much appreciated.
//Add marker manager for specified zoom level
function addmmangerforzoom(zoomlevel) {
try {
nocache_urladdon = "&nocache=" + new Date().getTime();
geturl = baseurl + "&t=markerdata&unit=" + currtrackerunit + "&date=" + currdate + "&zoomlevel=" + zoomlevel + nocache_urladdon;
var loader = new net.ContentLoader(geturl, function() {
eval("var jsondata = " + this.req.responseText);
//Go through lat/lon cords
var gmarkers = [];
var i = 0;
var totalicon = jsondata["data"].length;
for (var markerarr in jsondata["data"]) {
//Choose icon
var icon = chooseicon("archive", i, jsondata["data"][markerarr][3], totalicon);
//Create point
var point = new LatLonPoint(jsondata["data"][markerarr][1], jsondata["data"][markerarr][2]);
//Create marker
var marker = new Marker(point);
//Set zoom level to show this marker
marker.setAttribute("zoomlevel", zoomlevel);
//Set marker icon
if (mapstraction.api == "openlayers") {
//Mapstraction seems to have a bug, openlayers required negative anchor position
var iconanchor = [
-icon["iconanchor"][0],
-icon["iconanchor"][1]
];
marker.setIcon(icon["image"], icon["iconsize"], iconanchor);
} else {
marker.setIcon(icon["image"], icon["iconsize"], icon["iconanchor"]);
}
marker.setShadowIcon(icon["image"], icon["iconsize"]);
//Add marker to map
mapstraction.addMarker(marker);
if (mapstraction.api == "openlayers") {
marker.proprietary_marker.mid = jsondata["data"][markerarr][0];
marker.proprietary_marker.Lon = jsondata["data"][markerarr][2];
marker.proprietary_marker.Lat = jsondata["data"][markerarr][1];
marker.proprietary_marker.events.register("mousedown", marker.proprietary_marker, openlayersmarkerclicked);
}
i++;
}
//Add to list of marker managers allready created
markermng_zoomlevel.push(zoomlevel);
//Show markers only for specifed zoom level
markerszoomlevel(zoomlevel);
});
}
}