Example #1
0
        public void AddPlacename(string name, float lat, float lon, Hashtable metaData)
        {
            WorldWindPlacenameFile p = null;

            foreach (WorldWindPlacenameFile tempFile in m_placenameFiles)
            {
                if (lat < tempFile.north && lat >= tempFile.south && lon >= tempFile.west && lon < tempFile.east)
                {
                    p = tempFile;
                    break;
                }
            }

            if (p == null)
            {
                return;
            }

            if (p.m_placeNames.Count == 50000)
            {
                //split
                WorldWindPlacenameFile[] splitFiles = p.SplitPlacenameFiles();
                m_placenameFiles.Remove(p);
                foreach (WorldWindPlacenameFile newFile in splitFiles)
                {
                    m_placenameFiles.Add(newFile);
                }
                this.AddPlacename(name, lat, lon, metaData);
            }
            else
            {
                p.AddPlacename(name, lat, lon, metaData);
            }
        }