2016-04-18 8 views
0

Zunächst einmal bin ich sehr neu zu Windows Phone Dev, so dass ich etwas offensichtliches verpassen könnte. Ich habe eine ControlMap in meinem XAML, ich versuche, Marker an meinem aktuellen Standort hinzuzufügen. Ich habe viele Tutorials durchgelesen und finde nicht nur veraltete Methoden (tonnenweise Verwendung funktioniert nicht), um es zu tun und obwohl es auf den ersten Blick einfach erscheint, kann ich es einfach nicht funktionieren lassen.Wie Marker an der aktuellen Position auf einer Windows Phone App Karte hinzufügen

Die Karte in der XAML:

<Maps:MapControl x:Name="LocateMap" Height="221" Margin="0,0,-0.167,0"/> 

Was soll ich in dem CS- tun, um diese Markierung hinzufügen? Und wo ? Die Absicht ist, es später zu speichern und dann zu drucken, wenn die App alle alten Markierungen + die tatsächliche Standortmarkierung startet.

Antwort

1

Wenn Sie einen Pin an einer bestimmten Position (Breite, Länge) festlegen möchten, führen Sie die folgenden Schritte aus.

//setting the Map center 
    LocateMap.Center = CurrentLocation = new System.Device.Location.GeoCoordinate(lat, lon); 

    // Create a small circle to mark the current location. 
    Ellipse myCircle = new Ellipse(); 
    myCircle.Fill = App.Current.Resources["PhoneAccentBrush"] as SolidColorBrush; 
myCircle.Height = 20; 
myCircle.Width = 20; 
myCircle.Opacity = 50; 

// Create a MapOverlay to contain the circle. 
MapOverlay myLocationOverlay = new MapOverlay(); 
myLocationOverlay.Content = myCircle; 
myLocationOverlay.PositionOrigin = new Point(0.5, 0.5); 
myLocationOverlay.GeoCoordinate = new System.Device.Location.GeoCoordinate(lat, 
       lon); 
// Create a MapLayer to contain the MapOverlay. 
MapLayer myLocationLayer = new MapLayer(); 
myLocationLayer.Add(myLocationOverlay); 

//adding map layer to the map 
LocateMap.Layers.Add(myLocationLayer);