#1 Fri 21 January 2011 16:53
- Rem_FR
- Juste Inscrit !
- Date d'inscription: 20 Jan 2011
- Messages: 6
V2 vs V3 : position des marqueurs non à l'identique
Bonjour,
J'ai réalisé la migration de ma carte de la V2 à la V3. Je rencontre un petit pb. Les marqueurs sur ma carte V3 ne sont pas positionnés exactement au même endroit par rapport à la V2. Pourtant les coordonnées lat lng sont bien les mêmes.
http://chti.sportif.free.fr/calendrier_sports.php
Avez-vous une explication ?
Par ailleurs dans mon fichier .CSV je suis obligé de transformer les caractères accentués par leur code html (ex : O² Régionale) pour avoir un visuel correct sur ma carte alors que j'ai indiqué dans mon fichier .php
$xmlStr=str_replace('<','<',$htmlStr);
$xmlStr=str_replace('>','>',$xmlStr);
$xmlStr=str_replace('"','"',$xmlStr);
$xmlStr=str_replace("'",''',$xmlStr);
$xmlStr=str_replace("&",'&',$xmlStr); ...
Comment régler ce pb ?
D'avance merci.
Dernière modification par Rem_FR (Sat 22 January 2011 16:07)
Hors ligne
#2 Fri 21 January 2011 17:22
- Delu
- Participant actif
- Lieu: Briançon
- Date d'inscription: 29 Apr 2008
- Messages: 76
Re: V2 vs V3 : position des marqueurs non à l'identique
bonjour,
Pour le premier point, je ne sais pas, je n'utilise pas cette API. Mais ça ressemble à un pb de projection, ou peut-être de précision des coordonnées (arrondi).
Pour le point concernant l'encoding des caractères : 2 pistes.
La plupart du temps, il suffit que le fichier (php ou js) soit encodé en utf8. Pour cela, ouvrir le fichier dans le notepad++ puis menu encodage -> convertir en UTF8.
sinon dans le php parfois j'utilise ceci : utf8_decode($ma_variable_string);
En espérant qu'une des deux pistes fonctionne.
Hors ligne
#4 Fri 21 January 2011 18:39
- Rem_FR
- Juste Inscrit !
- Date d'inscription: 20 Jan 2011
- Messages: 6
Re: V2 vs V3 : position des marqueurs non à l'identique
Pour le 1) c'est réglé merci.
Pour le 2) j'ai fait un test sur les "é" en encodant en UTF8 ces 3 fichiers :
phpsqlajax_genxml_test.php
phpsqlajax_data_cartecalendar - copie.csv
je n'ai pas vu de changement
sinon dans le php parfois j'utilise ceci : utf8_decode($ma_variable_string);
comment définir cette fonction svp ?
Code:
<?php require("./phpsqlajax_dbinfo.php"); function parseToXML($htmlStr) { $xmlStr=str_replace('<','<',$htmlStr); $xmlStr=str_replace('>','>',$xmlStr); $xmlStr=str_replace('"','"',$xmlStr); $xmlStr=str_replace("'",''',$xmlStr); $xmlStr=str_replace("&",'&',$xmlStr); return $xmlStr; } // Opens a connection to a mySQL server $connection=mysql_connect (localhost, $username, $password); if (!$connection) { die('Not connected : ' . mysql_error()); } // Set the active mySQL database $db_selected = mysql_select_db($database, $connection); if (!$db_selected) { die ('Can\'t use db : ' . mysql_error()); } // Select all the rows in the markers table $query = "SELECT * FROM markers_calendrier WHERE 1"; $result = mysql_query($query); if (!$result) { die('Invalid query: ' . mysql_error()); } header("Content-type: text/xml"); // Start XML file, echo parent node echo '<markers>'; // Iterate through the rows, printing XML nodes for each while ($row = @mysql_fetch_assoc($result)){ // ADD TO XML DOCUMENT NODE echo '<marker '; echo 'date="' . parseToXML($row['date']) . '" '; echo 'puce="' . parseToXML($row['puce']) . '" '; echo 'category="' . parseToXML($row['category']) . '" '; echo 'lat="' . $row['lat'] . '" '; echo 'lng="' . $row['lng'] . '" '; echo 'ville="' . parseToXML($row['ville']) . '" '; echo 'name="' . parseToXML($row['name']) . '" '; echo 'info="' . parseToXML($row['info']) . '" '; echo 'link="' . parseToXML($row['link']) . '" '; echo 'fiche="' . parseToXML($row['fiche']) . '" '; echo 'infoUrl="' . parseToXML($row['infoUrl']) . '" '; echo 'photo="' . parseToXML($row['photo']) . '" '; echo '/>'; } // End XML file echo '</markers>'; ?>
et ma page principale quel dois être l'encodage ? le charset ?
Dernière modification par Rem_FR (Sat 22 January 2011 11:11)
Hors ligne
#5 Fri 21 January 2011 21:28
- Rem_FR
- Juste Inscrit !
- Date d'inscription: 20 Jan 2011
- Messages: 6
Re: V2 vs V3 : position des marqueurs non à l'identique
J'ai essayé avec :
Code:
$encoded=$row['name']; $encoded=htmlspecialchars($encoded); $encoded=utf8_encode($encoded); echo 'name="' .$encoded. '" ';
avec succès
Dernière modification par Rem_FR (Fri 21 January 2011 21:28)
Hors ligne
#6 Fri 21 January 2011 22:34
- Delu
- Participant actif
- Lieu: Briançon
- Date d'inscription: 29 Apr 2008
- Messages: 76
Re: V2 vs V3 : position des marqueurs non à l'identique
oui c'est un qq chose dans ce gout là :
ou tout simplement au lieu de
echo 'ville="' . parseToXML($row['ville']) . '" ';
ceci
echo 'ville="' . parseToXML(utf8_encode($row['ville'])) . '" ';
Hors ligne
#7 Sat 22 January 2011 09:49
- Rem_FR
- Juste Inscrit !
- Date d'inscription: 20 Jan 2011
- Messages: 6
Re: V2 vs V3 : position des marqueurs non à l'identique
oui ça marche aussi
Sujet résolu.
Hors ligne