21
Itinéraire sur Google Maps Lightning Talks Chrigui Sarah

Itinéraire sur Google Maps

Embed Size (px)

DESCRIPTION

Présentation élaborée par Mlle. Sarah Chrigui dans le cadre des sessions de Lightning Talks à l'Orange Developer Center.

Citation preview

Page 1: Itinéraire sur Google Maps

Itinéraire sur Google Maps

Lightning Talks

Chrigui Sarah

Page 2: Itinéraire sur Google Maps

2

Plan

Introduction

API Google Maps v2

Exemple

Conclusion

Lightning Talks: Itinéraire sur Google Maps

Page 3: Itinéraire sur Google Maps

3

Introduction

Intégration des Maps dans la majorité des applications

Mobiles.

Besoin de précision, de guidage.

Utilisation des APIs proposés par Google .

Lightning Talks: Itinéraire sur Google Maps

Page 4: Itinéraire sur Google Maps

4

API Google Maps v2L’API Google Maps v2 fournit des méthodes et des classes permettant de créer :

La map

Des évènements sur la map

Les fonctions infowindow

Les polylignes

Les classes qu’on va utiliser sont :

LatLng // créer des points a partir de leur longitude et latitude

Marker // créer un point géographique sur une carte

PolylineOptions // créer un lien graphique entre deux points sur la carte

Lightning Talks: Itinéraire sur Google Maps

Page 5: Itinéraire sur Google Maps

5

Exemple Etapes

1. Afficher la carte (Google Maps).

2. Ajouter des marqueurs.

3. Récupérer de l’itinéraire.

4. Ajouter l’itinéraire à la carte.

Lightning Talks: Itinéraire sur Google Maps

Page 6: Itinéraire sur Google Maps

6

ExempleEtape1: Afficher la carte (Google Maps).

Lightning Talks: Itinéraire sur Google Maps

Installer le package de Google Play Services

Page 7: Itinéraire sur Google Maps

7

ExempleEtape1: Afficher la carte (Google Maps).

Lightning Talks: Itinéraire sur Google Maps

Importer Google Play Services sous Eclipse

Page 8: Itinéraire sur Google Maps

8

ExempleEtape1: Afficher la carte (Google Maps).

Lightning Talks: Itinéraire sur Google Maps

Récupérer la clé Google Maps API

Page 9: Itinéraire sur Google Maps

9

ExempleEtape1: Afficher la carte (Google Maps).

Lightning Talks: Itinéraire sur Google Maps

Récupérer la clé Google Maps API

Page 10: Itinéraire sur Google Maps

10

ExempleEtape1: Afficher la carte (Google Maps).

Lightning Talks: Itinéraire sur Google Maps

Résultat Etape 1

Page 11: Itinéraire sur Google Maps

11

ExempleEtape 2: Ajouter des marqueurs

Lightning Talks: Itinéraire sur Google Maps

Il faut activer le GPS pour pouvoir déterminer votre position et par la suite y mettre un

marqueur

// Recuperer la mapprivate GoogleMap mMap=mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();

// Déterminer ma positionpublic void onLocationChanged(Location location) {

myLocation=location;}

LatLng mapos=new LatLng(myLocation. latitude,myLocation. longitude);

Page 12: Itinéraire sur Google Maps

12

ExempleEtape 2: Ajouter des marqueurs

Lightning Talks: Itinéraire sur Google Maps

// Définir le marqueur de ma position et de la destination et l’ajouter à la carteMarker m1;

m1 = mMap.addMarker(new MarkerOptions().position(mapos).title("Ma position")

.icon(BitmapDescriptorFactory.fromResource(R.drawable.ici)));

// Faire de même pour la destinationMarker m2;

m2 = mMap.addMarker(new MarkerOptions().position(destination) // destionation de type LatLng .title(« Lake Club")

.icon(BitmapDescriptorFactory.fromResource(R.drawable.laba));

Page 13: Itinéraire sur Google Maps

13

ExempleEtape 2: Ajouter des marqueurs

Lightning Talks: Itinéraire sur Google Maps

Résultat Etape 2

Page 14: Itinéraire sur Google Maps

14

ExempleEtape 3: Récupérer l’itinéraire

Lightning Talks: Itinéraire sur Google Maps

// Voici l’url avec laquelle on peut récupérer la route entre deux points

http://maps.google.com/maps/api/directions/xml?origin=latitude_point1,longitude_point1&destination=latitude_point2,longitude_point2&sensor=true&mode=driving

Page 15: Itinéraire sur Google Maps

15

ExempleEtape 3: Récupérer l’itinéraire

Lightning Talks: Itinéraire sur Google Maps

// Résultat de l’url

Page 16: Itinéraire sur Google Maps

16

ExempleEtape 3: Récupérer l’itinéraire

Lightning Talks: Itinéraire sur Google Maps

// Dans notre activité :// 1) On construit l’urlStringBuilder urlString = new StringBuilder(); urlString.append("http://maps.google.com/maps/api/directions/xml?origin="); // Ajouter des long et lat de la source urlString.append(myLocation.getLatitude()); urlString.append(","); urlString.append(myLocation.getLongitude()); // Ajouter des long et lat de la destination urlString.append("&destination="); urlString.append(dest_lat); urlString.append(","); urlString.append(dest_long); urlString.append("&sensor=true&mode=driving"); Log.d("url","::"+urlString.toString());

Page 17: Itinéraire sur Google Maps

17

ExempleEtape 3: Récupérer l’itinéraire

Lightning Talks: Itinéraire sur Google Maps

// 2) On établit la connexion HttpURLConnection urlConnection= null; URL url = null; url = new URL(urlString.toString()); urlConnection=(HttpURLConnection)url.openConnection(); urlConnection.setRequestMethod("GET"); urlConnection.setDoOutput(true); urlConnection.setDoInput(true); urlConnection.connect(); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); // Recuperation du resultat dans "doc" Document doc = (Document) db.parse(urlConnection.getInputStream());

Page 18: Itinéraire sur Google Maps

18

ExempleEtape 4: Ajouter l’ itinéraire

Lightning Talks: Itinéraire sur Google Maps

// Retourner tous les points LatLong sur la route du point 1 vers le point 2 NodeList _nodelist_path = doc.getElementsByTagName("overview_polyline"); private ArrayList<LatLng> decodePoly(String encoded) {…} List<LatLng> directionPoint = decodePoly(_path);//_path : resultat de recuperation de données du nœud overview_polyline// Definir la couleurPolylineOptions rectLine = new PolylineOptions().width(3).color(Color.CYAN); for (int i = 0; i < directionPoint.size(); i++) { rectLine.add(directionPoint.get(i)); } // Ajouter la route à la map mMap.addPolyline(rectLine);

Page 19: Itinéraire sur Google Maps

19 Lightning Talks: Itinéraire sur Google Maps

Page 20: Itinéraire sur Google Maps

20

Conclusion

Lightning Talks: Itinéraire sur Google Maps

Autres informations peuvent être récupérées via l’url présentée

(distance, estimation de temps,..)

Profiter des API disponibles (Google Earth API, Places API ,..)

Améliorer vos applications

Page 21: Itinéraire sur Google Maps

Merci pour votre attention