⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 placename.cs

📁 功能:基于windows mobile 的地图查看器。使用vs2005开发
💻 CS
📖 第 1 页 / 共 2 页
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Drawing;

using System.Xml.Serialization;

using Microsoft.WindowsMobile.DirectX;
using Microsoft.WindowsMobile.DirectX.Direct3D;

using PInvokeLibrary;
using WorldWindow;

namespace cfWorldWind
{
	public class Placename
	{
		List<PlaceList> alPlaceLists;

		public Placename()
		{

		}

		public int PlaceListCount
		{
			get
			{
				int count = 0;
				if (alPlaceLists != null)
				{
					count = alPlaceLists.Count;
				}
				return count;
			}
		}

		//mem
		Microsoft.WindowsMobile.DirectX.Direct3D.Font drawingFont;
		System.Drawing.Font winFont;

		public class PlaceList
		{
			public float minAlt = 0;
			public float maxAlt;
			//public Microsoft.WindowsMobile.DirectX.Direct3D.Font drawingFont;
			//public System.Drawing.Font winFont;
			public Color color;
			public List<Place> places = new List<Place>();
		}

		public class Place
		{
			public float lat;
			public float lon;
			public string name;
			public Vector3 point;

			public string Name
			{
				get{return name;}
			}
		}

		MemoryStatus.MEMORYSTATUS memStatus = new MemoryStatus.MEMORYSTATUS();
		public uint GetAvailMem()
		{
			MemoryStatus.GlobalMemoryStatus(memStatus);
			return memStatus.dwAvailPhys;
		}

