public HotZoneUserControl(string baseUri, HotZoneNode node, ICommunicator communicator)
        {
            InitializeComponent();
            Loaded += new RoutedEventHandler(HotZoneUserControl_Loaded);

            _hotZone = node;
            _baseUri = baseUri;
            _communicator = communicator;

            if (_hotZoneIcon == null)
            {
                string uri = String.Concat(_baseUri, "Content/", "images/", "hotzone.png");
                _hotZoneIcon = new BitmapImage(new Uri(uri));
            }

            if (_clearedHotZoneIcon == null)
            {
                string uri = String.Concat(_baseUri, "Content/", "images/", "information.png");
                _clearedHotZoneIcon = new BitmapImage(new Uri(uri));
            }
        }
        private void AddHotZoneUserControlIfNecessary(HotZoneNode hotZoneNode)
        {
            if (_hotZoneUserControls.ContainsKey(hotZoneNode.Id) == false)
            {
                HotZoneUserControl userControl = new HotZoneUserControl(_baseUri, hotZoneNode, this);
                _hotZoneUserControls.Add(hotZoneNode.Id, userControl);

                userControl.SetValue(MapLayer.PositionProperty,
                    new Location(Convert.ToDouble(hotZoneNode.Latitude),
                                 Convert.ToDouble(hotZoneNode.Longitude)));

                userControl.SetValue(Canvas.ZIndexProperty, 5);
            }
        }
 void MapPresenter.IView.HideHotZone(HotZoneNode hotZoneNode)
 {
     AddHotZoneUserControlIfNecessary(hotZoneNode);
     if (_hotZoneUserControls.ContainsKey(hotZoneNode.Id))
     {
         HotZoneUserControl control = _hotZoneUserControls[hotZoneNode.Id];
         if (mapUndeadEarth.Children.Contains(control) == true)
         {
             mapUndeadEarth.Children.Remove(control);
         }
     }
 }