private void RemoveVectorLayer(object sender, EventArgs args) { VectorLayerUpdateArgs layerUpdateArgs = args as VectorLayerUpdateArgs; layerUpdateArgs.visualizer = _vectorTileFactory.FindVectorLayerVisualizer((VectorSubLayerProperties)layerUpdateArgs.property); layerUpdateArgs.factory = _vectorTileFactory; SubLayerRemoved(this, layerUpdateArgs); }
private void OnVectorDataSubLayerRemoved(object sender, EventArgs eventArgs) { VectorLayerUpdateArgs layerUpdateArgs = eventArgs as VectorLayerUpdateArgs; if (layerUpdateArgs.visualizer != null) { _mapVisualizer.RemoveTilesFromLayer((VectorTileFactory)layerUpdateArgs.factory, layerUpdateArgs.visualizer); } OnMapRedrawn(); }
private void OnVectorDataUpdateLayer(object sender, System.EventArgs eventArgs) { VectorLayerUpdateArgs layerUpdateArgs = eventArgs as VectorLayerUpdateArgs; if (layerUpdateArgs.visualizer != null) { //we got a visualizer. Update only the visualizer. // No need to unload the entire factory to apply changes. _mapVisualizer.UnregisterAndRedrawTilesFromLayer((VectorTileFactory)layerUpdateArgs.factory, layerUpdateArgs.visualizer); } else { //We are updating a core property of vector section. //All vector features need to get unloaded and re-created. RedrawVectorDataLayer(); } OnMapRedrawn(); }
//Private Methods private void AddVectorLayer(object sender, EventArgs args) { VectorLayerUpdateArgs layerUpdateArgs = args as VectorLayerUpdateArgs; if (layerUpdateArgs.property is PrefabItemOptions) { layerUpdateArgs.visualizer = _vectorTileFactory.AddPOIVectorLayerVisualizer((PrefabItemOptions)layerUpdateArgs.property); } else if (layerUpdateArgs.property is VectorSubLayerProperties) { layerUpdateArgs.visualizer = _vectorTileFactory.AddVectorLayerVisualizer((VectorSubLayerProperties)layerUpdateArgs.property); } layerUpdateArgs.factory = _vectorTileFactory; SubLayerAdded(this, layerUpdateArgs); }