		public LayerSet GetLayerSetXs()
		{
			XmlSerializer xs = new XmlSerializer(typeof(LayerSet));
			string filePath = Settings.DirectoryPlacenames + @"Placenames.xml";
			FileStream fs = new FileStream(filePath, FileMode.Open);
			LayerSet ls = (LayerSet)xs.Deserialize(fs);
			fs.Close();
			xs = null;
			return ls;
		}

#region HACK HACK HACK
		//HACK
		public LayerSet GetLayerSet()
		{
			LayerSet ls = new LayerSet();

			List<LayerSetTiledPlacenameSet> alTiledPlacenameSet = new List<LayerSetTiledPlacenameSet>();

			LayerSetTiledPlacenameSet lstps;

			//Countries
			lstps = new LayerSetTiledPlacenameSet();
			lstps.ShowAtStartup = true;
			lstps.MinimumDisplayAltitude = 100000;
			lstps.MaximumDisplayAltitude = 6000000;
			lstps.PlacenameListFilePath = @"Data\Earth\Placenames\Countries\ww.wpl";
			lstps.WinColorName = "White";
			alTiledPlacenameSet.Add(lstps);

			//GeoNet World Capitals
			lstps = new LayerSetTiledPlacenameSet();
			lstps.ShowAtStartup = true;
			lstps.MinimumDisplayAltitude = 0;
			lstps.MaximumDisplayAltitude = 3000000;
			lstps.PlacenameListFilePath = @"Data\Earth\Placenames\GEONET_p_pplc\ww.wpl";
			lstps.WinColorName = "Yellow";
			alTiledPlacenameSet.Add(lstps);

			//Trenches & Ridges
			lstps = new LayerSetTiledPlacenameSet();
			lstps.ShowAtStartup = true;
			lstps.MinimumDisplayAltitude = 100000;
			lstps.MaximumDisplayAltitude = 6000000;
			lstps.PlacenameListFilePath = @"Data\Earth\Placenames\TrenchesRidges\ww.wpl";
			lstps.WinColorName = "Cyan";
			alTiledPlacenameSet.Add(lstps);

			//Deserts & Plains
			lstps = new LayerSetTiledPlacenameSet();
			lstps.ShowAtStartup = true;
			lstps.MinimumDisplayAltitude = 100000;
			lstps.MaximumDisplayAltitude = 6000000;
			lstps.PlacenameListFilePath = @"Data\Earth\Placenames\DesertsPlains\ww.wpl";
			lstps.WinColorName = "Brown";
			alTiledPlacenameSet.Add(lstps);

			//Lakes & Rivers
			lstps = new LayerSetTiledPlacenameSet();
			lstps.ShowAtStartup = true;
			lstps.MinimumDisplayAltitude = 0;
			lstps.MaximumDisplayAltitude = 3000000;
			lstps.PlacenameListFilePath = @"Data\Earth\Placenames\LakesRivers\ww.wpl";
			lstps.WinColorName = "Cyan";
			alTiledPlacenameSet.Add(lstps);

			//Mountains & Valleys
			lstps = new LayerSetTiledPlacenameSet();
			lstps.ShowAtStartup = true;
			lstps.MinimumDisplayAltitude = 100000;
			lstps.MaximumDisplayAltitude = 6000000;
			lstps.PlacenameListFilePath = @"Data\Earth\Placenames\MountainsValleys\ww.wpl";
			lstps.WinColorName = "Brown";
			alTiledPlacenameSet.Add(lstps);

			//Oceans
			lstps = new LayerSetTiledPlacenameSet();
			lstps.ShowAtStartup = true;
			lstps.MinimumDisplayAltitude = 0;
			lstps.MaximumDisplayAltitude = 10000000;
			lstps.PlacenameListFilePath = @"Data\Earth\Placenames\Oceans\ww.wpl";
			lstps.WinColorName = "White";
			alTiledPlacenameSet.Add(lstps);

			//Continents
			lstps = new LayerSetTiledPlacenameSet();
			lstps.ShowAtStartup = true;
			lstps.MinimumDisplayAltitude = 400000;
			lstps.MaximumDisplayAltitude = 10000000;
			lstps.PlacenameListFilePath = @"Data\Earth\Placenames\Continents\ww.wpl";
			lstps.WinColorName = "White";
			alTiledPlacenameSet.Add(lstps);

			//Water Bodies
			lstps = new LayerSetTiledPlacenameSet();
			lstps.ShowAtStartup = true;
			lstps.MinimumDisplayAltitude = 100000;
			lstps.MaximumDisplayAltitude = 6000000;
			lstps.PlacenameListFilePath = @"Data\Earth\Placenames\WaterBodies\ww.wpl";
			lstps.WinColorName = "Cyan";
			alTiledPlacenameSet.Add(lstps);

			//US Cities (Population Over 500k)
			lstps = new LayerSetTiledPlacenameSet();
			lstps.ShowAtStartup = true;
			lstps.MinimumDisplayAltitude = 0;
			lstps.MaximumDisplayAltitude = 4000000;
			lstps.PlacenameListFilePath = @"Data\Earth\Placenames\uscitiesover500k\ww.wpl";
			lstps.WinColorName = "Yellow";
			alTiledPlacenameSet.Add(lstps);

			//US Cities (Population Over 100k)
			lstps = new LayerSetTiledPlacenameSet();
			lstps.ShowAtStartup = true;
			lstps.MinimumDisplayAltitude = 0;
			lstps.MaximumDisplayAltitude = 2000000;
			lstps.PlacenameListFilePath = @"Data\Earth\Placenames\uscitiesover100k\ww.wpl";
			lstps.WinColorName = "Yellow";
			alTiledPlacenameSet.Add(lstps);

			//US Cities (Population Over 50k)
			lstps = new LayerSetTiledPlacenameSet();
			lstps.ShowAtStartup = true;
			lstps.MinimumDisplayAltitude = 0;
			lstps.MaximumDisplayAltitude = 1000000;
			lstps.PlacenameListFilePath = @"Data\Earth\Placenames\uscitiesover50k\ww.wpl";
			lstps.WinColorName = "Yellow";
			alTiledPlacenameSet.Add(lstps);

			//GeoNET Administrative 1st Order
			lstps = new LayerSetTiledPlacenameSet();
			lstps.ShowAtStartup = false;
			lstps.MinimumDisplayAltitude = 0;
			lstps.MaximumDisplayAltitude = 600000;
			lstps.PlacenameListFilePath = @"Data\Earth\Placenames\GEONET_a_adm1\ww.wpl";
			lstps.WinColorName = "Yellow";
			alTiledPlacenameSet.Add(lstps);

			//GeoNET Administrative 2nd Order
			lstps = new LayerSetTiledPlacenameSet();
			lstps.ShowAtStartup = false;
			lstps.MinimumDisplayAltitude = 0;
			lstps.MaximumDisplayAltitude = 400000;
			lstps.PlacenameListFilePath = @"Data\Earth\Placenames\GEONET_a_adm2\ww.wpl";
			lstps.WinColorName = "Yellow";
			alTiledPlacenameSet.Add(lstps);

			//GeoNET Populated Place Administrative
			lstps = new LayerSetTiledPlacenameSet();
			lstps.ShowAtStartup = false;
			lstps.MinimumDisplayAltitude = 0;
			lstps.MaximumDisplayAltitude = 200000;
			lstps.PlacenameListFilePath = @"Data\Earth\Placenames\GEONET_p_ppla\ww.wpl";
			lstps.WinColorName = "Pink";
			alTiledPlacenameSet.Add(lstps);

			//US Cities (Population Over 10k)
			lstps = new LayerSetTiledPlacenameSet();
			lstps.ShowAtStartup = true;
			lstps.MinimumDisplayAltitude = 0;
			lstps.MaximumDisplayAltitude = 250000;
			lstps.PlacenameListFilePath = @"Data\Earth\Placenames\uscitiesover10k\ww.wpl";
			lstps.WinColorName = "Yellow";
			alTiledPlacenameSet.Add(lstps);

			//US Cities (Population Over 0)
			lstps = new LayerSetTiledPlacenameSet();
			lstps.ShowAtStartup = true;
			lstps.MinimumDisplayAltitude = 0;
			lstps.MaximumDisplayAltitude = 75000;
			lstps.PlacenameListFilePath = @"Data\Earth\Placenames\uscitiesover0\ww.wpl";
			lstps.WinColorName = "Yellow";
			alTiledPlacenameSet.Add(lstps);

			//US Cities (No Population)
			lstps = new LayerSetTiledPlacenameSet();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -