private void GenerateHotSpots() { m_fires.CollectionChanged += OnFiresCollectionChanged; all_Tags.Add("All"); //string json = System.IO.File.ReadAllText("C:/Users/Nikolay/Downloads/Eventbrite.json"); string json = System.IO.File.ReadAllText("C:/Users/Nikolay/Downloads/events.json"); JArray a = JArray.Parse(json); dynamic dynObj = JsonConvert.DeserializeObject(json); foreach (var item in dynObj) { EventMapObject newEvent = new EventMapObject(); newEvent.Name = item.name; newEvent.Description = item.description; newEvent.Longitude = item.location.longitude; newEvent.Latitude = item.location.latitude; newEvent.StartTime = Convert.ToDateTime(item.start); newEvent.Date = Convert.ToDateTime(item.end); newEvent.Population = item.expected; newEvent.Logo = item.logo; newEvent.Tags = item.type.ToObject <List <string> >(); if (newEvent.Tags.Count == 0) { newEvent.Tags.Insert(0, "None"); } for (int i = 0; i < newEvent.Tags.Count; i++) { all_Tags.Add(newEvent.Tags[i]); } all_Fires.Add((newEvent)); } }
/// <summary> /// Simple thread to generate a @event every 5 second on a random location in montreal. /// </summary> private void OnThreadStart() { return; Random random = new Random(); while (true) { if (m_isMapGeoreferenced && m_mapId != Guid.Empty) { var lat = Convert.ToDouble("45." + random.Next(405052, 682052)); var lon = Convert.ToDouble("-73." + random.Next(486714, 981099)); var fire = new EventMapObject(lat, lon) { Description = "Fire!", Date = DateTime.Now }; Dispatcher.BeginInvoke(new Action(() => { m_fires.Add(fire); })); } Thread.Sleep(5000); } }
public static void RemoveFire(EventMapObject @event) { m_fires.Remove(@event); }