Renamed the classes on buttons to reflect the services they are reliant on.
Maps now only displays if map data can be retrieved (and is retrieved when the application is started).
Refactored the maps javascript so that all the logic which is map-general (rather than data-related - things like handling rotation or putting the location marker in) are in the ViewModel and data-related functionality is in the service.