MapControl の地図がアレ的な記事を書いたところ、 id:ChiiAyano さんから素敵な情報を頂きました。
というか、これ Windows Phone 7 の頃とほぼ同じなんですね。Silverlight から WinRT になったので できないものと決めつけてしまっていました。
Bing Maps を重ねて表示する
というわけで頂いた情報の通りに TileSources を設定すると、
protected override void OnNavigatedTo(NavigationEventArgs e) { var mapTile = new MapTileSource { DataSource = new HttpMapTileDataSource("http://ecn.t1.tiles.virtualearth.net/tiles/r{quadkey}.png?g=1&mkt=ja-jp") }; Map.TileSources.Insert(0,mapTile); }
この通り、まともな地図が表示されました!
もう白地図じゃないですね!!
オリジナルの地図を消す
ただ、このままだとオリジナルの地図と重なって表示されるようです。
ある程度拡大すると Bing Maps と Here Maps の表示が入り乱れて見にくいですね。
でも元あった Here Maps の情報は残ったままですね…
これを消す方法は見当たらなかったので、誰か教えてください。
との事でしたので ちょっと調べてみたところ、MapControl の Stype プロパティに MapStyle.None を指定するだけでいいみたいです。
さっきのコードに 1 行足してみます。
protected override void OnNavigatedTo(NavigationEventArgs e) { Map.Style = MapStyle.None; // オリジナルのタイルを消す var mapTile = new MapTileSource { DataSource = new HttpMapTileDataSource("http://ecn.t1.tiles.virtualearth.net/tiles/r{quadkey}.png?g=1&mkt=ja-jp") }; Map.TileSources.Insert(0,mapTile); }
この通り、Bing Maps だけの表示になりました。
これで MSCC アプリが半歩前進しそうです。id:ChiiAyano さんありがとうございました!