Вы можете создать массив с JSON, который может быть сгенерирован на сервере и загружен асинхронно.
{ markers : [
{ lat : 43.91892, lon : -78.89231, html : "Stuff to display" },
{ lat : 43.91892, lon : -78.89231, html : "Stuff to display" },
{ lat : 43.91892, lon : -78.89231, html : "Stuff to display" },
{ lat : 43.91892, lon : -78.89231, html : "Stuff to display" }
]
}
Затем создайте функцию для создания маркеров:
function displayMarker(item){
var point = new GLatLng(item.lat, item.lon);
var marker = createMarker(point, item.html);
map.addOverlay(marker);
}
Затем переберите массив элементов, каждый раз вызывая эту функцию.