0% ont trouvé ce document utile (0 vote)
40 vues7 pages

Cours Android INSEA Ch6

Le document présente un chapitre sur la localisation et les cartes dans le développement d'applications mobiles Android. Il aborde des concepts clés tels que le GPS, les API de localisation, et l'intégration de Google Maps, ainsi que les fonctionnalités associées pour afficher et personnaliser des cartes. Des instructions pratiques pour l'utilisation des API et la gestion des coordonnées sont également fournies.

Transféré par

the other side
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
40 vues7 pages

Cours Android INSEA Ch6

Le document présente un chapitre sur la localisation et les cartes dans le développement d'applications mobiles Android. Il aborde des concepts clés tels que le GPS, les API de localisation, et l'intégration de Google Maps, ainsi que les fonctionnalités associées pour afficher et personnaliser des cartes. Des instructions pratiques pour l'utilisation des API et la gestion des coordonnées sont également fournies.

Transféré par

the other side
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

23/05/2024

Localisation et
Cartes

DÉVELOPPEMENT POUR MOBILES


(ANDROID)
Chapitre 6 :
Cartes et localisation PRÉSENTATION

Dr. KHALIFI Hamid


[email protected]
DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

Localisation et Localisation et
Cartes Cartes

PRÉSENTATION QUELQUES DÉFINITIONS


 Les applications basés sur la localisation et la  La latitude : est une valeur ang ulaire, expression
du positionnement nord ou sud d'un point sur Terre.
cartographie attirent énorm ément les utilisateurs
 La longitude : est une valeur ang ulaire, expression
d'appareils mobiles.
du positionnement est ou ouest d'un point sur Terre.
 Avec les progrès de la miniaturisation, la plupart
 Accuracy : La précision, fournir une lectu re ou une
des terminaux sont équipés de puces GPS. mesure correcte.
 La géolocalisation est ainsi devenue un élém ent
qu'on retrouve dans énormément d'applications.

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

Localisation et Localisation et
Cartes Cartes

GPS - GLOBAL POSITIONING SYSTEM GPS - GLOBAL POSITIONING SYSTEM


 Le GPS repose sur la mesure de la distanc e d'un
 C ’est un Système de géo localisation par satellite. récepteur par rapport à plusieurs satellites.
 Un total de 24 satellites autour du globe.  Chaque s atellite émet un signal, capté sur Terre par
 Il permet de déterminer les coordonnées le réc epteur, afin de mesurer la distanc e séparant
géographiques de n'importe quel point situé à la l'émetteur du récepteur grâce au temps de parcours.
surface du globe.
 Le GPS s'utilise en association avec une carte pour
se repérer et se positionner.
 Sa précision peut atteindre 1 mètre.

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

1
23/05/2024

Localisation et Localisation et Localisation


Cartes Cartes

 On sélectionne ainsi deux API qui sont liées au


concept de localisation :

Une API qui permet de localiser l'appareil.


LOCALISATION
Une API qui permet d'afficher des cartes.

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

Localisation et Localisation Localisation et Localisation


Cartes Cartes
 Une fo is que votre application a un gestionnaire COORDONNÉES
d'instance de LocationManager, il sera capable de faire ces  A partir d'un fournisseur de position actif, il est possible
trois choses : d'interroger la dernière localisation en utilisant l'objet
 faire une requête de la liste de tout les Fournisseurs Location.
de lo calisatio n connus du LocationManager pour
récupérer la dernière localisation;
 activer ou désactiver les mises à jo ur périodiques
concernant la position actuelle à partir d'un  Les providers proposés :
LocationProvider (Fournisseur de localisation/position) ; L ocat i onM anage r. N ETWOR K_PR OVI DER
L ocat i onM anage r.G PS_PR OVI DER
 activer ou désactiver le démarrage d'une I nte ntion
(Inte nt ) prédéfinie si l'appareil arrive à une certaine  Les permissio ns associées pour la localisation sont:
distance d'une longitude/latitude donnée . androi d . pe rmi ssi on . ACCESS_FI N E_LOCATI ON vi a l e GPS
androi d . pe rmi ssi on . ACCESS_COAR SE_LOCATI ON vi a l e réseau

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

Localisation et Localisation Localisation et Localisation


Cartes Cartes

COORDONNÉES COORDONNÉES
 Il est possible de réagir à un changement de  Lors du développement dans l'émulateur, il existe
position en créant un écouteur qui sera appelé à un moyens de donner une fausse position :
intervalles réguliers et pour une distante minimum Eclipse :
donnée: le temps minimum la distance minimale  A c ti ver l a p ersp ec ti ve d d m s;
entre les notifications en mètres pour les
en millisecondes notifications
 A p rès avoi r sél ec ti on n é l 'ém u l ateu r (d ém ar r é),
c onf i gu rer l es c oord on n ées GPS f i c ti ves d an s l a p ar ti e
"Em u l ator Con trol » et d e c l i q u er su r "Sen d « .

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

2
23/05/2024

Localisation et Localisation Localisation et Localisation


Cartes Cartes
COORDONNÉES COORDONNÉES

Android Studio :
 Tout d'abord, lancez votre
émulateur Android et cliquez
sur le bouton de menu :

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

Localisation et Localisation Localisation et Localisation


Cartes Cartes
COORDONNÉES COORDONNÉES

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

Localisation et Localisation et Cartes


Cartes Cartes

 Android permet d'intégrer Google Maps dans les


applications en offrant plusieurs fonctionnalités,
à savoir :
Afficher n'importe quel emplac ement sur une
CARTES carte.
Afficher l'emplacement actuel de l'appareil.
Afficher différents itinéraires sur une carte.
Personnaliser une carte en fonction de besoins...

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

