Efficient/Proper 将图像添加到 MapControl 的方法 - windows phone 8.1

Efficient/Proper way to add Images to MapControl - windows phone 8.1

我正在开发一个将向用户显示地图的应用程序,我需要在不同的 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.

中,有什么有效的方法可以将图像添加到地图中吗?

编辑:

我尝试将 MapIcons 添加到地图,但在那种情况下,MapIcons 在特定缩放级别消失了,但我想让这些 MapIcons 在任何缩放级别都可见。

那么有什么方法可以让 MapIcons 在每个缩放级别都可见吗?

您可以改用 MapIcon class,这会处理得更好,因为地图是原生 C++ 控件,所以它必须做很多工作才能将 XAML 元素定位在地图。 MapIcon class 是原生的 class,所以它呈现得更好。您需要将图像转换为 RandomAccessStream,然后将其传递到 MapIcon 图像 属性。这可能有帮助:https://blogs.msdn.microsoft.com/going_metro/2012/05/14/working-with-streams-creating-randomaccessstreamreference-from-image-downloaded-from-web/

然后您可以将 MapIcon 添加到地图 MapElements 属性。