#1 Fri 11 January 2008 12:50
Google Maps API et PHP
Bonjour,
J'ai réalisé une appli très simple qui utilise Google Maps API, javascript, Ajax ainsi que PHP et MySQL.
Un script PHP est lancé depuis le client par du Javascript, interroge le serveur MySQL et rappatrie un fichier xml décrivant des positions lon,lat et attribus.
Mon pb : L'appli fonctionne parfaitement sous Firefox 2.0 et Opera mais pose pb dans IE 6 ou IE7.
Il n'y a pas de pb si je passe en argument directement le fichier xml rappatrie par le PHP.
J'ai bien sûr vérifié que le fichier PHP génére un fichier xml correct, ceci sous tous les navigateurs testés.
Quelqu'un a t'il déja été confronté à ce probleme?
Pascal
Hors ligne
#2 Fri 11 January 2008 13:08
Re: Google Maps API et PHP
Bonjour,
Oui, en matière de programmation JavaScript cela arrive très (trop) souvent.
Vérifiez votre code JavaScript. Désolé je n'ai pas d'autres propositions plus avancé, sans message d'erreur, tentez d'ajouter des fonctions alert() à intervalle régulier pour déterminer la zone où IE pose problème.
Éventuellement, postez le bout de code que vous avez trouvé comme posant problème.
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#3 Fri 11 January 2008 14:42
- René-Luc D'Hont
- Participant assidu
- Date d'inscription: 7 Nov 2006
- Messages: 328
- Site web
Re: Google Maps API et PHP
Quel objet utilises-tu pour demander ton fichier XML ?
Hors ligne
#4 Fri 11 January 2008 17:55
Re: Google Maps API et PHP
Je pense que cela peux interesser beaucoup de monde... J'ai enfin identifié mon probleme.
Il est indispensable de passer la fonction (php) suivante sur les champs récuperés d'une table avant de remplir le fichier xml, car les caractères'fantaisistes' ne sont pas gérés de la même maniere par tous les
navigateurs.
Je l'ai déjà remarqué plusieurs fois, on vante les mérites (justifiés) de Firefox et je m'en sert surtout pour son debogeur en ligne FireBug excellent et d'un emploi plus compréhensible que Fiddler de Microsoft, mais il s'avère qu'au moins pour IE7, ce dernier semble plus strict quant aux normes de programmation xml, xhtml, ...
function parseToXML($htmlStr)
{
$xmlStr=str_replace('','>',$xmlStr);
$xmlStr=str_replace('"','"',$xmlStr);
$xmlStr=str_replace("'",''',$xmlStr);
$xmlStr=str_replace("&",'&',$xmlStr);
return $xmlStr;
}
igeomatic - Pascal BENOIST
Hors ligne
#5 Fri 11 January 2008 17:56
- jmz
- Participant actif
- Lieu: Anthon
- Date d'inscription: 5 Sep 2005
- Messages: 142
Re: Google Maps API et PHP
Bonjour,
Personnellement je débugge mon code systématiquement sous Firefox (à l'aide de l'extension FireBug) avant de réaliser les tests sous IE, car je trouve que les outils de ce type manquent pour IE (ou alors je ne connais pas). Sinon, il y a quand même un debugger Javascript sous IE (en bas à droite je crois, si une erreur est rencontré). Peut-être une piste si vous utilisez AJAX, la syntaxe des requetes XMLHTTP & co est différente sous IE ou sous Mozilla ... on doit détecter le type de browser avant de lancer la bonne requête.
Pour ce qui est code HTML vous pouvez utiliser les outils en ligne du W3C pour valider vos pages, la normalisation permet d'éviter des problèmes ! Même si IE et Mozilla ne sont pas toujours d'accord dans l'interprétation des normes du W3C ...
Bon courage
Jmz
Hors ligne
#6 Fri 11 January 2008 17:56
Re: Google Maps API et PHP
Merci René-Luc pour ta participation, mais entre-temps, et avec beaucoup de pugnacité, j'ai résolu le pb (utilisation d'une fonction ParseXML pour modifier certains caractères non reconnus par IE (notamment l'apostrophe)
igeomatic - Pascal BENOIST
Hors ligne
#7 Sat 12 January 2008 11:16
- Guillaume Sueur
- Participant assidu
- Lieu: Toulouse
- Date d'inscription: 23 Sep 2005
- Messages: 331
- Site web
Re: Google Maps API et PHP
Bonjour Pascal,
Même si ta fonction est efficace dans ce cas précis, il vaut mieux utiliser :
soit url_encode pour des chaines simples
soit des blocs CDATA quand tu envoies un flux XML
par ailleurs, il me semble que ton appli serait très adaptée à l'emploi du GeoJSON...
Cordialement,
Guillaume
Hors ligne
#8 Sat 12 January 2008 16:00
Re: Google Maps API et PHP
Merci pour vos réponses.
Guillaume, aurais-tu un exemple en ligne d'utilisation du format GeoJSON?
En quoi est t'on gagnant par rapport à un simple xml cree par PHP dans le cas de topologie points?
igeomatic - Pascal BENOIST
Hors ligne
#9 Sun 13 January 2008 09:31
- Guillaume Sueur
- Participant assidu
- Lieu: Toulouse
- Date d'inscription: 23 Sep 2005
- Messages: 331
- Site web
Re: Google Maps API et PHP
sur mon petit site de velos toulousains :
http://www.neogeo-online/velo/velo.html
openlayers exploite la couche des stations en GeoJSON. Le fichier lui même est le http://www.neogeo-online/velo/velo.json
J'ai choisi cela car
1. il n'y a pas de serveur carto sur le serveur (hébergement mutualisé)
2. cela permettait d'obtenir un rendu vectoriel
OpenLayers a quelques demos aussi :
http://www.openlayers.org/dev/examples/ … rmats.html
Pour ce qui est des avantages vis-à-vis du XML, je dirais que tu t'épargnes le parsing XML côté client (et l'utilisation d'ajax en mode XML, qui coince parfois), qui peut être pénible, puisque la récupération
du flux GeoJSON crée immédiatement un objet javascript que tu manipules directement (genre features[i].x etc). La modélisation de ton futur objet javascript se fait en PHP au plus près du contrôle des données sources. C'est autant de jonglage avec les types, structures, caractères spéciaux en moins.
et pour transmettre de l'information géographique, c'est classe d'utiliser un format géographique !
Guillaume
Hors ligne