// instance variables
var map;

// constructor
function MapWrapper(element, x, y, zoom) {
    map = new GMap2(element);
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.addControl(new GScaleControl());
    map.setCenter(new GLatLng(y, x), zoom);
    this.addMarker = addMarker;
    this.getMap = getMap;
}

//methods
function addMarker(marker, cityData, units) {
    addMarkerHelper(marker, cityData.getInfo(units));
    map.addOverlay(marker);
}

function getMap() { return map; }

//private helper functions
function addMarkerHelper(marker, info) {
    GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml(info);
    });
}
