Friday, May 03, 2013

N=8 - Location, Location, Location (N+1 days of MvvmCross)

Today's N+1 is about how to use the MvvmCross Location plugin -

I go 'quite quickly' through a 4 platform demo - taking 20 minutes to build a simple app to display your current Lat and Lng on the screen.

The steps are very simple:

  • we create a 'normal' MvvmCross app with PCL core and platform specific UIs
  • we add the Location plugin to all projects
  • we start a Watcher from the Location plugin in our ViewModel
  • we use a Watcher callback to update Lat and Lng properties in our ViewModel
  • we bind to Lat and Lng within each of the UIs

While running we do hit a few (sim)emulator limitations though - not all the emulators allow you to easily get or set the current location of the device.

Here's the action:

The source code for this sample is uploaded to:

In a real app, I'd never really put location directly into a ViewModel like that - I'd more likely use a singleton to host the location watcher and then use Messages to distribute the location throughout the app - guess I should N+1 about that soon too...

If anyone wants to take this any of the N+1 samples further - e.g. if you'd like to produce a screencast which adds some maps too - then please do - I'll happily tweet and blog about it to promote them :)

Previously in N+1:

No comments:

Post a Comment