private void pinCurrentMapCenterAsSecondaryTile() { try { var usCultureInfo = new CultureInfo("en-US"); var latitude = map.Center.Latitude.ToString(usCultureInfo.NumberFormat); var longitude = map.Center.Longitude.ToString(usCultureInfo.NumberFormat); var reverseGeocode = new ReverseGeocode(true); reverseGeocode.Updated += OnReverseGeocodeUpdated; reverseGeocode.QueryAsync(latitude, longitude, CultureInfo.CurrentUICulture.TwoLetterISOLanguageName.ToUpper()); } catch (Exception) { } }
private void RefreshPOIsOnMap() { if (refreshDelay >= DateTime.Now) { var bw = new BackgroundWorker(); bw.DoWork += (sender, args) => { Thread.Sleep(100); RefreshPOIsOnMap(); }; bw.RunWorkerAsync(); return; } if (!Dispatcher.CheckAccess()) { Dispatcher.BeginInvoke(RefreshPOIsOnMap); return; } ((App)Application.Current).RefreshPOIs(); if (IsolatedStorageSettings.ApplicationSettings.Contains("car2goSelectedCity")) { if ("autodetect" != ((string)IsolatedStorageSettings.ApplicationSettings["car2goSelectedCity"]).ToLower()) { return; } } var usCultureInfo = new CultureInfo("en-US"); var latitude = map.Center.Latitude.ToString(usCultureInfo.NumberFormat); var longitude = map.Center.Longitude.ToString(usCultureInfo.NumberFormat); var reverseGeocode = new ReverseGeocode(true); reverseGeocode.Updated += delegate(object o, EventArgs args) { var response = (o as ReverseGeocode).Results; var localityName = ""; if (null != response) { if ("" == localityName) { foreach (var address_component in response.SelectMany(result => result.address_components.Where( address_component => address_component.types.Contains("locality") && address_component.types.Contains("political")))) { localityName = address_component.long_name.ToLower(); break; } } } if ((IsolatedStorageSettings.ApplicationSettings.Contains("current_map_city") && ((string)IsolatedStorageSettings.ApplicationSettings["current_map_city"] != localityName)) || !IsolatedStorageSettings.ApplicationSettings.Contains("current_map_city")) { App.SetAppSetting("current_map_city", localityName); ((App)Application.Current).RootFrame.Dispatcher.BeginInvoke(() => { try { (App.Current.Resources["car2go"] as Car2Go).LoadPOIs(); } catch { } }); } }; reverseGeocode.QueryAsync(latitude, longitude, "DE"); }