markers Google Map sous IE

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

Fourmie
Nouveau WRInaute
 
Messages: 49
Inscription: Mer Fév 07, 2007 9:55

markers Google Map sous IE

Message le Mer Nov 05, 2008 11:53

Bon ben aprés avoir épluché le forum au sujet d'IE concernant l'affichage des markers, je suis bien obligé de constater que rien ne fonctionne!

Alors voilà mon bout de code... si celà peut aider à trouver un début de solution!
A noter que IE trouve bien le fichier qui génère le XML... et me l'affiche..... mais prout, pas de markers alors que sous FF... pas de problème comme tous le monde! :evil:

Page principale où l'on affiche la carte:
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&v=2&key=<?php echo"$cle";?> "            type="text/javascript">
</script>   
<script type="text/javascript">
    //<![CDATA[   
   
   
    //alert('<?php echo"$cle";?>');
    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["Possesseur"] = iconBlue;   
    customIcons["Mecanicien"] = iconRed;   
      customIcons["Magasin"] = iconRed;     
   
   
    function load() {     
    if (GBrowserIsCompatible()) {       
    var map = new GMap2(document.getElementById("map"));       
    map.addControl(new GSmallMapControl());       
    map.addControl(new GMapTypeControl());       
    map.setCenter(new GLatLng(<?php echo"$lat1";?>,<?php echo"$lng1";?>), 9);   
   
   
   
    GDownloadUrl("modules/Carte2/generexml.php",
    function(data) {         
    var xml = GXml.parse(data);   
    alert(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/>"+type+"<br>"+address;     
     
     GEvent.addListener(marker, 'click', function() {       
     marker.openInfoWindowHtml(html);      });     
     return marker;    }   
     //]]>
      </script>  </head>  <body onload="load()" onunload="GUnload()">    <div id="map" style="width: 600px; height: 600px"></div>  </body></html>



et le fichier qui génère le xml

Code: Tout sélectionner



function parseToXML($htmlStr) {
$xmlStr=str_replace('<','&lt;',$htmlStr);
$xmlStr=str_replace('>','&gt;',$xmlStr);
$xmlStr=str_replace('"','&quot;',$xmlStr);
$xmlStr=str_replace("'",''',$xmlStr);
$xmlStr=str_replace("&",'&amp;',$xmlStr);
return $xmlStr; }



header("Content-Type:text/xml;charset=UTF-8");
echo '<markers>';

while ($row = @mysql_fetch_assoc($result1)){
if($row[lat]!=0.000000){
echo '<marker ';
echo 'name="' . parseToXML($row['username']) . '" '; 
echo 'address="' . parseToXML($row['address']) . '" '; 
echo 'lat="' . $row['lat'] . '" '; 
echo 'lng="' . $row['lng'] . '" '; 
echo 'type="' . $row['type'] . '" ';

echo '/>';

}}


echo '</markers>';


Voilà... moi j'y perd mon latin.... je me suis dit que mon problème d'accents dans le fichier généré xml pouvait être la source du problème pour IE mais niet, même en faisant appel à un fichier statique propre, rien n'y fait!

Fourmie
Nouveau WRInaute
 
Messages: 49
Inscription: Mer Fév 07, 2007 9:55

Message le Mer Nov 05, 2008 13:16

Au passage, IE me signale que documentelement a la valeur Null ou n'est pas un objet......

8O

Fourmie
Nouveau WRInaute
 
Messages: 49
Inscription: Mer Fév 07, 2007 9:55

Message le Mer Nov 05, 2008 15:15

Ca y est..... j'ai trouvé! Alors avis aux amateurs!

J'ai remplacé dans le fichier qui génère le XML
Code: Tout sélectionner
header("Content-Type:text/xml;charset=UTF-8");


par

Code: Tout sélectionner
header("Content-type: text/plain; charset=iso-8859-1\n");


Du coup, le fichier généré est propre.... plus de problème d'accents etc.... et IE arrive de comprendre..... :D


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 0 invités