Transcript
Page 1: 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

Page 2: Mobile Mondays - 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

Page 3: Mobile Mondays - 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

Page 4: Mobile Mondays - 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

Page 5: Mobile Mondays - 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

Page 6: Mobile Mondays - 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

Page 7: Mobile Mondays - 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

Page 8: Mobile Mondays - Mobizel

Merci !

Mobizel « Créez vos applications mobiles, simplement »

– Lancement en janvier 2011

[email protected]– Twitter : @mobizel


Top Related