Comment intégrer les services mobiles géolocalisés sur les différentes plateformes mobiles
Transcript of Comment intégrer les services mobiles géolocalisés sur les différentes plateformes mobiles
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 ?Apple iPhone(Framework “Core Location”)
• On crée un objet CLLocationManager
• On choisit la précisiondesiredAccuracy = kCLLocationAccuracyBest
• On choisit la fréquence de rafraichissementdistanceFilter = 1000
• On démarrestartUpdatingLocation
On obtient des objets CLLocation :• coordinate.latitude• coordinate.longitude• horizontalAccuracy• altitude• verticalAccuracy
Google Android
• On cherche un LocationProvider (astuce : getBestProvider(criteria, …))
• Permissions à accorder :ACCESS_FINE_LOCATION ou ACCESS_COARSE_LOCATION
• On crée un objet LocationManagerlocationMgr =
getSystemService(LOCATION_SERVICE);
• On obtient une position parLocation l = locationMgr.getLastKnownLocation(prov);
• Ou en continulocationMgr.requestLocationUpdates(prov, t, distance, myLocationListener);
Mobile Monday Rennes @LaCNR - 06/12/10 - Yannick Le Duc - Mobizel
Où suis-je ?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 LocationProviderprov = LocationProvider.getInstance(criteria)
• On récupère une positionlocation = provider.getLocation(-1)
location.QualifiedCoordinates
Navigateur - HTML5(W3C Geolocation API)
• On appelle navigator.geolocation.getCurrentPosition(updatePos)
Paramètres additionnels : • enableHighAccuracy• timeout• maximumAge
• On reçoitfunction updatePos (position) { var lat = position.coords.latitude; var long = position.coords.longitude; // affichage carte ou autre…}
Il existe aussi : watchPositionMobile 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 « Proximity Alerts »– 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
– [email protected]– Twitter : @mobizel