vendredi 5 février 2010

Récupérer une carte depuis google maps

Pour permettre à l'utilisateur d'avoir un plan dans l'application, nous avons utilisé Google Maps. En effet, Google met à sa disposition des outils afin de récupérer une carte d'un endroit souhaité.

Pour nous aider, nous nous sommes fortement inspirés du tutoriel proposé par Pierre Cauchois.

Nous avons donc créé deux paramètres dans notre fichier de ressources : un pour l'url de l'application google maps, et un deuxième pour la clé nécessaire à la connexion à cette application.

Pour l'url, nous avons mis le paramètre GoogleMapsBaseUrl avec la valeur suivante : http://maps.google.com/staticmap? (avec le point d'interrogation)

Pour la clé, nous sommes allés sur ce site, et en bas, nous avons rempli l'url par http://localhost .
Google nous a retourné une clé que nous avons ajouté comme valeur d'un paramètre que nous avons nommé GoogleMapsApiKey.

Puis, pour faire la requête auprès de google, nous avons utilisé le code suivant :
Bitmap myMap = null;
#region Construction des arguments de l'URL
StringBuilder args = new StringBuilder();
args.Append("center=" + lat + "," + lng);
args.Append("&zoom=12");
args.Append("&size=" + 480 + "x" + 380);
args.Append("&format=png");
args.Append("&maptype=mobile");
args.Append("&markers=" + lat + "," + lng + "," + "blue");
args.Append("&key=" + Properties.Resources.GoogleMapsApiKey);
args.Append("&sensor=false");
#endregion
try
{
WebRequest myRequest = WebRequest.Create(Properties.Resources.GoogleMapsBaseUrl + args.ToString());
WebResponse myResponse = myRequest.GetResponse();
myMap = new Bitmap(myResponse.GetResponseStream());
myResponse.Close();
}
catch (WebException ex)
{
MessageBox.Show(ex.Message);
}


Ce code nous permet de passer les coordonnées à google qui nous retourne la carte correspondante. Nous pouvons alors utiliser cette carte pour l'afficher à l'utilisateur.

Aucun commentaire:

Enregistrer un commentaire