2015-12-20 12 views
5

Desidero aggiungere simboli al mio MapControl che è possibile toccare. Dal momento che la classe pushpin di Windows 8.1 non è più disponibile e UWP ci offre qualcosa chiamato ImageIcon (imo il suo tipo crappy). Ecco il mio codice:Come creare l'evento MapIcon in UWP?

BasicGeoposition bg = new BasicGeoposition() { Latitude = 52.280, Longitude = 20.972 }; 
Geopoint snPoint = new Geopoint(bg); 
MapIcon mapIcon1 = new MapIcon(); 
mapIcon1.Location = snPoint; 
mapIcon1.NormalizedAnchorPoint = new Point(0.5, 1.0); 
MyMap.MapElements.Add(mapIcon1); 

Come posso rendere la gestione degli eventi (come toccare o fare clic)?

Grazie in anticipo

risposta

8

In UWP si può mettere molto di più elementi nella mappa e cliccare evento viene gestito po 'diverso - dare un'occhiata a MapControl.MapElementClick. Gli eventi sono gestiti da MapControl - quindi non è necessario iscriversi in ogni elemento della mappa - l'evento menzionato restituirà l'elenco degli elementi selezionati. Il codice di esempio può apparire come questo:

<map:MapControl Name="MyMap" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" MapElementClick="MyMap_MapElementClick"/> 
private void MyMap_MapElementClick(Windows.UI.Xaml.Controls.Maps.MapControl sender, Windows.UI.Xaml.Controls.Maps.MapElementClickEventArgs args) 
{ 
    MapIcon myClickedIcon = args.MapElements.FirstOrDefault(x => x is MapIcon) as MapIcon; 
    // do rest 
} 
+0

Grazie per questo :) –