pin不会出现在Windows地图上

时间:2015-05-23 18:40:50

标签: c# windows-phone-8 pushpin

我想在地图上的某个位置为Windows Phone 8.0应用添加一个图钉。 到目前为止,我的代码如下:

private async void Button_Click(object sender, RoutedEventArgs e)
{
    BasicGeoposition bGeo = new BasicGeoposition();
    bGeo.Latitude = 37.4333;
    bGeo.Longitude = 24.9167;

    Geopoint geoPoint = new Geopoint(bGeo,0);

    myMap.ZoomLevel = 13;
    myMap.Center = geoPoint;
}


private void AddMapIcon()
{
    MapIcon MapIcon1 = new MapIcon();
    MapIcon1.Location = new Geopoint(new BasicGeoposition()
    {
        Latitude = 37.4333,
        Longitude = 24.9167
    });
    MapIcon1.NormalizedAnchorPoint = new Point(2.0, 2.0);
    myMap.MapElements.Add(MapIcon1); 
}

地图正确加载,但引脚不会出现。有什么想法吗?有没有办法在不使用针脚的xaml控件的情况下执行此操作?

2 个答案:

答案 0 :(得分:1)

这是在Windows手机中添加地图控件上的任何UI的一般方法: 我们需要创建"地图图层"和"地图叠加"并指定我们想要放置它的坐标。示例代码:

阅读教程here

您可以在叠加层中添加图像控件,并将其源指向要绘制的图钉图像。希望这个帮助

答案 1 :(得分:0)

你可以试试..

     BitmapImage myImage1;
     myImage1 = new BitmapImage(new Uri("/Assets/Images/pushpin-google-hi.png", UriKind.RelativeOrAbsolute));
     var image = new Image();
     image.Width = 50;
     image.Height = 50;
     image.Opacity = 100;
     image.Source = myImage1;

     var mapOverlay = new MapOverlay();
     mapOverlay.Content = image;
     mapOverlay.GeoCoordinate = new GeoCoordinate(lats, lons);
     var mapLayer = new MapLayer();
     mapLayer.Add(mapOverlay);
     MyMap.Layers.Add(mapLayer);
     MyMap.SetView(new GeoCoordinate(lats, lons), 16);