private void PushpinTap(object sender, RoutedEventArgs e) { //Popup Close Animation in case popup is active by a previous pin tap pu_close_anim.Begin(); //Reset previous selected pin background icon if (prev_pin != null) prev_pin.pin_background.Source = new BitmapImage(new Uri("ms-appx:///Assets/icons/ico-venue.png", UriKind.RelativeOrAbsolute)); //Get tapped pin sender control PushpinUserControl pin = (PushpinUserControl)sender; if (prev_pin != pin) { //Set tapped pin's background icon to selected pin.pin_background.Source = new BitmapImage(new Uri("ms-appx:///Assets/icons/ico-venue-selected.png", UriKind.RelativeOrAbsolute)); pin.Width = 200; //Get pin's id string id = null; if (pin.Tag != null) { id = pin.Tag.ToString(); } //Show Venue Details ShowVenueDetails(id); prev_pin = pin; } else { //Popup Close Animation pu_close_anim.Begin(); prev_pin = null; } }
private void MapControl_MapTapped(MapControl sender, MapInputEventArgs args) { //Close Venue Details popup if it oppened when clicking on map if (prev_pin != null) prev_pin.pin_background.Source = new BitmapImage( new Uri("ms-appx:///Assets/icons/ico-venue.png", UriKind.RelativeOrAbsolute)); //Popup Close Animation pu_close_anim.Begin(); prev_pin = null; }
private void AddPushpin(double lat, double lon, string icon, string id) { //Create a custom pin using a custom User Control PushpinUserControl pin = new PushpinUserControl(); //Set icon source try { pin.pin_icon.Source = new BitmapImage(new Uri(icon, UriKind.RelativeOrAbsolute)); } catch{} //Set tag pin.Tag = id; //Add Event Handler for Tap pin.Tapped += PushpinTap; //Add pin on Map Control map.Children.Add(pin); //Create a geopoint Geopoint geopoint = new Geopoint(new BasicGeoposition() { Latitude = lat, Longitude = lon }); //Set pin's Location in Map MapControl.SetLocation(pin, geopoint); //Set Normalized Anchor Point MapControl.SetNormalizedAnchorPoint(pin, new Point(0.5, 1)); }