public void saveMap(MapInfo metadata, string url, Action<MapInfo> finishedCallback)
 {
     lock (this)
     {
         _mapMetadata = metadata;
         var local = localPath();
         if(downloadFile(url, local + IMAGE_EXT) > 0)
             writeSettingsToXML(local + META_EXT);
     }
     if (finishedCallback != null)
         finishedCallback(metadata);
 }
        private void updateFromMap()
        {
            if (View != null)
            {
                var mapInfo = View.getMapInfo();
                mapInfo.Name = MapName;
                mapInfo.Description = MapDescription;

                _mapInfo = mapInfo;

                Latitude = _mapInfo.SWLat;
                Longitude = _mapInfo.SWLong;
            }
        }
        /// <summary>
        /// Initializes a new instance of the MapViewModel class.
        /// </summary>
        public MapViewModel()
            : base("Map_Next", "Map_Previous", "Map_Title", "Map_Description")
        {
            NextPage = Page.Actions;
            PreviousPage = Page.Actions;
            CanNavigateBack = true;
            CanNavigateNext = false;
            _mapInfo = new MapInfo();

            FromMap = new RelayCommand(() =>
                {
                    updateFromMap();
                });

            MessengerInstance.Register<Settings>(this, (msg) =>
                {
                    updateFromSettings(msg.Content);
                });
            MessengerInstance.Send<SettingsRequest>(new SettingsRequest());
        }