Download - Mobile Mondays - Mobizel
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 LocationManager (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– Autonome
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
– !• 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