/// <summary>Добавляет визуальный элемент на карту</summary> /// <param name="v">Визуальный элемент</param> protected void AddVisual(MapVisual v) { int index; for (index = 0; index < _visuals.Count; index++) if (((MapVisual)_visuals[index]).ZIndex > v.ZIndex) break; _visuals.Insert(index, v); }
private void AddTile(MapTileElement Tile) { _tiles.Add(Tile); MapVisual visual = Tile.GetVisual(ZoomLevel); visual.Transform = _globalTransform; AddVisual(visual); _tilesToVisuals.Add(Tile, visual); Tile.ChangeVisualRequested += TileChangeRequested; }
/// <summary>Добавляет визуальный элемент на карту</summary> /// <param name="v">Визуальный элемент</param> protected void AddVisual(MapVisual v) { int index; for (index = _visuals.Count; index > 0; index--) { if (((MapVisual)_visuals[index - 1]).ZIndex <= v.ZIndex) { break; } } _visuals.Insert(index, v); }
private void TileChangeRequested(object Sender, EventArgs E) { Dispatcher.BeginInvoke((Action <MapTileElement>) (tile => { MapVisual oldVisual; if (_tilesToVisuals.TryGetValue(tile, out oldVisual)) { DeleteVisual(oldVisual); _tilesToVisuals.Remove(tile); MapVisual newVisual = tile.GetVisual(ZoomLevel); newVisual.Transform = _globalTransform; AddVisual(newVisual); _tilesToVisuals.Add(tile, newVisual); } }), Sender); //var tile = (MapTileElement)Sender; }
private MapElement safeGetElement(MapVisual Visual) { return(Visual != null ? Visual.Element : null); }
/// <summary>Удаляет визуальный элемент с карты</summary> /// <param name="v"></param> protected void DeleteVisual(MapVisual v) { _visuals.Remove(v); }
private MapElement safeGetElement(MapVisual Visual) { return Visual != null ? Visual.Element : null; }