예제 #1
0
        /// <summary>
        /// Adds a layer displaying osm data from a given data source using the given style.
        /// </summary>
        /// <param name="dataSource"></param>
        /// <param name="styleInterpreter"></param>
        /// <returns></returns>
        public LayerOsm AddLayerOsm(IDataSourceReadOnly dataSource, StyleInterpreter styleInterpreter)
        {
            LayerOsm layerOsm = new LayerOsm(dataSource, styleInterpreter, this.Projection);

            this.AddLayer(layerOsm);
            return(layerOsm);
        }
예제 #2
0
        private void button_Click(object sender, RoutedEventArgs e)
        {
            //initialize map.
            var map = new OsmSharp.UI.Map.Map(new WebMercator());

            // create the MapCSS image source.
            var imageSource = new MapCSSDictionaryImageSource();
            // initialize mapcss interpreter.
            var mapCssInterpreter = new MapCSSInterpreter(File.OpenRead("data\\opencyclemap.mapcss"), imageSource);
            var source            = new XmlOsmStreamSource(File.OpenRead("data\\test.osm"));


            var testLayer = new LayerOsm(MemoryDataSource.CreateFrom(source), mapCssInterpreter, new WebMercator());

            // map.AddLayer(testLayer);


            map.AddLayerTile(@"http://b.tile.openstreetmap.org/{z}/{x}/{y}.png");

            // map.BackColor = SimpleColor.FromKnownColor(OsmSharp.UI.KnownColor.Black).Value;

            MapControl.SuspendNotifyMapViewChanged();

            //  set control properties.
            MapControl.MapZoom   = 14;
            MapControl.Map       = map;
            MapControl.MapCenter = testLayer.Envelope.Center;
            // MapControl.MapCenter = new GeoCoordinate(51.2667, 4.7914); // wechel

            var l = new MapLayerWrapper(new WebMercator());

            //l.AddPoint(testLayer.Envelope.Center, 20, SimpleColor.FromKnownColor(OsmSharp.UI.KnownColor.Black).Value);

            MapControl.AddLayer(l, 100);


            MapControl.ResumeNotifyMapViewChanged();
        }