    var gmap;
    var markers = new Array();
    var gmarkers = new Array();
    var i = 0;
    
    
    
    function load()
    {       
        if (GBrowserIsCompatible()) {
            gmap = new GMap2(document.getElementById("gmap"));
            gmap.setCenter(new GLatLng(apo_lat_centre, apo_long_centre), apo_zoom);
            gmap.addControl(new GSmallMapControl());
            //gmap.addControl(new GMapTypeControl());
            //gmap.addControl(new GScaleControl());
            //gmap.addControl(new GOverviewMapControl());
            gmap.enableDragging();
            gmap.enableDoubleClickZoom();
            gmap.enableContinuousZoom();
            //gmap.enableInfoWindow();
            gmap.setMapType(G_NORMAL_MAP); //G_NORMAL_MAP, G_SATELLITE_MAP, G_HYBRID_MAP ou G_DEFAULT_MAP_TYPES
        }
        loadMarkers();
    }
    
    function openMarkerInfoWindow(marker, tabs)
    {
        var winTabs = new Array();
        for(var i = 0; i < tabs.length; i++) {
            winTabs.push(new GInfoWindowTab(tabs[i][0], tabs[i][1]));
        }
        marker.openInfoWindowTabsHtml(winTabs);
    }
    
    function createMarker(point, options, tabs)
    {
        var marker = new GMarker(point, options);
        GEvent.addListener(marker, "click", function() {
            openMarkerInfoWindow(marker, tabs);
        });
        gmarkers[i] = marker;
        i++;
        return marker;
    }
    
    function loadMarkers()
    {
        var tabs = new Array();
        tabs.push(["", apo_texte]);

        markers.push({name:apo_titre, title:apo_titre, description:apo_texte, lat:apo_lat, lng:apo_long, icon_uri:"http://www.apollossc.com/images/google-map-icone-trans.png", icon_size_w:32, icon_size_h:32, icon_anchor_x:16, icon_anchor_y:32, icon_infowindow_anchor_x:16, icon_infowindow_anchor_y:0, shadow:null, shadow_size_w:0, shadow_size_h:0, mTabs:tabs});


        for(var i = 0; i < markers.length; i++) {
            var ic = new GIcon();
            ic.image = markers[i].icon_uri;
            ic.transparent = markers[i].icon_uri;
            ic.iconSize = new GSize(markers[i].icon_size_w, markers[i].icon_size_h);
            ic.iconAnchor = new GPoint(markers[i].icon_anchor_x, markers[i].icon_anchor_y);
            ic.infoWindowAnchor = new GPoint(markers[i].icon_infowindow_anchor_x, markers[i].icon_infowindow_anchor_y);
            if (markers[i].shadow) {
                ic.shadow = markers[i].shadow;
                i.shadowSize = new GSize(markers[i].shadow_size_w, markers[i].shadow_size_h);
            }
            var marker = createMarker(new GLatLng(markers[i].lat, markers[i].lng), {title:markers[i].title, icon:ic}, markers[i].mTabs);
            gmap.addOverlay(marker);
        }

    }
    
    function goTo(ndx)
    {
        gmap.panTo(gmarkers[ndx].getPoint());
        openMarkerInfoWindow(gmarkers[ndx], markers[ndx].mTabs);
    }
