Reputation: 6227
I have passed a GeoCoordinate variable to the page of my map class, but when I try to draw a marker to the map I get an error stating that GeoCoordinate is a 'type' but is used as a 'variable'
It also gives me syntax error for the ;
at PositionOrigin = new Point(0.5, 0.5);
and the closing ;
.
I understand from this that my syntax must be incorrect for adding a map marker due to getting this error. My question is how do I correct this method to draw the marker? Am I drawing the marker the correct way or is there a different solution?
This is the onNaviagatedTo method of the map page where I pass the coordinates and try to add a marker:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if (NavigationContext.QueryString.ContainsKey("GeoLat") && NavigationContext.QueryString.ContainsKey("GeoLong"))
{
var latitude = Convert.ToDouble(NavigationContext.QueryString["GeoLat"]);
var longtitude = Convert.ToDouble(NavigationContext.QueryString["GeoLong"]);
var MyGeoPosition = new GeoCoordinate(latitude, longtitude);
var overlay = new MapOverlay
{
PositionOrigin = new Point(0.5, 0.5); //syntax error
GeoCoordinate = MyGeoPosition; //error thrown here
Content = new TextBlock{Text = "My car"};
var ml = new MapLayer { overlay };
MyMap.Layers.Add(ml);
}; //syntax error
}
Upvotes: 1
Views: 1747
Reputation: 1539
Looks to me like you're missing an equal sign.
MapOverlay overlay = new MapOverlay()
{
PositionOrigin = new Point(0.5, 0.5),
GeoCoordinate = MyGeoPosition,
Content = new TextBlock{Text = "My car"},
};
MapLayer ml = new MapLayer { overlay };
MyMap.Layers.Add(ml);
Or, you could just do this with PushPins:
PushPin myPin = new Pushpin();
myPin.Location = MyGeoPosition;
myPin.Content = "My car";
MyMap.Children.Add(myPin);
Upvotes: 3