Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 26-11-2008 15:16:37

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

pb phoogle

Depuis peu j'ai un pb avec mon script phoogle pour afficher une carte google map . Tous fonctionner et depuis 1 semaine plus rien .

voila le message d'erreur.

Notice:  Use of undefined constant Response - assumed 'Response' in /application/model/PhoogleMap.php on line 146


Fatal error:  Cannot use string offset as an array in /application/model/PhoogleMap.php on line 146

Voila le code:

Code:

    $apiURL = "http://maps.google.com/maps/geo?&output=xml&key=".$this->apiKey."&q=";
        
        $addressData = file_get_contents($apiURL.urlencode($address));
    //    echo     $addressData;
        $results = $this->xml2array(utf8_encode($addressData));
$pointer = count($this->validPoints);
            echo '<pre>'; print_r($results); 
    ligne 146 $essai=$results['kml'][Response]['Placemark']['Point']['coordinates'];
   // echo $essai;
            @$this->validPoints[$pointer]['lat']= $results['kml']['Placemark']['Point']['coordinates'];
            @$this->validPoints[$pointer]['long']= $results['kml']['Placemark']['Point']['coordinates'];
            $this->validPoints[$pointer]['passedAddress'] = $address;
            $this->validPoints[$pointer]['htmlMessage'] = $htmlMessage;

et voila l'affichage de $addressData envoyer a la fonction xml2array.

Code:

<kml xmlns="http://earth.google.com/kml/2.0"><Response>
  <name>24 rue saint malo,bayeux 14400 FR</name>
  <Status>
    <code>200</code>
    <request>geocode</request>

  </Status>
  <Placemark id="p1">
    <address>24 Rue Saint-Malô, 14400 Bayeux, France</address>
    <AddressDetails Accuracy="8" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"><Country><CountryNameCode>FR</CountryNameCode><CountryName>France</CountryName><AdministrativeArea><AdministrativeAreaName>Basse-Normandie</AdministrativeAreaName><SubAdministrativeArea><SubAdministrativeAreaName>Calvados</SubAdministrativeAreaName><Locality><LocalityName>Bayeux</LocalityName><Thoroughfare><ThoroughfareName>24 Rue Saint-Malô</ThoroughfareName></Thoroughfare><PostalCode><PostalCodeNumber>14400</PostalCodeNumber></PostalCode></Locality></SubAdministrativeArea></AdministrativeArea></Country></AddressDetails>
    <Point><coordinates>-0.7048546,49.2777634,0</coordinates></Point>

  </Placemark>
</Response></kml>

L'affichage de $results donne ceci

Code:

Array
(
    [kml] => Array
        (
            [Response] => 

        )

)

voila la fonction xml2array:

Code:

function xml2array($xml){
       echo $xml;
        $this->depth=-1;
        $this->xml_parser = xml_parser_create();
        xml_set_object($this->xml_parser, $this);
        xml_parser_set_option ($this->xml_parser,XML_OPTION_CASE_FOLDING,0);//Don't put tags uppercase
        xml_set_element_handler($this->xml_parser, "startElement", "endElement");
        xml_set_character_data_handler($this->xml_parser,"characterData");
        xml_parse($this->xml_parser,$xml,true);
        xml_parser_free($this->xml_parser);
    //echo '<pre>'; print_r($this->arrays[0]); 
        return @$this->arrays[0];

    }

Merci de votre aide

cordialement

Cédric


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

#2 26-11-2008 15:41:07

philippe
Administrateur
Lieu: Grenoble
Date d'inscription: 01-03-2007
Messages: 1624

Re: pb phoogle

Bonjour,

dans ta ligne :

Code:

$essai=$results['kml'][Response]['Placemark']['Point']['coordinates']

t'as un Response sans " autour. PHP considère que c'est une constante (au sens define("Response","toto")wink et comme ta constante Response n'est pas définie il met une notice et renvoie la chaîne de caractères "Reponse" à la place de la constante.

Je soupçone que comme 2e paramètre, tu voulais mettre autre chose que la chaîne "Response"... (genre t'as oublié un $ ou une erreur du genre à se taper la tête contre un mur...)

A+, Philippe


twitter : @plv ; kitpages.fr : Création de sites internet à Grenoble et Paris

Hors ligne

 

#3 26-11-2008 15:48:16

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

Re: pb phoogle

alors nom j'ai tester en modifiant le response avec des $ ou " mais il s'agit d'un script phoogle map et il est écrit ainsi , il fonctionner trés bien et la pfff plus rien , en cherchant sur le net un peu suis tombé sur un forum qui dit que google aurez modifier son flux xml ?

http://www.systemsevendesigns.com/phoogle

autre lien http://forum.arfooo.com/topic620.html

Cédric

Dernière modification par lebilien (26-11-2008 15:53:00)


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

#4 26-11-2008 16:05:48

lebilien
Membre
Lieu: avranches
Date d'inscription: 19-06-2007
Messages: 270
Site web

Re: pb phoogle

effectivement en suivant l'aide de l'autre forum sa fonctionne j'avais mal vu la ligne merci


http://www.parkaddict.com Gagner des places dans vos parcs préférés

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages