6

我正在開發一個應用程序,其中地圖將顯示給用戶,我需要將大約10-12張圖像添加到地圖上,每個地圖點有1KB的大小。將圖像添加到MapControl的高效/正確方法 - windows phone 8.1

我動態地將這些圖像按如下:

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張圖像,我的地圖控制變得洙Laggy,雖然移動從地圖一個位置到另一個位置,它掛起很多。

那麼,有沒有任何有效的方式來添加圖像到Windows Phone 8.1應用程序中的地圖。

編輯:

我試圖添加MapIcons地圖,但在這種情況下MapIcons是在特定縮放級別消失了,但我想保持這些MapIcons可見在任何縮放級別。

那麼有沒有什麼辦法讓MapIcons在每個縮放級別都可見?

回答

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屬性中。

+0

因此,當我將MapIcon添加到MapControl中時,MapIcons將僅在特定的縮放級別上可見。當我縮小時,MapIcons消失了......在我的場景中,我想讓這些MapIcons在地圖上的任何縮放級別都可見...這是可能的嗎?'請幫助我'並感謝您的建議 –

+0

在這種情況下,您僅限於使用具有您遇到的性能問題的XAML元素。請注意,在UWP地圖控件中,XAML元素的性能有了很大提高。 – rbrundritt

相關問題