如何添加地图标记到地图?Windows Phone

本文关键字:地图 Windows Phone 图标 添加 何添加 | 更新日期: 2023-09-27 17:50:03

我已经传递了一个GeoCoordinate变量到我的地图类的页面,但是当我尝试在地图上画一个标记时,我得到一个错误,说明GeoCoordinate is a 'type' but is used as a 'variable'它也给了我;PositionOrigin = new Point(0.5, 0.5); 和关闭;的语法错误。

我明白,我的语法必须是不正确的添加一个地图标记由于得到这个错误。我的问题是我如何纠正这种方法来绘制标记?我画的是正确的方法吗,还是有不同的解决方案?

这是地图页面的onNaviagatedTo方法,我在其中传递坐标并尝试添加标记:

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
            }

如何添加地图标记到地图?Windows Phone

你好像少了一个等号。

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);

或者,你可以直接使用PushPins:

PushPin myPin = new Pushpin();
myPin.Location = MyGeoPosition;
myPin.Content = "My car";
MyMap.Children.Add(myPin);