У меня есть страница с 10 маркерами на карте открытых слоев, используемой с помощью mapstraction.
Я хочу сначала загрузить карту, а затем маркер один за другим, скажем, каждую секунду, я попытался использовать window.setTimeout () itзагружает карту и загружает только первый маркер, после чего он останавливается.
var map;
var lat = new Array() ;
lat=${latitude};
var lon= new Array();
lon=${longitude};
var oneByOneCounter=0;
var count=10;
function initMap(){
map = new Mapstraction('mymap','openlayers');
map.setCenter(new LatLonPoint(0.0,0.0));
map.addControls({pan: true, zoom:'small', map_type:true});
renderMarkerOneByOne();
map.autoCenterAndZoom();
};
function renderMarkerOneByOne() {
if (oneByOneCounter < count) {
latitude= lat[oneByOneCounter];
longitude= lon[oneByOneCounter];
var point = new LatLonPoint(latitude,longitude);
var marker = new Marker(point);
var info = "("+(oneByOneCounter+1)+")";
marker.setInfoBubble(info);
marker.setHover(true);
marker.setIcon('icon_green.png', [27,31]);
map.addMarker(marker);
oneByOneCounter++;
window.setTimeout("renderMarkerOneByOne()", 1000);
} else {
oneByOneCounter = 0;
}
}
Я не могу выяснить, где я делаю ошибку. Функция renderMarkerOneByOne () выполняется правильно, и при выставлении alert () я вижумаркерный объект создается постоянно, но по какой-то причине после нанесения первого маркера другие маркеры не отображаются на карте.
Любая помощь или предложение приветствуются
Спасибо