void image1_Tap(object sender, System.Windows.Input.GestureEventArgs e) { if (Mymap.Layers.Contains(mypositionPoi)) { Mymap.Layers.Remove(mypositionPoi); mypositionPoi.Clear(); } if (Mymap.Layers.Contains(detailPois)) { Mymap.Layers.Remove(detailPois); detailPois.Clear(); } var img = (Image)sender; var poi = img.DataContext as RouteDetailsPois; var over = new MapOverlay(); if (poi != null) { var control = new RouteDetailsPoisControl { txt_direction = { Text = poi.instractions }, txt_distance = { Text = "Distance: " + poi.distance.ToString(CultureInfo.InvariantCulture) + " Km" } }; control.grd_content.Tap += grd_content_Tap; over.Content = control; } if (poi != null) { over.GeoCoordinate = poi.coordinate; over.PositionOrigin = new Point(0.5, 1.0); detailPois.Add(over); Mymap.Layers.Add(detailPois); Mymap.SetView(poi.coordinate, 19, MapAnimationKind.Parabolic); } }