Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Fri 11 January 2008 12:50

benoist
Participant actif
Lieu: Genève
Date d'inscription: 6 Sep 2005
Messages: 82
Site web

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


Pascal BENOIST- PictureComputer
http://www.picturecomputer.ch

Hors ligne

 

#2 Fri 11 January 2008 13:08

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9855
Site web

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

benoist
Participant actif
Lieu: Genève
Date d'inscription: 6 Sep 2005
Messages: 82
Site web

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


Pascal BENOIST- PictureComputer
http://www.picturecomputer.ch

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

benoist
Participant actif
Lieu: Genève
Date d'inscription: 6 Sep 2005
Messages: 82
Site web

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


Pascal BENOIST- PictureComputer
http://www.picturecomputer.ch

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

benoist
Participant actif
Lieu: Genève
Date d'inscription: 6 Sep 2005
Messages: 82
Site web

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


Pascal BENOIST- PictureComputer
http://www.picturecomputer.ch

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

 

Pied de page des forums

Powered by FluxBB