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