Hi !

I'm trying to create a link on an image in a infobox to maximize the
content. I'm loading data from xml file (generate in php), and show n
markers (it's a reseler list).
But when i press on the img, i get a "map undefined"....really don't
understand why...
Thanks a lot for your help !

This is the code
-------------------------------------------------------

function readMap(nom,coordonnees,genre,zoomdyn,movezoom,map)
        {
                //affichage de la carte google
                //icone pour marqueurs
                var baseIcon = new GIcon();
        baseIcon.shadow = "images/marker-shadow.png";
        baseIcon.iconSize = new GSize(34, 53);
        baseIcon.shadowSize = new GSize(52, 43);
        baseIcon.iconAnchor = new GPoint(9, 34);
        baseIcon.infoWindowAnchor = new GPoint(9, 2);
        baseIcon.infoShadowAnchor = new GPoint(18, 25);

                var mapcenter;
                var gmarkers = [];

                var map = new GMap2(document.getElementById("map"), {mapTypes:
[G_NORMAL_MAP,G_PHYSICAL_MAP,G_SATELLITE_MAP]});

                var topLeft = new GControlPosition(G_ANCHOR_TOP_LEFT, new
GSize(10,10));
                var bottomLeft = new GControlPosition(G_ANCHOR_BOTTOM_LEFT, new
GSize(10,10));

                map.addControl(new GMapTypeControl(), topLeft); //boutons
satellites, map, relief
                map.addControl(new GSmallMapControl(),bottomLeft); //boutons
direction, zoom+, zoom-
                //map.addControl(new GSmallZoomControl()); //zoom+, zoom- 
seulement
                map.addControl(new GScaleControl()); //échelle en bas
                map.addControl(new GOverviewMapControl); //previsualisation de 
la
map en bas à droite
                map.enableDoubleClickZoom();
                map.enableContinuousZoom();

                var bounds = new GLatLngBounds();

                GDownloadUrl("getXmlResellersDyn.php?nom="+nom
+"&coordonnees="+coordonnees+"&genre="+genre+"&zoomdyn="+zoomdyn
+"&movezoom="+movezoom,function(data, responseCode) {
                        var xmlDoc = GXml.parse(data);
                        var pos_lat =
xmlDoc.documentElement.getElementsByTagName("position")
[0].getAttribute("lat");
                        var pos_lon =
xmlDoc.documentElement.getElementsByTagName("position")
[0].getAttribute("lon");
                        var zoomf = 
xmlDoc.documentElement.getElementsByTagName("position")
[0].getAttribute("zoom");
                        var nomcounty =
xmlDoc.documentElement.getElementsByTagName("position")
[0].getAttribute("nomcounty");
                        var moove = 
xmlDoc.documentElement.getElementsByTagName("position")
[0].getAttribute("moove");
                        var markers =
xmlDoc.documentElement.getElementsByTagName("marker");

                        //zoom de la carte
                        zoomf = parseInt(zoomf);

                        map.getInfoWindow().hide();
                        map.clearOverlays();

                        //affichage de la carte google map (que s'il y a un 
revendeur)
                        if (markers.length != 0)
                        {
                                var herep = new 
GLatLng(parseFloat(pos_lat),parseFloat(pos_lon));
                                map.setCenter(herep, zoomf);

                                //evenement au mouvement de la carte 
(deplacement en drag'n drop),
que si le nbre de revendeurs est supérieur à la limite
                                if(moove == "on")
                                {
                                        if(affichMessage == 0) // on affiche le 
message une seule foi
                                        {
                                                showMessage();
                                        }
                                        oldcoordcentre = map.getCenter();
                                        var myEventMoove = 
GEvent.addListener(map, 'dragend', function()
{
                                                var newcoordcentre = 
map.getCenter();
                                                var newzoom = map.getZoom();
                                                if (oldcoordcentre != 
newcoordcentre)
                                                {
                                                        showWait();

                                                        //on supprime le 
listener
                                                        
GEvent.removeListener(myEventMoove);
                                                        //on reaffiche la 
requete avec
                                                        
readMap(nom,newcoordcentre,genre,newzoom,"on",map);
                                                        affichMessage = 1;
                                                }
                                        });
                                }
                        }

                        //listing des revendeurs
                        if (markers.length == 0)
                        {
                                alert("Désolé mais nous n'avons trouvé aucun 
point de vente");
                        }
                        else
                        {

                                /* on place les revendeurs du département sur 
la carte */
                                for (var i = 0; i < markers.length ; i++)
                                {
                                        //recuperation des valeurs du xml
                                        var lat = 
parseFloat(markers[i].getAttribute("lat"));
                                        var lon = 
parseFloat(markers[i].getAttribute("lon"));
                                        var point = new GLatLng(lat,lon);
                                        var dealerID = 
markers[i].getAttribute("dealerID");
                                        var label = 
markers[i].getAttribute("label");
                                        var adresse1 = 
markers[i].getAttribute("adresse1");
                                        var cp   = 
markers[i].getAttribute("cp");
                                        var ville   = 
markers[i].getAttribute("ville");
                                        var ncounty = 
markers[i].getAttribute("ncounty");
                                        var tel   = 
markers[i].getAttribute("tel");
                                        var fax   = 
markers[i].getAttribute("fax");
                                        var site   = 
markers[i].getAttribute("site");
                                        var email  = 
markers[i].getAttribute("email");

                                        //info pour le tracking
                                        var tracking = cp+'/'+dealerID;

                                        //contenu html bulle info revendeur
                                        var html  = "<table width='328' 
border='0' cellspacing='0'
cellpadding='0'><tr>"
                                        + "<td height='25' valign='top' 
style='color:#999999;font-size:
15px'>"+label+"<a
href='javascript:map.getInfoWindow().maximize()'><img src='images/
streetview.png' valign='middle' alt='StreetView' title='StreetView'
border='0'></a></td></tr><tr>"
                                        + "<td height='180' align='left' 
valign='top' background='images/
back-adresse.gif' style='padding-left:5px;'><p
style='display:block;float:left;width:160px;margin-top:
5px;'>"+adresse1+"<br>";
                                        html  = html +cp+" "+ville+"<br>Tél : 
"+tel+"<br><br>Ouvert du
lundi au samedi de 8h / 20h<br>Dimanche 8h / 14h</p><img src='ph-
points/3.jpg' border='0' style='display:block;float:left;width:
152px;margin-left:5px;margin-top:3px;'></td></tr>"
                                        + "</table>";
                                        html += '<a href="#"><img 
src="images/picto-imprimer.gif"
width="90" height="26" style="display:block;float:left;width:90px;"
alt="Imprimer" title="Imprimer" onclick="printwindow(\''+dealerID
+'\')" border="0"></a>';
                                        if (email != "" ){
                                        html += "<a href='mailto:"+email+";' 
target='_blank'><img
src='images/picto-contactez.gif' width='103' height='26'
style='display:block;float:left;width:103px;margin-left:10px'
border='0'></a>";
                                        }
                                        if (site != "" ){
                                        html += "<a href='http://"+site+";' 
target='_blank'><img
src='images/picto-siteinternet.gif' width='120' height='26'
style='display:block;float:left;width:120px;margin-left:10px'
border='0'></a>";
                                        }

                                        var a = i+1;


                                        //formulaire pour l'itinéraire
                                        var formulaire_itineraire ='<div 
style="width:328px; height:
200px;">' +
                                        '<form name="formiti" action="#"
onsubmit="setDirections(this.from.value, this.to.value,
this.locale.value, \''+tracking+'\'); return false">' +
                                        '       <table width="328">' +
                                        '               <tr>' +
                                        '                       <td 
colspan="2"><b>Adresse de départ</b></td>' +
                                        '               </tr>' +
                                        '               <tr>' +
                                        '                       <td 
colspan="2"><input type="text" size="25" id="fromAddress"
name="from" value=" " style="width:300px; height:20px; border:1px
solid #a5a5a5;" /></td>' +
                                        '               </tr>' +
                                        '               <tr>' +
                                        '                       <td 
colspan="2"><br><b>Adresse d\'arrivée</b></td>' +
                                        '               </tr>' +
                                        '               <tr>' +
                                        '                       <td colspan="2" 
bgcolor="#c0c0c0">'+label+'<br /
>'+adresse1+'<br />'+cp+' '+ville+'</td>' +
                                        '               </tr>' +
                                        '               <tr>' +
                                        '                       <td 
colspan="2"><br><br><input type="hidden" id="locale"
name="locale" value="fr"><input type="hidden" id="toAddress" name="to"
value="'+lat+', '+lon+'" /><input type="image" src="images/btn-
itineraire.gif" /></td>' +
                                        '               </tr>' +
                                        '       </table>' +
                                        '</form>' +
                                        '</div>';

                                        var letteredIcon = new GIcon(baseIcon);
                                        //letteredIcon.image = 
"markers/icons-r" + index + ".png";
                                        letteredIcon.image = "markers/icon.png";

                                        markerOptions = { icon:letteredIcon };
                                        var marker = new GMarker(point, 
markerOptions);

                                        var infoTabs = [
                                         new GInfoWindowTab("Détails", html),
                                         new GInfoWindowTab("Itinéraire", 
formulaire_itineraire)
                                         ];


                                        GEvent.addListener(marker, "click", 
function() {
                                                
//pageTracker._trackEvent('Bulle','Map',track);

                                                var maxContentDiv = 
'<div><iframe src="streetview.php?lat='+lat
+'&lon='+lon+'" width="660" height="345" frameborder="0"
scrolling="no"></iframe></div>';

                                                
marker.openInfoWindowTabsHtml(infoTabs,
                                                {
                                                /* maxContent : permet de 
définir le contenu devant s'afficher
dans l'info-bulle lorsque celle-est agrandie */
                                                maxContent: maxContentDiv,
                                                /* maxTitle : permet de définir 
le titre devant s'afficher dans
l'info-bulle lorsque celle-est agrandie */
                                                maxTitle: "Street View"
                                                }
                                                );
                                        });

                                        map.addOverlay(marker);
                                        bounds.extend(point);
                                }
                        }

                        clearWait();
                });
        }

-- 
You received this message because you are subscribed to the Google Groups 
"Google Maps API" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-maps-api?hl=en.

Reply via email to