ChRomfr / immophp

immophp cms pour agence immobiliere
2 stars 0 forks source link

Géolocalisation google map #3

Open Doriginal opened 9 years ago

Doriginal commented 9 years ago

Salut,

l'affichage des agences sur la carte ne fonctionne pas. si on tape l'adresse indiqué dans la fonction "public function geocoding($address)", http://maps.google.com/maps/geo, le site répond "error_message": "The Geocoding API v2 has been turned down on September 9th, 2013. The Geocoding API v3 should be used now. Learn more at https://developers.google.com/maps/documentation/geocoding/". Apparemment il faut utilisé une nouvelle API de géocoding.

http://maps.google.com/maps/api/geocode/json?address=$adresse&sensor=false

j'ai essayé de modifier le code avec cette nouvelle API mais sans résultat. Un petit coup de main?

Merci

ChRomfr commented 9 years ago

Bonjour, La géolocalisation des biens et des agences s'appuie sur l'ancienne API, il faut que je recode cette partie pour que cela fonctionne.

Je me le note

Doriginal commented 9 years ago

Super merci beaucoup. Je veux bien te donner un coup de main si tu veux.

ChRomfr commented 9 years ago

Si vous souhaitez faire les modifications pour que je les integre au script pas de soucis

Doriginal commented 9 years ago

j'ai essayé de regarder mais je ne suis pas très bon avec les function php. je vais aller regarder si j'arrive a quelque chose.

Doriginal commented 9 years ago

J'ai essayé de modifier la géolocalisation par ceci (qui fonctionne bien ailleurs) mais pas pour le moment ici, on récupère bien la latitude, longitude mais pas de marqueur pour l'instant.

/**
 * Geocoding an address (address -> lat,lng)
 *
 * @param string $address an address
 *
 * @return array array with precision, lat & lng
 */

public function geocoding($address)
{  
    $encodeAddress = urlencode($this->withoutSpecialChars($address));

// google map geocode api url
$url = "http://maps.google.com/maps/api/geocode/json?sensor=false&address={$encodeAddress}";

// get the json response
$resp_json = file_get_contents($url);

// decode the json
$resp = json_decode($resp_json, true);

// response status will be 'OK', if able to geocode given address 
if($resp['status']='OK'){

    // get the important data
    $lati = $resp['results'][0]['geometry']['location']['lat'];
    $longi = $resp['results'][0]['geometry']['location']['lng'];
    $formatted_address = $resp['results'][0]['formatted_address'];

    // verify if data is complete
    if($lati && $longi && $formatted_address){

        // put the data in the array
        $return = array();            

        array_push(
            $return, 
                $lati, 
                $longi, 
                $formatted_address
            );

        return $return;
    }else{
        return false;
    }

}else{
    return false;
}
} 
ChRomfr commented 9 years ago

Bonjour

Dans quel fichier avez-vous fait les modifications

Cordialement

De : Doriginal [mailto:notifications@github.com] Envoyé : mercredi 18 février 2015 16:20 À : ChRomfr/immophp Cc : Romain Objet : Re: [immophp] Géolocalisation google map (#3)

J'ai essayé de modifier la géolocalisation par ceci (qui fonctionne bien ailleurs) mais pas pour le moment ici, on récupère bien la latitude, longitude mais pas de marqueur pour l'instant.

' /**

public function geocoding($address) {
$encodeAddress = urlencode($this->withoutSpecialChars($address));

// google map geocode api url $url = "http://maps.google.com/maps/api/geocode/json?sensor=false http://maps.google.com/maps/api/geocode/json?sensor=false&address=%7b$encodeAddress%7d &address={$encodeAddress}";

// get the json response $resp_json = file_get_contents($url);

// decode the json $resp = json_decode($resp_json, true);

// response status will be 'OK', if able to geocode given address if($resp['status']='OK'){

// get the important data
$lati = $resp['results'][0]['geometry']['location']['lat'];
$longi = $resp['results'][0]['geometry']['location']['lng'];
$formatted_address = $resp['results'][0]['formatted_address'];

// verify if data is complete
if($lati && $longi && $formatted_address){

    // put the data in the array
    $return = array();            

    array_push(
        $return, 
            $lati, 
            $longi, 
            $formatted_address
        );

    return $return;
}else{
    return false;
}

}else{ return false; }

/* if (function_exists('curl_init')) { $data = $this->getContent($url); } else { $data = file_get_contents($url); }

$csvSplit = preg_split("/,/", $data);
$status = $csvSplit[0];

if (strcmp($status, "200") == 0) {
    $return = $csvSplit; // successful geocode, $precision = $csvSplit[1],$lat = $csvSplit[2],$lng = $csvSplit[3];
} else {
    //echo "<!-- geocoding : failure to geocode : " . $status . " -->\n";
    $return = null; // failure to geocode
}

return $return;   */

} '

— Reply to this email directly or view it on GitHub https://github.com/ChRomfr/immophp/issues/3#issuecomment-74881251 . https://github.com/notifications/beacon/ADWugmG8qvKJ_2zc3wLpBvkU_PLSnnq6ks5ntKUkgaJpZM4DXqDr.gif

Doriginal commented 9 years ago

Bonjour,

J'ai fait les modif dans: kernel/lib/GoogleMapAPIv3.class.php

Doriginal commented 9 years ago

Salut,

J'ai réussi a modifier ton code pour la géolocalisation. je l'ai modifier dans 2 fichier: app/controller/agenceController.php kernel/lib/GoogleMapAPIv3.class.php

Je peu t'envoyer ces fichiers?

ChRomfr commented 9 years ago

Bonjourvous pouvez me les envoyer a romain.drouche@outlook.comcordialement

-------- Message d'origine -------- De : Doriginal notifications@github.com Date : 28/06/2015 15:43 (GMT+01:00) À : ChRomfr/immophp immophp@noreply.github.com Cc : Romain w.shark@hotmail.fr Objet : Re: [immophp] Géolocalisation google map (#3)

Salut,

J'ai réussi a modifier ton code pour la géolocalisation. je l'ai modifier dans 2 fichier: app/controller/agenceController.php kernel/lib/GoogleMapAPIv3.class.php

Je peu t'envoyer ces fichiers?


Reply to this email directly or view it on GitHub: https://github.com/ChRomfr/immophp/issues/3#issuecomment-116278128

Doriginal commented 9 years ago

Re, J'ai aussi modifié quelques trucs dans le css et mis le logo dans le header (on peu le choisir dans l'admin mais il n'y avait pas de code pour l'afficher) je pourrais mettre cette version en expérimental? Qu'en pense tu?