コード例 #1
0
ファイル: BackgroundLayer.cs プロジェクト: configare/hispeed
 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();
 }
コード例 #2
0
 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);
     }
 }