// 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)); }
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; }
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); }