using System; using System.Windows; using System.Windows.Input; using System.Windows.Media.Imaging; using Google.Maps; using Google.Maps.StaticMaps; using InABox.Wpf; namespace PRSDesktop.Forms { /// /// Interaction logic for MapForm.xaml /// public partial class MapForm : ThemableWindow { String GOOGLE_KEY = "AIzaSyChZhoJCzeaOm8q2QMm2KJOgc26aCeopjQ"; StaticMapRequest request = new StaticMapRequest(); StaticMapService service = new StaticMapService(); public BitmapImage ToImage(byte[] array) { using (var ms = new System.IO.MemoryStream(array)) { var image = new BitmapImage(); image.BeginInit(); image.CacheOption = BitmapCacheOption.OnLoad; // here image.StreamSource = ms; image.EndInit(); return image; } } public MapForm(double latitude, double longitude, DateTime timestamp) { InitializeComponent(); GoogleSigned.AssignAllServices(new GoogleSigned(GOOGLE_KEY)); request = new StaticMapRequest(); String sLoc = String.Format("{0},{1}", latitude, longitude); Location location = new Location(sLoc); request.Center = location; request.Markers.Add(location); request.Scale = 2; request.Size = new MapSize(640, 640); // Convert.ToInt32(ActualWidth)-20, Convert.ToInt32(ActualHeight)-20); request.Zoom = 15; service = new StaticMapService(); var imageSource = new BitmapImage(); imageSource.BeginInit(); imageSource.StreamSource = service.GetStream(request); imageSource.CacheOption = BitmapCacheOption.OnLoad; imageSource.EndInit(); staticmap.Source = imageSource; TimeStamp.Content = String.Format("Last Updated {0:dd MMM yyy hh:mm:ss tt}", timestamp); } private void staticmap_MouseUp(object sender, MouseButtonEventArgs e) { Close(); } } }