UWP Bing Mapsアプリにカスタムマップタイルをロードする必要があります。ApplicationData.Current.LocalFolder
からロードする必要があります。Bing Mapsがローカルのアプリデータからタイルをロードしていない
タイルがロードされておらず、マップが完全に黒い場合はどうなりますか。
いくつかのトラブルシューティングを行っているうちに、アプリパッケージのタイルが正常に読み込まれていて、問題がLocalFolder
とLocalCacheFoler
にのみ関連していることがわかりました。
私がしたのは、アプリケーションパッケージからローカルフォルダに同じイメージをコピーすることでした(正しいものにコピーしています(実行時に生成され、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();
};
、これは何が起こるかです:
あなたが見ることができるようにアプリのパッケージ内の非常に同じファイルが正しくロードされている間、地元のタイルがロードされたとthy're無地の黒ではありません。
何が起こっているのか知っていますか?
返信いただきありがとうございます。私は 'UriFormatString'を設定する方法を知っていますが、OPのコードは単なる例です。実際のケースのシナリオは、カスタムのタイルレンダラーを構築することに関連していたので、私は 'UriRequested'ハンドラーでタイルを生成していて、後でそれらを再利用するためにキャッシュに保存しています。私が 'LocalData'に保存しても問題ありませんが、OneDriveのバックアップに追加すべきではないので、それらを' LocalCache'に保存する必要があります。 – StepTNT
@StepTNTご意見ありがとうございます。私たちはこの問題を社内で記録しており、関連チームが調査中です。 –
@ FranklinChen-MSFTこの問題は修正されましたか? – user1