コード例 #1
0
ファイル: PoiSourceHdd.cs プロジェクト: misiek/foo
 public void putPois(List<Poi> pois, NamedArea namedArea)
 {
     foreach (Poi p in pois)
     {
         put(p, namedArea);
     }
 }
コード例 #2
0
ファイル: PoiSourceWeb.cs プロジェクト: misiek/foo
        // TODO: should get list of areas from server
        public Hashtable findAreas()
        {
            Hashtable areas = new Hashtable();
            areas["Kraków"] = new NamedArea("Krakow", 50.1046, 19.8669, 50.0233, 20.0029);

            return areas;
        }
コード例 #3
0
ファイル: PoiRepository.cs プロジェクト: misiek/foo
 public void downloadAreaPois(NamedArea namedArea)
 {
     // download pois from the web server
     List<Poi> pois = this.poiSourceWeb.findPois(namedArea);
     this.poiSourceHdd.removePois(namedArea);
     this.poiSourceMem.clear();
     // save downloaded pois
     foreach (Poi p in pois)
     {
         this.poiSourceWeb.downloadPoiMedia(p);
         this.poiSourceHdd.put(p, namedArea);
         p.free();
     }
 }
コード例 #4
0
ファイル: PoiSourceHdd.cs プロジェクト: misiek/foo
 public void removePois(NamedArea namedArea)
 {
     if (currentNamedArea.getName().Equals(namedArea.getName()))
         this.pois = new List<Poi>();
     string poisAreaDir = this.poisDir + "\\" + currentNamedArea.getName();
     // get poi dirs
     DirectoryInfo[] dirs;
     try
     {
         DirectoryInfo dirInfo = new DirectoryInfo(poisAreaDir);
         dirInfo.Delete(true);
     }
     catch (Exception e)
     {
         Debug.WriteLine("removePois: can't delete dir: " + poisAreaDir, ToString());
         return;
     }
 }
コード例 #5
0
ファイル: PoiRepository.cs プロジェクト: misiek/foo
 public void setCurrentArea(NamedArea namedArea)
 {
     this.currentNamedArea = namedArea;
     this.poiSourceHdd.setCurrentArea(namedArea);
 }
コード例 #6
0
ファイル: PoiBrowser.cs プロジェクト: misiek/foo
 private void updatePoisList()
 {
     //if (this.allPois == null)
     //{
         // TODO user should be able to choose area, but now it is only for krakow
         Hashtable areas = this.poiRepository.getAreas();
         this.currentNamedArea = (NamedArea)areas["Kraków"];
         this.poiRepository.setCurrentArea(this.currentNamedArea);
         // get all pois list
         this.allPois = this.poiRepository.allPois();
         this.listBoxPois.Items.Clear();
         foreach (Poi p in this.allPois)
         {
             this.listBoxPois.Items.Add(p);
         }
     //}
 }
コード例 #7
0
ファイル: MapManager.cs プロジェクト: misiek/foo
 // TODO: should find area by current gps location,
 // but not there is only one area: Kraków
 private void findCurrentArea()
 {
     if (this.currentNamedArea == null)
     {
         Hashtable areas = this.poiRepository.getAreas();
         this.currentNamedArea = (NamedArea)areas["Kraków"];
         this.poiRepository.setCurrentArea(this.currentNamedArea);
     }
 }
コード例 #8
0
ファイル: PoiSourceHdd.cs プロジェクト: misiek/foo
 public void setCurrentArea(NamedArea namedArea)
 {
     this.currentNamedArea = namedArea;
     readPoisDir();
 }
コード例 #9
0
ファイル: PoiSourceHdd.cs プロジェクト: misiek/foo
 /**
  * Returns poi sub dir by dir name and named area
  */
 private string getPoiSubDir(string dirName, NamedArea namedArea)
 {
     return namedArea.getName() + "\\" + dirName;
 }
コード例 #10
0
ファイル: PoiSourceHdd.cs プロジェクト: misiek/foo
 /**
  * Returns poi sub dir by poi and named area
  */
 private string getPoiSubDir(Poi p, NamedArea namedArea)
 {
     string dirName = p.getName() + "_" + p.getLatitude() + "_" + p.getLongitude();
     return getPoiSubDir(dirName, namedArea);
 }
コード例 #11
0
ファイル: PoiSourceHdd.cs プロジェクト: misiek/foo
 internal void put(Poi p, NamedArea namedArea)
 {
     if (this.pois == null)
     {
         this.pois = new List<Poi>();
     }
     if (!p.isDataFree())
     {
         this.poiMapperHdd.save(p, getPoiSubDir(p, namedArea));
         p.free();
         //if (!this.pois.Contains(p))
         //{
             this.pois.Add(p);
         //}
     }
 }