示例#1
0
        // Create pair from point of place and point of label.
        private KeyValuePair <C1.Win.Map.VectorPlacemark, C1.Win.Map.VectorPlacemark> CreateTarget(City sourceCity)
        {
            // Create target point.
            var place = new C1.Win.Map.VectorPlacemark
            {
                Tag      = sourceCity.Title,
                Geometry = new GeoPoint(sourceCity.longitude, sourceCity.latitude),
                Marker   = { Shape = MarkerShape.Custom }
            };

            var shape = new MarkerImageShape();

            shape.Image              = (Image)_resources.GetObject("Target");
            place.Marker.Size        = new SizeF(20, 20);
            place.Marker.CustomShape = shape;

            // Create target point.
            var label = new C1.Win.Map.VectorPlacemark
            {
                Geometry = new GeoPoint(sourceCity.longitude - 0.1F, sourceCity.latitude + 0.16F),
            };

            label.Marker.Caption       = sourceCity.Title;
            label.Marker.LabelAngle    = -90F;
            label.LabelStyle.ForeColor = Color.Yellow;

            return(new KeyValuePair <C1.Win.Map.VectorPlacemark, C1.Win.Map.VectorPlacemark>(place, label));
        }
示例#2
0
        public LocalStoreSource(DataBase localDataBase)
        {
            _dataBase = localDataBase;

            var marker = new Marker {
                Size = new SizeF(60, 60), Shape = MarkerShape.Custom
            };
            var shape = new MarkerImageShape {
                Image = Image.FromFile("Resources\\store.png")
            };

            marker.CustomShape = shape;
            _marker            = marker;
        }
示例#3
0
        protected override void InitMap()
        {
            base.InitMap();
            c1Map1.Viewport.Zoom = 1;
            using (var stream = MapReader.OpenFile("Resources\\database.xml"))
            {
                var serializer = new XmlSerializer(typeof(DataBase));
                _factories = (DataBase)serializer.Deserialize(stream);
            }

            var layerFactory = new VectorLayer();
            var factoryShape = new MarkerImageShape {
                Image = Image.FromFile("Resources\\factory.png")
            };
            var factoryMarker = new Marker
            {
                Size        = new SizeF(60, 60),
                Shape       = MarkerShape.Custom,
                CustomShape = factoryShape
            };

            foreach (var factory in _factories.Factories)
            {
                var item = new C1.Win.Map.VectorPlacemark
                {
                    Geometry = new GeoPoint(factory.Longitude, factory.Latitude),
                    Marker   = factoryMarker,
                    Tag      = factory.Name
                };
                layerFactory.Items.Add(item);
            }
            c1Map1.Layers.Add(layerFactory);

            var layerOffice = new VectorLayer();

            foreach (var office in _factories.Offices)
            {
                var item = new C1.Win.Map.VectorPlacemark
                {
                    Geometry = new GeoPoint(office.Longitude, office.Latitude),
                    Tag      = office.Name
                };
                var officeMarker = new Marker
                {
                    Size        = new SizeF(60, 60),
                    Shape       = MarkerShape.Custom,
                    CustomShape = new OfficeShape(office)
                };
                item.Marker = officeMarker;

                item.Style.Font = new Font("Arial", 9f);

                layerOffice.Items.Add(item);
            }
            c1Map1.Layers.Add(layerOffice);

            var layerStore = new VirtualLayer();

            layerStore.Slices.Add(new MapSlice(0, 1, 1));
            var storeSlices = (int)Math.Pow(2, LocalStoreSource.MinStoreZoom);

            layerStore.Slices.Add(new MapSlice(LocalStoreSource.MinStoreZoom, storeSlices, storeSlices));
            layerStore.ItemsSource = new LocalStoreSource(_factories);
            c1Map1.Layers.Add(layerStore);
        }