예제 #1
0
파일: peuplerLieu.php 프로젝트: ARL64/moove
 public function load(ObjectManager $manager)
 {
     $index = 1;
     $file = fopen(__DIR__ . "/peuplerLieu.csv", "r");
     while (true) {
         $line = fgetcsv($file, 0, ';');
         if (empty($line) || is_null($line)) {
             break;
         }
         $temps = new Lieu();
         $temps->setNom($line[0])->setNumeroRue(intval($line[1]))->setNomRue($line[2])->setComplementAdresse($line[3])->setCodePostal(intval($line[4]))->setVille($line[5])->setLatitude(floatval($line[6] . "The"))->setLongitude(floatval($line[7] . "The"));
         $manager->persist($temps);
         $this->addReference("lieu-" . $index, $temps);
         $index++;
     }
     fclose($file);
     $manager->flush();
 }
예제 #2
0
 /**
  * Récupère les informations d'un lieu en fonction d'une adresse
  * @param $adresse <i>(string)</i> adresse d'un lieu
  * @return <i>moove\ActiviteBundle\Entity\Lieu</i>
  */
 private function getInfosAdresse($adresse)
 {
     // On créé un objet GoogleMapsGeocoder prenant en paramètre l'adresse du lieu $adresse
     $geocodeLieu = new \GoogleMapsGeocoder($adresse);
     // On enregistre le résultat de la requête faite à GoogleMapsAPI pour récupérer les informations du lieu
     $reponse = $geocodeLieu->geocode();
     // On récupère les infos sur le lieu
     $infosLieu = $reponse['results'][0]['address_components'];
     // On récupère la latitude et longitude sur le lieu
     $latLngLieu = $reponse['results'][0]['geometry']['location'];
     // On créer un nouveau Lieu à partir des informations de Google
     $lieu = new Lieu();
     // On remplis certaine information non disponible via Google
     $lieu->setNom(null)->setComplementAdresse(null)->setLatitude($latLngLieu['lat'])->setLongitude($latLngLieu['lng']);
     foreach ($infosLieu as $value) {
         if (strcmp($value['types'][0], 'street_number') == 0) {
             $lieu->setNumeroRue($value['long_name']);
         } elseif (strcmp($value['types'][0], 'route') == 0) {
             $lieu->setNomRue($value['long_name']);
         } elseif (strcmp($value['types'][0], 'locality') == 0) {
             $lieu->setVille($value['long_name']);
         } elseif (strcmp($value['types'][0], 'postal_code') == 0) {
             $lieu->setCodePostal($value['long_name']);
         }
     }
     return $lieu;
 }