Forcemment, celà ne marche pas!

Consultez la formation Google Maps, News, Images de WebRankInfo / Ranking Metrics

Fourmie
WRInaute discret
WRInaute discret
 
Messages: 57
Inscription: 7 Fév 2007

Forcemment, celà ne marche pas!

Message le Jeu Oct 30, 2008 11:53

Bonjour à tous....
Voilà, comme beaucoup, je me suis mis en tête de créer pour mon site en php une google map en utilisant une BD... Rien d'exceptionnel vous allez me dire! Bref, je parcours le web, les tutos, teste quelques trucs puis m'acharne sur le tuto suivant

http://code.google.com/support/bin/answ ... reatetable

Mais prout... rien n'y fait bien que mon fichier php génère bien le xml qui va bien comme dans l'exemple fourni!
Bref, je décide de créer un fichier "statique" nommé myfile.txt.... toujours rien.... j'ajoute deux trois lignes dans le code pour voir où celà coinche.... mais pour moi, le java, c'est un peu de l'hébreu... et je dois dire que je vois vraiment pas ce qui cloche....

Manifestement ce qui merdouille c'est les lignes suivantes:
Code: Tout sélectionner
GDownloadUrl("modules/Carte2/myfile.txt", function(data, responseCode) {
    alert(data);         
    var xml = GXml.parse(data);           
    var markers = xml.documentElement.getElementsByTagName("marker"); 
       
    for (var i = 0; i < markers.length; i++) { 


une fenètre s'ouvre bien me montrant le contenu du fichier ( markers etc....) mais aprés, tout par en vrille! Et je me retrouve avec une carte sans marqueurs!

Voilà l'intégralité du code... ( enfin celui de ggogle avec ma cle API bien enregistrée pour le répertoir en localhost etc...)

Code: Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>   
    <title>Google Maps AJAX + MySQL/PHP Example</title>   
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAVrrKg-L9VdA_hYjkO36CFRS6dHN758FizEWFEhq1f5C_rYm4GhQxW9v1v5kRZLdljTM0fgGkPYIsyg"
      type="text/javascript"></script>
    <script type="text/javascript">
    //<![CDATA[   
    var iconBlue = new GIcon();     
    iconBlue.image = 'http://labs.google.com/ridefinder/images/mm_20_blue.png';   
    iconBlue.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png';   
    iconBlue.iconSize = new GSize(12, 20);   
    iconBlue.shadowSize = new GSize(22, 20);   
    iconBlue.iconAnchor = new GPoint(6, 20);   
    iconBlue.infoWindowAnchor = new GPoint(5, 1);   
    var iconRed = new GIcon();     
    iconRed.image = 'http://labs.google.com/ridefinder/images/mm_20_red.png';   
    iconRed.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png';   
    iconRed.iconSize = new GSize(12, 20);   
    iconRed.shadowSize = new GSize(22, 20);   
    iconRed.iconAnchor = new GPoint(6, 20);   
    iconRed.infoWindowAnchor = new GPoint(5, 1);   
    var customIcons = [];   
    customIcons["restaurant"] = iconBlue;   
    customIcons["bar"] = iconRed;   
    function load() {     
    if (GBrowserIsCompatible()) {   
   
   
   
       
    var map = new GMap2(document.getElementById("map"));       
    map.addControl(new GSmallMapControl());       
    map.addControl(new GMapTypeControl());       
    map.setCenter(new GLatLng(48.098259, -0.756668), 9);
   
   
   

   
           
    GDownloadUrl("modules/Carte2/myfile.txt", function(data, responseCode) {
    alert(data);         
    var xml = GXml.parse(data);           
    var markers = xml.documentElement.getElementsByTagName("marker"); 
       
    for (var i = 0; i < markers.length; i++) { 
         
    var name = markers[i].getAttribute("name");           
    var address = markers[i].getAttribute("address");           
    var type = markers[i].getAttribute("type");           
     var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),                                   
     parseFloat(markers[i].getAttribute("lng")));           
     var marker = createMarker(point, name, address, type);           
     map.addOverlay(marker);         
     }       
     });     
     }   
     }   
     function createMarker(point, name, address, type) {     
     var marker = new GMarker(point, customIcons[type]);     
     var html = "<b>" + name + "</b> <br/>" + address;     
     GEvent.addListener(marker, 'click', function() {       
     marker.openInfoWindowHtml(html);      });     
     return marker;   
     }   
     //]]> 
     </script> 
     </head> 
     <body onload="load()" onunload="GUnload()">   
     <div id="map" style="width: 500px; height: 300px"></div>  </body></html>


Je sais plus quoi faire, celà fait des jours que je rame! :?

Xophe
WRInaute discret
WRInaute discret
 
Messages: 161
Inscription: 23 Mar 2005

Message le Jeu Oct 30, 2008 16:20

Si mes souvenirs sont bons, le fichier XML doit être accessible par Google. Donc ça risque de ne pas marcher en local.

Est-ce que le résultat est le même sur le serveur web ?

Fourmie
WRInaute discret
WRInaute discret
 
Messages: 57
Inscription: 7 Fév 2007

Message le Jeu Oct 30, 2008 18:25

Hein.... allo... je suis en train de m'épuiser alors qu'il n'y a pas de problème dans le code et que c'est simplement que celà ne fonctionne pas en local leur truc! Tu sais combien de temps j'ai perdu et que je tournicotte.... Bon, promis, je vais faire un bout de code direct sur mon serveur... on verra! Mais non d'une pipe, si tu dis vrai... alors je fait une pétition :lol:
Etrange... car dans les doc de l'API Google, on te précise expressement que la clef doit correspondre au répertoire etc... et que si tu taf en local alors la clef doit être validée pour localhost tatati tatata....
Suis un peu perplexe...
Perso, j'ai dans le code inséré des messages d'alerte un peu partout pour voir où celà coince... et il semblerait dit bien il semblerait notamment que le fichier xml soit illisible ou dumoins que le nombre de marker détecté soit nul.... Pourtant, la fonction GdownloadUrl me renvoi grace au message d'alerte le fichier Xml sans problème et sans erreurs... la seule différence, mais je doute que celà soit la source c'est qu'au lieu de commencer directe par <markers>, celà commence par -<markers> bref... juste le tiret en plus....


Bon j'essaie en direct live pour voir.... et merci pour l'info ! Suis étonné que celà ne puisse marcher en local mais bon...


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Maps, Google News et Google Images : apprenez comment optimiser le référencement de votre site pour la recherche universelle et notamment Google Maps, Google Actualités et Google Images. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité