/// <summary> Adds tile data into in memory storage. </summary> private string SaveTileDataInMemory(Tile tile, string filePath) { Trace.Info(TraceCategory, "try to save: {0} from {1}", tile.ToString(), filePath); string errorMsg = null; CoreLibrary.AddToStore(MapStorageType.InMemory, _pathResolver.Resolve(tile.Stylesheet.Path), _pathResolver.Resolve(filePath), tile.QuadKey, error => errorMsg = error); return errorMsg; }
/// <summary> Creates <see cref="IObservable{T}"/> for loading element of given tile. </summary> private IObservable<Union<Element, Mesh>> CreateLoadSequence(Tile tile) { return Observable.Create<Union<Element, Mesh>>(observer => { Trace.Info(TraceCategory, "loading tile: {0}", tile.ToString()); var adapter = new MapTileAdapter(tile, observer, Trace); CoreLibrary.LoadQuadKey( _pathResolver.Resolve(tile.Stylesheet.Path), tile.QuadKey, adapter.AdaptMesh, adapter.AdaptElement, adapter.AdaptError); Trace.Info(TraceCategory, "tile loaded: {0}", tile.ToString()); observer.OnCompleted(); return Disposable.Empty; }); }