예제 #1
0
        public MapTileWriter(int startX, int startY, int endX, int endY, int level, int type, MapTileDownloadManager manager)
        {
            _startIndexX = startX;
            _startIndexY = startY;
            _endIndexX = endX;
            _endIndexY = endY;
            _zoomLevel = level;
            _mapType = type;
            _mapTileDownloadManager = manager;
            try
            {
                FileStream notAvaiable = new FileStream("tile-na.png", FileMode.Open);
                _notavaiablePng = new byte[notAvaiable.Length];
                notAvaiable.Read(_notavaiablePng, 0, _notavaiablePng.Length);
                notAvaiable.Close();

            }
            catch (Exception)
            {

            }
        }
예제 #2
0
        public MainWindow()
        {
            InitializeComponent();
            MapLayer.SetAbstractGraphicsFactory(NETGraphicsFactory.getInstance());
            _mapImage = MapLayer.GetAbstractGraphicsFactory().CreateImage(768, 768);
            _mapGraphics = _mapImage.GetGraphics();
            //InitVectorMap();
            _mapTileDownloadManager = new MapTileDownloadManager(this);
            _mapTileDownloadManager.Start();
            _rasterMap = new RasterMap(768, 768, _mapType, _mapTileDownloadManager);
            _rasterMap.SetMapDrawingListener(this);
            _rasterMap.SetGeocodingListener(this);
            _rasterMap.SetRoutingListener(this);

            // Get the configuration file.
            System.Configuration.Configuration config =
              ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

            // Get the AppSetins section.
            AppSettingsSection appSettingSection =
                (AppSettingsSection)config.GetSection("appSettings");
            MapType.MAP_TYPE_URLS.Clear();

            foreach (var obj in appSettingSection.Settings.AllKeys)
            {
                var value = appSettingSection.Settings[obj];

                object type=MapType.MAP_TYPE_NAMES[obj];
                if(type!=null)
                {
                    string url = value.Value.Replace('#', '&');
                    MapType.MAP_TYPE_URLS.Add(type, url);
                    cboMapType.Items.Add(obj);
                }

            }
            cboMapType.Text = "MICROSOFTMAP";
        }
예제 #3
0
        private void btnServer_Click(object sender, EventArgs e)
        {
            _mapTileDownloadManager.Stop();
            _mapTileDownloadManager = new MapTileDownloadManager(this);
            _mapTileDownloadManager.Start();
            GeoLatLng center = _rasterMap.GetScreenCenter();
            int zoom = _rasterMap.GetZoom();

            _rasterMap = new RasterMap(768, 768, _mapType, _mapTileDownloadManager);
            _rasterMap.SetCenter(center, zoom);
            _rasterMap.SetMapDrawingListener(this);
            _rasterMap.SetGeocodingListener(this);
        }
예제 #4
0
        private void btnLoad_Click(object sender, EventArgs e)
        {
            var openFileDialog1 = new OpenFileDialog
                                                 {
                                                     InitialDirectory = "c:\\",
                                                     Filter = "map files (*.map)|*.map|All files (*.*)|*.*",
                                                     FilterIndex = 2,
                                                     RestoreDirectory = true
                                                 };

            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    _mapTileDownloadManager.Stop();
                    GC.Collect();
                    string fileName = openFileDialog1.FileName;
                    var localMapTileFileReader = new MapTileStoredDataSource(fileName);

                    _mapTileDownloadManager = new MapTileDownloadManager(this, localMapTileFileReader);
                    _mapTileDownloadManager.Start();
                    GeoLatLng center = _rasterMap.GetScreenCenter();
                    int zoom = _rasterMap.GetZoom();

                    _rasterMap = new RasterMap(768, 768, _mapType, _mapTileDownloadManager);
                    _rasterMap.SetCenter(center, zoom);
                    _rasterMap.SetMapDrawingListener(this);
                    _rasterMap.SetGeocodingListener(this);

                }
                catch (Exception ex)
                {
                    MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
                }
            }
        }
