6

マップをユーザーに表示するアプリケーションを開発しています。それぞれに1KBの異なるGeoPointで約10-12画像をマップに追加する必要がありますサイズの。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枚の画像を追加した後、私のマップコントロールからマップを移動しながら、という秀ラグとなっています他の場所に1つの場所、それは多くのハングアップします。

Windows PhoneのMap 8.1に画像を追加する効率的な方法はありますか?

編集:

私は地図にMapIconsを追加しようとしましたが、その場合にはMapIconsは、特定のズームレベルで姿を消したが、私は、任意のズームレベルで目に見えるものをMapIconsを維持したいです。

ズームレベルごとにMapIconsを表示させる方法はありますか?あなたが代わりにMapIconクラスを使用することができ

答えて

3

マップがネイティブ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が消えてしまっていました...私のシナリオでは、MapIconを地図上の任意のズームレベルで表示しておきたいと思います...これは可能です..「助けてください」と助言をありがとう –

+0

発生しているパフォーマンス上の問題があるXAML要素を使用することに限定されています。 UWPマップコントロールでは、XAML要素のパフォーマンスが大幅に向上しています。 – rbrundritt

関連する問題