Les services mobiles géolocalisés“Comment les intégrer sur les différentes plate-formes ?”<br />Mobile Monday Rennes - 06/...
Plan<br />Quelques usages<br />Où suis-je ?<br />Signale-moi quand j’approche de ce point.<br />Qu’y a-t-il à ce lieu?<br ...
Où suis-je ?<br />Google Android<br />On cherche un LocationProvider<br /> (astuce : getBestProvider(criteria, …))<br />Pe...
Où suis-je ?<br />Navigateur - HTML5<br />(W3C Geolocation API)<br />On appelle navigator.geolocation.getCurrentPosition(u...
Signale-moi quand j’approche de ce point<br />Apple iPhone<br />OS4 (Juillet 2010) et le multi-tâche<br />startMonitoringF...
Qu’y a-t-il à ce lieu ?<br />Géocodage (Geocoding), et Reverse Geocoding<br />Nécessite des Web Services<br />Google (Maps...
Un peu de tout ça…<br />Mixer tout ça, …<br />Difficile<br />Coûteux<br />Les plateformes de réseaux sociaux<br />Twitter<...
Merci !<br />Mobizel<br />« Créez vos applications mobiles, simplement »<br />Lancement en janvier 2011<br />yannick@mobiz...
Prochain SlideShare
Chargement dans…5
×

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

1 139 vues

Publié le

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

Présentation faite par Yannick Le Duc - Mobizel - lors du 1er Mobile Monday à Rennes, co-organisé par Rennes Atalante et La Cantine Numérique Rennaise

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 139
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
17
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • 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
  • 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)
  • 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
  • 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…&quot;wake-on-location&quot;.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/
  • 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
  • “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.”
  • Comment intégrer les services mobiles géolocalisés sur les différentes plateformes mobiles

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

    ×