【问题标题】:pin doesn't appear on windows map图钉没有出现在 Windows 地图上
【发布时间】:2015-05-23 18:40:50
【问题描述】:

我想为 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 控件的情况下做到这一点?

【问题讨论】:

  • 您将地图中心设为geoPoint,但您希望将图钉设置为bGeo 。您是否滚动/移动地图并检查图钉是否出现在地图的某个位置?或尝试将 pin 设置为 geoPoint 进行测试。

标签: c# windows-phone-8 pushpin


【解决方案1】:

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

阅读教程here

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

【讨论】:

    【解决方案2】:

    你可以试试..

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多