/// <summary> /// Adds a layer created from the specified KML stream. /// </summary> /// <param name="kml">The source KML stream.</param> /// <param name="name">The new layer name (must be a valid alphanumeric name).</param> /// <param name="addingItemProc">The callback to invoke for each KML item as it is being loaded.</param> public void UpdateKmlLayer(string layerKey, Stream kml, AddingKmlItemDelegate addingItemProc) { KmlMapsLayer kl = _layers.Find((l) => l.MapLayer.Key == layerKey) as KmlMapsLayer; System.Diagnostics.Debug.Assert(kl != null); kl.Update(kml, addingItemProc); }
private void ResetLayers() { _layers.Clear(); _c1maps.Layers.Clear(); foreach (LayerBase l in _owner.Layers.FindAllReverse((ll) => ll.Visible)) { MapsLayerBase layer; if (l is PointsLayer) { layer = new PointsMapsLayer(l); } else if (l is LinesLayer) { layer = new LinesMapsLayer(l); } else if (l is KmlLayer) { layer = new KmlMapsLayer(l); } else { System.Diagnostics.Debug.Assert(false, "unknown map layer type"); layer = null; } _layers.Add(layer); _c1maps.Layers.Add(layer.Layer); } }