private void TryLoadFeatures(ICanvas canvas) { if (_features != null) { return; } _features = new List <Feature>(); if (IsGeoCoord(canvas)) { if (GlobalCacher.VectorDataGlobalCacher != null && GlobalCacher.VectorDataGlobalCacher.IsEnabled) { ICachedFeatures cache = GlobalCacher.VectorDataGlobalCacher.GetFeatures("海陆模版"); if (cache == null) { LoadFeatures(_shpFileName); cache = new CachedFeatures("海陆模版", _features.ToArray()); GlobalCacher.VectorDataGlobalCacher.PutFeatures(cache); } else { _features.AddRange(cache.Features); } } else { LoadFeatures(_shpFileName); } } else { LoadFeatures(_shpFileName); } TryLoadInterestRegions(); }
public void PutFeatures(ICachedFeatures features) { if (features == null || string.IsNullOrEmpty(features.Identify)) { return; } if (_cachedFeatures.ContainsKey(features.Identify)) { _cachedFeatures[features.Identify] = features; } else { _cachedFeatures.Add(features.Identify, features); } }