2014-10-03 5 views
0

Я пытаюсь получить слои карт, работающие в моем приложении Windows 8.1, в котором используется SDK Bing Maps. Следуя документации Microsoft, я создал этот код, и он, похоже, не работает. Ошибок не возникает, что делает эту проблему еще более запутанной.Bing maps SDK Win8.1 - Добавление слоев

MapTileLayer tileLayer = new MapTileLayer(); 
tileLayer.TileSource = string.Format("http://mesonet.agron.iastate.edu/cache/tile.py/1.0.0/nexrad-n0q-900913/{{zoomLevel}}/{{x}}/{{y}}.png?{0}", DateTime.Now.ToString()); 
rMap.TileLayers.Add(tileLayer); 

Переменные URI zoomLevel, x и y представляют, где загрузить плитку. 0 является субдоменом (этот код был перенесен с Windows Phone 8, где он отлично работает

ответ

0

Windows Phone 8 и Windows 8 - это не тот же элемент управления, что и для WP8, который предоставляется здесь и на Win8, он предоставляется Microsoft .

Во всяком случае, вы можете делать то, что вы хотите, используя следующий код:

/// <summary> 
    /// Invoked when this page is about to be displayed in a Frame. 
    /// </summary> 
    /// <param name="e">Event data that describes how this page was reached. The Parameter 
    /// property is typically used to configure the page.</param> 
    protected override async void OnNavigatedTo(NavigationEventArgs e) 
    { 
     Bing.Maps.MapTileLayer layer = new Bing.Maps.MapTileLayer(); 
     layer.GetTileUri += layer_GetTileUri; 
     this.map.TileLayers.Add(layer); 
    } 

    private async void layer_GetTileUri(object sender, Bing.Maps.GetTileUriEventArgs e) 
    { 
     e.Uri = this.ComposeMyCustomUri(e); 
    } 

вы найдете e является специфическим объектом параметр типа GetTileUriEventArgs см:

http://msdn.microsoft.com/en-us/library/jj672952.aspx