我正在开发一个应用程序,其中将向用户显示地图,我需要在不同的GeoPoints中将大约10-12个图像添加到地图中,每个GeoPoints的大小为1KB。
我按照以下动态添加这些图片:
Image img = new Image();
img.Height = 35;
img.Width = 35;
img.Source = new BitmapImage(new Uri("ms-appx:///Assets/myImage.png"));
img.RenderTransform = new CompositeTransform() { Rotation = item.bearing };
MapControl.SetNormalizedAnchorPoint(img, new Point(0.5, 0.5));
MapControl.SetLocation(img, new Geopoint(new BasicGeoposition() { Latitude = item.latitude, Longitude = item.longitude }));
myMap.Children.Add(img);
我的问题是
在我添加了这12张图片之后,我的地图控件变得太过拉吉,在将地图从一个位置移动到另一个位置时,它会挂起很多。
那么,是否有任何有效的方法可以在Windows Phone 8.1 App中向Map添加图像。
修改
我已尝试将MapIcons
添加到地图中,但在这种情况下,MapIcons在特定缩放级别消失了,但我希望在任何缩放级别保持这些MapIcons可见。
那么有什么方法可以让MapIcons
在每个缩放级别都可见?
答案 0 :(得分:3)
您可以使用MapIcon类,这可以更好地处理,因为地图是本机C ++控件,因此必须做很多工作才能在地图上定位XAML元素。 MapIcon类是一个本机类,因此它渲染得更好。您需要将图像转换为RandomAccessStream,然后将其传递给MapIcon图像属性。这可能有所帮助:https://blogs.msdn.microsoft.com/going_metro/2012/05/14/working-with-streams-creating-randomaccessstreamreference-from-image-downloaded-from-web/
然后,您可以将MapIcon添加到地图MapElements属性中。