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);
 | 