3
23/05/2024

Localisation et Cartes Localisation et Configuration


Cartes Cartes

 On utilise donc les Google Maps Android API.  Pour exécuter une application qui
utilise les Maps Google, vous devez la
 Cette API permet de manipuler des cartes
déployer sur un appareil Android, ou
terrestres. sur un émulateur Android qui
 Ces classes se trouvent dans le package exécute Android 4.0 (ou une version
com.google.android.gms.maps ultérieure) et inclut les API Google.
 Si vous choisissez d'utiliser un
 Cette API gère l’affichage, les entrées clavier, le
émulateur Android, assurez-vous de
zoom, le toucher sur une carte affichée. sélectionner un appareil accompagné
 On peut dessiner, ajouter des images, des de l'icône Play Icône Google Play.
marqueurs et des infos sur la carte. dans la colonne Play Store.

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

Localisation et Configuration Localisation et Configuration


Cartes Cartes

 L'API Google Maps Android


est distribuée dans le cadre du
SDK des services Google Play.

 Vous pouvez télécharger le


SDK des services Google Play
via le Gestionnaire SDK
Android.

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

Localisation et Cartes Localisation et Cartes


Cartes Cartes

MapsActivity MapsActivity
 La création d'une activity GoogleMap a été simplifié
 Une fois l'activity créée, et
dans Android.
l'application lancée.

 Dans les logs de l'application,


GoogleMap indiquera une erreur :
➔ Authenticatio n failed on the
ser ver.

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

4
23/05/2024

Localisation et Clé API Google Maps Localisation et Clé API Google Maps
Cartes Cartes

 Pour obtenir la clé, il est possible aussi de cliquer sur


 Pour afficher une carte Google Maps dans Android,
le lien indiqué dans le fichier google_maps_api.xml
il faut avoir une clé de l'API.
(ancienne version)
 Pour obtenir cette clé, il faut se rendre sur le site :
 Et mettre la clé dans ce fichier xml comme illustré ci-dessous :
developers.google.com

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

Localisation et Affichage de la carte Localisation et Affichage de la carte


Cartes Cartes
 Pour obtenir la clé, il est possible aussi de cliquer sur
le lien indiqué dans le fichier AndroidManifest.xml  La classe MapsActivity est prête à ê tre utilisée avec un
code minimal.
(nouvelle version)
 Au niveau de la méthode onCreate() o n fait relier le
 Et mettre la clé dans ce fichier xml comme illustré ci-dessous :
code java avec le fragment qui contient no te carte.

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

Localisation et Affichage de la carte Localisation et Affichage de la carte


Cartes Cartes

 Pour faire l'affichage de la carte, c'est au niveau de la GoogleMap : point d'entrée pour gérer les données
méthode onMapReady qu'on instancie l'objet GoogleMap et les éléments géographiques.
puis on crée une instance de l'objet LatLng , ensuite on
Un objet GoogleMap exécute automatiquement les
ajoute un marque ur pour indique r la po sitio n (X,Y) en
opérations suivantes :
appelant la méthode addMarker ().
Connexion au service Google Maps.
 Enfin o n focalise la caméra vers ladite position par le
biais de la méthode moveCamera (). Téléchargement des tuiles de carte.
Affichage des tuiles sur l'écran de l'appareil.
Affichage de diverses commandes comme le
panoramique et le zoom.
Répons e aux gestes de panoramique et de zoom
(déplacement de la carte et zoom avant ou arrière).

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

5
23/05/2024

Localisation et Affichage de la carte Localisation et Personnalisation de la carte


Cartes Cartes

Ajouter un marqueur
 Il est possible de plac er un marqueur avec du texte
 Après avoir exécuter le code, une dessus pour afficher une position.
carte s'affiche indiquant avec un  Cela se fait via la méthode addMarker() et les
marqueur l'emplacement et la propriétés title() et snippet().
position indiquée comme valeur de
l'objet LatLng.

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

Localisation et Personnalisation de la carte Localisation et Personnalisation de la carte


Cartes Cartes

Personnaliser le marqueur Zoomer la Caméra


 Pour faire un Zoom caméra à une certaine échelle :
 Plusieurs propriétés permettent de personnaliser le
marqueur :

 icon(), rotation()...

 Approximativement ci-après les niveaux de détail


que vous pouvez voir à chaque niveau de zoom :
1 : M on d e 1 0 : Vi l l es
5 : Con ti n en ts 1 5 : R u es
7 : Pays 2 0 : B âti m en ts

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

Localisation et Personnalisation de la carte Localisation et Personnalisation de la carte


Cartes Cartes

Activer/Désactiver le Zoom Dessiner sur la carte


 Pour activer ou désactiver les gestes d e zoom dans  Il est possible de dessiner des formes géométriques
la carte il faut appeler la méthode : sur la carte selon des coordonnées géographiques :
setZoom ControlsEnabled (boolean) Des cercles : addCircle()
Des polygones : addPolygone()
Des polylines (polygone vide) : addPolyline()
Des images : addGroundOverlay ()

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

6
23/05/2024

Localisation et Personnalisation de la carte Localisation et Personnalisation de la carte


Cartes Cartes
Modification du type de carte Ajouter un événement
 Il existe quatre types de cartes différents et chacun
donne une vue différente de la carte.  Pour mettre en plac e un événem ent réagissant aux
 Ces types sont : Normal, Hybride, Satellite et Terrain. clics sur la carte, il faut utiliser l'interfac e
OnMapClickListener.
 L'exemple ci-après ajoute autant de marqueurs que
de clics :

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

Vous aimerez peut-être aussi