In this step, you will add code to the MainPage.xaml.cs file.
C# |
Copy Code
|
---|---|
C1VectorLayer vl; Random rnd = new Random(); C1VectorPlacemark current = null; Point offset = new Point(); |
C# |
Copy Code
|
---|---|
maps.Source = new VirtualEarthHybridSource(); vl = new C1VectorLayer(); maps.Layers.Add(vl); maps.RightTapped += maps_RightTapped; for (int i = 0; i < 10; i++) { // create random coordinates Point pt = new Point(-80 + rnd.Next(160), -80 + rnd.Next(160)); AddMark(pt); } |
C# |
Copy Code
|
---|---|
void maps_RightTapped(object sender, RightTappedRoutedEventArgs e) { AddMark(maps.ScreenToGeographic(e.GetPosition(maps))); } void AddMark(Point pt) { Color clr = Utils.GetRandomColor(128, 192); C1VectorPlacemark mark = new C1VectorPlacemark() { GeoPoint = pt, Label = new TextBlock() { RenderTransform = new TranslateTransform() { Y = -5 }, IsHitTestVisible = false, Text = (vl.Children.Count + 1).ToString() }, LabelPosition = LabelPosition.Top, Geometry = Utils.CreateBaloon(), Stroke = new SolidColorBrush(Colors.DarkGray), Fill = new SolidColorBrush(clr), }; mark.PointerPressed += mark_PointerPressed; maps.PointerMoved += mark_PointerMoved; mark.PointerReleased += mark_PointerReleased; vl.Children.Add(mark); mark.DoubleTapped += mark_DoubleTapped; } |
C# |
Copy Code
|
---|---|
void mark_PointerMoved(object sender, PointerRoutedEventArgs e) { if (current == null) { return; } var cur = e.GetCurrentPoint(maps).Position; cur = new Point(cur.X - offset.X, cur.Y - offset.Y); current.GeoPoint = maps.ScreenToGeographic(cur); e.Handled = true; } void mark_PointerPressed(object sender, PointerRoutedEventArgs e) { offset = e.GetCurrentPoint(sender as C1VectorPlacemark).Position; current = sender as C1VectorPlacemark; e.Handled = true; } void mark_PointerReleased(object sender, PointerRoutedEventArgs e) { current = null; e.Handled = true; } void mark_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e) { e.Handled = true; vl.Children.Remove((C1VectorPlacemark)sender); } |
In this step, you added code to handle the Tapped and other events. You also changed the map source and created random coordinates for the initial map markers.