예제 #5
0
        public void InitVectorMap()
        {
            MapTileVectorDataSource localMapTileFileReader = new MapTileVectorDataSource(@"c:\nanjing\Nanjing.pst");
            GeoSet getSet = localMapTileFileReader.GetGeoSet();
            //getSet.GetMapMapFeatureLayer("POI.lyr").FontColor = 0x0000FF;
            //getSet.GetMapMapFeatureLayer("POI.lyr").FontName = "楷体";
            //getSet.GetMapMapFeatureLayer("LandMark.lyr").FontColor = 0;
            //getSet.GetMapMapFeatureLayer("LandMark.lyr").FontName = "Arial";
            //getSet.GetMapMapFeatureLayer("Adm_LandMark.lyr").FontColor = 0;
            //getSet.GetMapMapFeatureLayer("Adm_LandMark.lyr").FontName = "Arial";
            //getSet.GetMapMapFeatureLayer("Road.lyr").FontColor = 16711680;
            //getSet.GetMapMapFeatureLayer("Road.lyr").FontName = "楷体";
            //getSet.GetMapMapFeatureLayer("RailWay.lyr").FontColor = 0;
            //getSet.GetMapMapFeatureLayer("RailWay.lyr").FontName = "Arial";
            //getSet.GetMapMapFeatureLayer("Landuse.lyr").FontColor = 0;
            //getSet.GetMapMapFeatureLayer("Landuse.lyr").FontName = "Arial";
            //getSet.GetMapMapFeatureLayer("Block.lyr").FontColor = 0;
            //getSet.GetMapMapFeatureLayer("Landuse.lyr").FontName = "Arial";
            //getSet.GetMapMapFeatureLayer("Adm_Area.lyr").FontColor = 16711680;
            //getSet.GetMapMapFeatureLayer("Adm_Area.lyr").FontName = "宋体";
            //getSet.GetMapMapFeatureLayer("1.lyr").FontColor = 0x0000FF;
            //getSet.GetMapMapFeatureLayer("1.lyr").FontName = "楷体";
            //getSet.GetMapMapFeatureLayer("2.lyr").FontColor = 0;
            //getSet.GetMapMapFeatureLayer("2.lyr").FontName = "Arial";
            //getSet.GetMapMapFeatureLayer("3.lyr").FontColor = 0;
            //getSet.GetMapMapFeatureLayer("3.lyr").FontName = "Arial";
            //getSet.GetMapMapFeatureLayer("4.lyr").FontColor = 16711680;
            //getSet.GetMapMapFeatureLayer("4.lyr").FontName = "楷体";
            //getSet.GetMapMapFeatureLayer("5.lyr").FontColor = 0;
            //getSet.GetMapMapFeatureLayer("5.lyr").FontName = "Arial";

               // VectorMapRenderer vectorMapRenderer = new VectorMapRenderer(getSet);
            _mapTileDownloadManager = new MapTileDownloadManager(this, localMapTileFileReader);

               // getSet.Open();
        }
예제 #6
0
 ////////////////////////////////////////////////////////////////////////////
 //--------------------------------- REVISIONS ------------------------------
 // Date       Name                 Tracking #         Description
 // ---------  -------------------  -------------      ----------------------
 // 21JUN2009  James Shen                 	          Initial Creation
 ////////////////////////////////////////////////////////////////////////////
 /**
  * default constructor.
  * @param Width the Width of the map.
  * @param Height the Height of the map.
  * @param mapTileDownloadManager map download manager.
  * @param geoSet geoset instance.
  * @throws InvalidLicenceException
  */
 public VectorMap(int width, int height,
         MapTileDownloadManager mapTileDownloadManager, GeoSet geoSet)
     : base(width, height, mapTileDownloadManager)
 {
     _geoSet = geoSet;
 }
 //--------------------------------- REVISIONS --------------------------
 // Date       Name                 Tracking #         Description
 // ---------  -------------------  -------------      ------------------
 // 19JUN2009  James Shen                 	          Initial Creation
 ////////////////////////////////////////////////////////////////////////
 /**
  * Constructor.
  * @param manager the downloade manager instance.
  * @param threadName the thread name.
  */
 internal MapTileDownloadWorker(MapTileDownloadManager manager,
         MapTileAbstractReader mapTileReader, string threadName)
 {
     _mapTileDownloadManager = manager;
     _threadName = threadName;
     _mapTileDownloadWorkerThread = new Thread(Run);
     _mapTileDownloadWorkerThread.Name = threadName;
     _mapTileReader = mapTileReader;
     _mapTileReader.SetMapDownloadingListener(manager._mapDownloadingListener);
 }
 //--------------------------------- REVISIONS --------------------------
 // Date       Name                 Tracking #         Description
 // ---------  -------------------  -------------      ------------------
 // 19JUN2009  James Shen                 	          Initial Creation
 ////////////////////////////////////////////////////////////////////////
 /**
  * Constructor.
  * @param manager the downloade manager instance.
  * @param threadName the thread name.
  */
 internal MapDirectionRendererWorker(MapTileDownloadManager manager)
     : base(manager, manager._mapDirectionRenderer, "MapDirectionRenderer")
 {
 }