コード例 #1
0
 /**
  * Получить маршруты
  * @param array $addressIds координаты адресов
  * @return Route
  */
 public static function getRoutes(array $addressIds)
 {
     $keyCache = Helper::hashData($addressIds);
     if ($data = CacheData::get($keyCache)) {
         return $data;
     }
     $response = GoogleMapsDirectionsAPI::getRoutesByIds($addressIds, true);
     if (!$response) {
         return [];
     }
     $routes = [];
     foreach ($response->routes as $route) {
         $routes = array_merge($routes, self::prepareLegs($route->legs, $route->summary));
     }
     self::prepareSafetyLevel($routes);
     CacheData::set($keyCache, $routes);
     return $routes;
 }
コード例 #2
0
 /**
  * Получить адреса по Ids
  * @param array $ids
  * @return array
  */
 public static function getIds(array $ids)
 {
     $keyCache = Helper::hashData($ids);
     if ($data = CacheData::get($keyCache)) {
         return $data;
     }
     $address = [];
     foreach ($ids as $id) {
         $response = GoogleMapsGeocodingAPI::getPlaceId($id);
         $response = self::prepareAddress($response);
         $address = array_merge($address, $response);
     }
     CacheData::set($keyCache, $address);
     return $address;
 }