SlideShare una empresa de Scribd logo
1 de 8
Les services mobiles géolocalisés“Comment les intégrer sur les différentes plate-formes ?” Mobile Monday Rennes - 06/12/10 Yannick Le Duc, Mobizel
Plan Quelques usages Où suis-je ? Signale-moi quand j’approche de ce point. Qu’y a-t-il à ce lieu? Un peu de tout ça… Les plateformes mobiles Mobile Monday Rennes @LaCNR - 06/12/10 - Yannick Le Duc - Mobizel
Où suis-je ? Google Android On cherche un LocationProvider  (astuce : getBestProvider(criteria, …)) Permissions à accorder : ACCESS_FINE_LOCATION ou ACCESS_COARSE_LOCATION On crée un objet LocationManager locationMgr = getSystemService(LOCATION_SERVICE); On obtient une position par Location l = locationMgr.getLastKnownLocation(prov); Ou en continu locationMgr.requestLocationUpdates(prov, t, distance, myLocationListener); Apple iPhone (Framework “Core Location”) On crée un objet CLLocationManager On choisit la précision desiredAccuracy = kCLLocationAccuracyBest On choisit la fréquence de rafraichissement distanceFilter = 1000 On démarre startUpdatingLocation On obtient des objets CLLocation: coordinate.latitude coordinate.longitude horizontalAccuracy altitude verticalAccuracy Mobile Monday Rennes @LaCNR - 06/12/10 - Yannick Le Duc - Mobizel
Où suis-je ? Navigateur - HTML5 (W3C Geolocation API) On appelle navigator.geolocation.getCurrentPosition(updatePos) Paramètres additionnels :  enableHighAccuracy timeout maximumAge On reçoit functionupdatePos (position)  {    var lat = position.coords.latitude;     var long = position.coords.longitude;   // affichage carte ou autre… } Il existe aussi : watchPosition Blackberry (Java ME Location API) On spécifie des critères : Précision :  setHorizontalAccuracy Consommation : setPreferredPowerConsumption Sans coût ! setCostAllowed On récupère un LocationProvider prov = LocationProvider.getInstance(criteria) On récupèreune position location = provider.getLocation(-1) location.QualifiedCoordinates Mobile Monday Rennes @LaCNR - 06/12/10 - Yannick Le Duc - Mobizel
Signale-moi quand j’approche de ce point Apple iPhone OS4 (Juillet 2010) et le multi-tâche startMonitoringForRegion(desiredAccuracy); Android Les « ProximityAlerts » locationMgr.addProximityAlert(lat, lng, radius, expiration, proximityIntent); Blackberry Non fourni par le système ! HTML5 Impossible Mobile Monday Rennes @LaCNR - 06/12/10 - Yannick Le Duc - Mobizel
Qu’y a-t-il à ce lieu ? Géocodage (Geocoding), et Reverse Geocoding Nécessite des Web Services Google (Maps), Yahoo PlaceFinder, MS Bing Maps, OpenStreetMap, … Approche similaire entre les plateformes Les champs libres,  Rennes 48.108807,  -1.691895 Reverse Geocoding (Forward) Geocoding Mobile Monday Rennes @LaCNR - 06/12/10 - Yannick Le Duc - Mobizel
Un peu de tout ça… Mixer tout ça, … Difficile Coûteux Les plateformes de réseaux sociaux Twitter Facebook Places “Location As A Service” : le GeoFencing SimpleGeo LocationLabs … Mobile Monday Rennes @LaCNR - 06/12/10 - Yannick Le Duc - Mobizel
Merci ! Mobizel « Créez vos applications mobiles, simplement » Lancement en janvier 2011 yannick@mobizel.com Twitter : @mobizel

Más contenido relacionado

Destacado

Lenguajes de programacion
Lenguajes de programacion Lenguajes de programacion
Lenguajes de programacion juanjokobrax
 
Portafolio fundamentos de administracion original
Portafolio fundamentos de administracion originalPortafolio fundamentos de administracion original
Portafolio fundamentos de administracion originalluisapatriciaviviana
 
Tarea 1.modulo 3
Tarea 1.modulo 3Tarea 1.modulo 3
Tarea 1.modulo 3osterizjjoc
 
Amoileweb Checklist Referencement Pps
Amoileweb Checklist Referencement PpsAmoileweb Checklist Referencement Pps
Amoileweb Checklist Referencement Ppsguest5b764eaa
 
Historia de los computadores
Historia de los computadoresHistoria de los computadores
Historia de los computadoresandresmarincorrea
 
Depto de ciencias básicay media
Depto de ciencias básicay mediaDepto de ciencias básicay media
Depto de ciencias básicay mediaprofesorarosamaria
 
Cañóndelcolorad obasi
Cañóndelcolorad obasiCañóndelcolorad obasi
Cañóndelcolorad obasicoringonzalez
 
Motor trifasico copia
Motor trifasico   copiaMotor trifasico   copia
Motor trifasico copiajuan camilo
 
Como registrar un dominio .com.ar para Blogger
Como registrar un dominio .com.ar para BloggerComo registrar un dominio .com.ar para Blogger
Como registrar un dominio .com.ar para Bloggermpagani14
 
Seguridad en internet
Seguridad en internetSeguridad en internet
Seguridad en internetgonzales1971
 
Quien Es Jesus
Quien Es JesusQuien Es Jesus
Quien Es JesusEz Success
 
E:\Orientacion li
E:\Orientacion liE:\Orientacion li
E:\Orientacion lipre78
 
Informatica educativa
Informatica educativaInformatica educativa
Informatica educativaupc
 
2010 mission vision valeurs de TheLeftBankParfums
2010 mission vision valeurs de TheLeftBankParfums2010 mission vision valeurs de TheLeftBankParfums
2010 mission vision valeurs de TheLeftBankParfumsCoppé
 
sonia.mallen@yahoo.es
sonia.mallen@yahoo.essonia.mallen@yahoo.es
sonia.mallen@yahoo.essoniamallen
 

Destacado (19)

Lenguajes de programacion
Lenguajes de programacion Lenguajes de programacion
Lenguajes de programacion
 
Portafolio fundamentos de administracion original
Portafolio fundamentos de administracion originalPortafolio fundamentos de administracion original
Portafolio fundamentos de administracion original
 
Tarea 1.modulo 3
Tarea 1.modulo 3Tarea 1.modulo 3
Tarea 1.modulo 3
 
Amoileweb Checklist Referencement Pps
Amoileweb Checklist Referencement PpsAmoileweb Checklist Referencement Pps
Amoileweb Checklist Referencement Pps
 
Historia de los computadores
Historia de los computadoresHistoria de los computadores
Historia de los computadores
 
Depto de ciencias básicay media
Depto de ciencias básicay mediaDepto de ciencias básicay media
Depto de ciencias básicay media
 
Biancheri
BiancheriBiancheri
Biancheri
 
LA TORTUGA
LA TORTUGALA TORTUGA
LA TORTUGA
 
Cañóndelcolorad obasi
Cañóndelcolorad obasiCañóndelcolorad obasi
Cañóndelcolorad obasi
 
Presentac..[1]
Presentac..[1]Presentac..[1]
Presentac..[1]
 
Motor trifasico copia
Motor trifasico   copiaMotor trifasico   copia
Motor trifasico copia
 
Como registrar un dominio .com.ar para Blogger
Como registrar un dominio .com.ar para BloggerComo registrar un dominio .com.ar para Blogger
Como registrar un dominio .com.ar para Blogger
 
Seguridad en internet
Seguridad en internetSeguridad en internet
Seguridad en internet
 
Quien Es Jesus
Quien Es JesusQuien Es Jesus
Quien Es Jesus
 
E:\Orientacion li
E:\Orientacion liE:\Orientacion li
E:\Orientacion li
 
Informatica educativa
Informatica educativaInformatica educativa
Informatica educativa
 
2010 mission vision valeurs de TheLeftBankParfums
2010 mission vision valeurs de TheLeftBankParfums2010 mission vision valeurs de TheLeftBankParfums
2010 mission vision valeurs de TheLeftBankParfums
 
sonia.mallen@yahoo.es
sonia.mallen@yahoo.essonia.mallen@yahoo.es
sonia.mallen@yahoo.es
 
Martha martinez
Martha martinezMartha martinez
Martha martinez
 

Comment intégrer les services mobiles géolocalisés sur les différentes plateformes mobiles

  • 1. Les services mobiles géolocalisés“Comment les intégrer sur les différentes plate-formes ?” Mobile Monday Rennes - 06/12/10 Yannick Le Duc, Mobizel
  • 2. Plan Quelques usages Où suis-je ? Signale-moi quand j’approche de ce point. Qu’y a-t-il à ce lieu? Un peu de tout ça… Les plateformes mobiles Mobile Monday Rennes @LaCNR - 06/12/10 - Yannick Le Duc - Mobizel
  • 3. Où suis-je ? Google Android On cherche un LocationProvider (astuce : getBestProvider(criteria, …)) Permissions à accorder : ACCESS_FINE_LOCATION ou ACCESS_COARSE_LOCATION On crée un objet LocationManager locationMgr = getSystemService(LOCATION_SERVICE); On obtient une position par Location l = locationMgr.getLastKnownLocation(prov); Ou en continu locationMgr.requestLocationUpdates(prov, t, distance, myLocationListener); Apple iPhone (Framework “Core Location”) On crée un objet CLLocationManager On choisit la précision desiredAccuracy = kCLLocationAccuracyBest On choisit la fréquence de rafraichissement distanceFilter = 1000 On démarre startUpdatingLocation On obtient des objets CLLocation: coordinate.latitude coordinate.longitude horizontalAccuracy altitude verticalAccuracy Mobile Monday Rennes @LaCNR - 06/12/10 - Yannick Le Duc - Mobizel
  • 4. Où suis-je ? Navigateur - HTML5 (W3C Geolocation API) On appelle navigator.geolocation.getCurrentPosition(updatePos) Paramètres additionnels : enableHighAccuracy timeout maximumAge On reçoit functionupdatePos (position) { var lat = position.coords.latitude; var long = position.coords.longitude; // affichage carte ou autre… } Il existe aussi : watchPosition Blackberry (Java ME Location API) On spécifie des critères : Précision : setHorizontalAccuracy Consommation : setPreferredPowerConsumption Sans coût ! setCostAllowed On récupère un LocationProvider prov = LocationProvider.getInstance(criteria) On récupèreune position location = provider.getLocation(-1) location.QualifiedCoordinates Mobile Monday Rennes @LaCNR - 06/12/10 - Yannick Le Duc - Mobizel
  • 5. Signale-moi quand j’approche de ce point Apple iPhone OS4 (Juillet 2010) et le multi-tâche startMonitoringForRegion(desiredAccuracy); Android Les « ProximityAlerts » locationMgr.addProximityAlert(lat, lng, radius, expiration, proximityIntent); Blackberry Non fourni par le système ! HTML5 Impossible Mobile Monday Rennes @LaCNR - 06/12/10 - Yannick Le Duc - Mobizel
  • 6. Qu’y a-t-il à ce lieu ? Géocodage (Geocoding), et Reverse Geocoding Nécessite des Web Services Google (Maps), Yahoo PlaceFinder, MS Bing Maps, OpenStreetMap, … Approche similaire entre les plateformes Les champs libres, Rennes 48.108807, -1.691895 Reverse Geocoding (Forward) Geocoding Mobile Monday Rennes @LaCNR - 06/12/10 - Yannick Le Duc - Mobizel
  • 7. Un peu de tout ça… Mixer tout ça, … Difficile Coûteux Les plateformes de réseaux sociaux Twitter Facebook Places “Location As A Service” : le GeoFencing SimpleGeo LocationLabs … Mobile Monday Rennes @LaCNR - 06/12/10 - Yannick Le Duc - Mobizel
  • 8. Merci ! Mobizel « Créez vos applications mobiles, simplement » Lancement en janvier 2011 yannick@mobizel.com Twitter : @mobizel

Notas del editor

  1. Honneur departagermonexpériencedansce premier Mobile Monday Rennais.Mon but premier : ne pas vousendormir ;-)Le risque de la présentation : accessibleàtous, trouver un équilibre entre :Trop compliqué pour les non développeursTropsimplifié pour les développeurs (pas vocation àremplacer un bon livre et de l’apprentissage ;-))Mettremon nom et mobizel en bas de page… Logo Mobile Monday, Date, LaCNR Rennes ?Anecdotes à placer/penser :En + des composants de geoloc (GPS, Wifi, Cell), penser au compass et l’accélérateurLa précisions’amélioreprogressivement en fonction du temps (Cell en qqsecs, puis GPS…) : permet de commencer àpréfetcher des infos par ex
  2. Plateformes : ilfaut faire des choix (en 8 mn)Apple iPhoneGoogle AndroidWindows Phone 7Dans un navigateur : HTML5Désolé pour les autres (Nokia/Symbian/Meego, Samsung Bada, BlackBerry)
  3. BlackberrySimulation possible dans le simulator-1 est le timeoutApplication PermissionsHTML5Browser specific – Tester avantsi la fonctionnalitéestdispocoords.latitude double decimal degreescoords.longitude double decimal degreescoords.altitude double or null meters above the reference ellipsoidcoords.accuracy double meterscoords.altitudeAccuracy double or null meterscoords.heading double or null degrees clockwise from true northcoords.speed double or null meters/secondtimestamp
  4. Limites du système : trade-off consoélectrique et précisions… En tâche de fond, en iOS, on ne feraque de la triangulation de Cell tower… doncpeu précis…"wake-on-location".In iOS 4.0 and later, you can use the region monitoring service to define the boundaries for multiple geographical regions. After registering a region using the startMonitoringForRegion:desiredAccuracy: methodhttp://developer.apple.com/library/ios/#documentation/CoreLocation/Reference/CLLocationManager_Class/CLLocationManager/CLLocationManager.htmlInstantiate a CLRegion with a center coordinate and a distance/accuracy filter.Ask the CLLocationManager to begin monitoring for that region.Your CLLocationManager delegate is called when you enter and exit a region.http://longweekendmobile.com/2010/06/30/location-region-data-in-background-on-ios4-iphone/
  5. Schéma client / serveur / cloud, dans les 2 sens (sur la CNR)Lat : 48.108807 (N),Long : -1.691895 (W)Les x + gros services. Ceuxfournisdans les SDKs de baseEx sur LACNR
  6. “Developers seeking a better, smarter, and potentially lower-cost way to create location-based mobile apps might want to consider using a location-as-a-service platform”SimpleGeo début 2010LocationLabsJuin 2010Pourquoiintéressant : deal with erreurs/imprécisions (statistiques)Ex de code ?“Sixty percent of mobile subscribers worldwide will use an application enabled by location over the next four years or so, says Mark Beccue, a senior analyst at ABI Research”“An estimated 12 percent of the apps in the iPhone App Store had a location component, according to a recent Apple iTunes report.”