3

カスタム マップ タイルをUWP Bing Mapsアプリに読み込む必要があり、ApplicationData.Current.LocalFolder.

何が起こるかというと、タイルが読み込まれず、マップが完全に黒くなります。

トラブルシューティングを行っているときに、アプリ パッケージからのタイルが正常に読み込まれ、問題が関連していることがわかりましLocalFolderLocalCacheFoler

だから私がしたことは、同じ画像をアプリ パッケージからローカル フォルダーにコピーすることでした (実行時に生成され、に保存された画像でテストしても、正しい画像にコピーしていますLocalFolder)、このコードをタイル ソースとして使用します。

var localTileSource = new LocalMapTileDataSource();
localTileSource.UriRequested += async (s, e) =>
{
    var deferral = e.Request.GetDeferral();                                                           
    e.Request.Uri = (new Random().NextDouble() < 0.5) ? new Uri("ms-appdata:///local/background.png") : new Uri("ms-appx:///Assets/background.png");
    deferral.Complete();
};

これが起こることです:

ここに画像の説明を入力

ご覧のとおり、ローカル タイルは読み込まれておらず、真っ黒ですが、アプリ パッケージ内の同じファイルが正しく読み込まれています。

誰が何が起こっているのか知っていますか?

4

2 に答える 2

3

ご意見をいただきありがとうございます。LocalMapTileDataSourceのアプリのローカル ストレージを指すカスタム ソースを提供するときに問題があるようです。この問題は社内で報告済みです。進展があり次第、回答を更新します。

また、LocalMapTileDataSourceローカル ストレージからタイルを読み込むこともできます。LocalMapTileDataSource次のようなコンストラクターで Uri を指定できます。

LocalMapTileDataSource localTileSource = new LocalMapTileDataSource("ms-appdata:///local/background.png");

または、次のようにUriFormatStringを設定します。

LocalMapTileDataSource localTileSource = new LocalMapTileDataSource();
localTileSource.UriFormatString = "ms-appdata:///local/background.png";

これらの方法で、ローカル アプリ データからタイルを読み込むことができるはずです。

于 2016-09-14T09:34:04.643 に答える
0

あなたのシナリオでは、CustoMapTileSource を使用してみませんか? タイルをキャッシュ フォルダーに書き込み、URI を LocalMapTileDataSource に提供する代わりに、ビットマップを直接提供することができます。

于 2016-09-20T18:44:35.750 に答える