57 lines
2.0 KiB
C
57 lines
2.0 KiB
C
#pragma once
|
|
|
|
#include "controleur.h"
|
|
|
|
#define DATESIZE 64
|
|
#define REQUESTSIZE 8192
|
|
|
|
#define BORDERSIZE 25
|
|
|
|
#define ZOOMAX 20
|
|
#define ZOOMIN 0
|
|
|
|
// Une petite constante (magique) pour calculer l'échelle en fonction du zoom (et vice-versa)...
|
|
#define CONSTANTE 591657550.47936
|
|
|
|
// Pour des raisons de qualité d'image, le 'scale' est fixé à 2
|
|
#define MAPSCALE 2
|
|
|
|
// Dimensions de l'image de la carte à récupérer
|
|
#define MAPSIZE 640
|
|
|
|
#define APIKEY "AIzaSyBcU1vPg1hRYaMd3eGDIkoUULISuw6wbw8"
|
|
|
|
|
|
/**
|
|
* @brief Calcule à partir d'un ensemble de points, les coordonnées coins hautGauche
|
|
* et basDroit d'un rectangle qui englobe tous les points
|
|
*
|
|
* @param pts Tableau de points.
|
|
* @param taille Taille du tableau pts.
|
|
* @param hautGauche Pointeur sur les coordonnées du coin hautGauche du rectangle.
|
|
* @param basDroit Pointeur sur les coordonnées du coin basDroit du rectangle.
|
|
* @return Procédure.
|
|
*/
|
|
void getExtrema(Point const* const pts, uint32_t const taille, Coordonnees *const hautGauche, Coordonnees *const basDroit);
|
|
|
|
/**
|
|
* @brief Télécharge une carte sous forme d'image à l'aide de l'API Google MAPS et de cURL.
|
|
*
|
|
* @param pointHautGauche Coordonnées du point le plus "en-haut à gauche".
|
|
* @param pointBasDroite Coordonnées du point le plus "en-bas à droite".
|
|
* @param zoom Zoom optimal de la carte !
|
|
* @return Un booléen si l'opération s'est bien déroulée... ou non.
|
|
*/
|
|
bool getBackgroundMap(const Coordonnees *const pointCentral, const uint8_t zoom);
|
|
|
|
/**
|
|
* @brief Calcul le zoom et l'échelle correspondante à notre situation.
|
|
*
|
|
* @param pointHautGauche Coordonnées du point le plus "en-haut à gauche".
|
|
* @param pointBasDroite Coordonnées du point le plus "en-bas à droite".
|
|
* @param zoom Pointeur sur la variable qui contiendra le zoom !
|
|
* @param echelle Pointeur sur la variable qui contiendra l'échelle !
|
|
* @return Procédure.
|
|
*/
|
|
void getZoomEchelle(const Coordonnees *const pointHautGauche, const Coordonnees *const pointBasDroite, uint8_t *const zoom, double *const echelle);
|