Windows 8. Bing Maps binding

Después de una pequeña discusión sobre la beta del control de mapas de Bing para Windows 8 Metro Store C#, tenemos la nueva versión beta RTM que permite utilizar el MapItemsControls para definir el template de los pushpin y enlazarlo con nuestra vista sin ningún problema.

<Maps:Map x:Name="MyMap" Margin="0">

<Maps:MapItemsControl x:Name="Items" ItemsSource="{Binding Elementos}" Height="272" Width="314">

<Maps:MapItemsControl.ItemTemplate>

<DataTemplate>

<Maps:Pushpin Text="{Binding Name}">

<Maps:MapLayer.Position>

<Maps:Location Latitude="{Binding Latitude}" Longitude="{Binding Longitude}" />

</Maps:MapLayer.Position>

</Maps:Pushpin>

</DataTemplate>

</Maps:MapItemsControl.ItemTemplate>

</Maps:MapItemsControl>

</Maps:Map>

Con diferencia a los que ya han utilizado la versión de Silverlight o de Windows Phone, para establecer la posición del Template debemos utilizar un MapLayer con su Location, con lo que nos permite utilizar cualquier control, por ejemplo StackPanel o Grid, y prescindir de Pushpin, y así poder aplicar estilos.

<DataTemplate>

<StackPanel>

<TextBlock Text="{Binding Name}" />

<TextBlock Text="{Binding Id}" />

<Maps:MapLayer.Position>

<Maps:Location Latitude="{Binding Latitude}" Longitude="{Binding Longitude}" />

</Maps:MapLayer.Position>

</StackPanel>

</DataTemplate>

Cuidado con intentar enlazar alguna otra propiedad, como ZoomLevel o Center, que, según nos cuentan, están limitados por problemas de rendimiento y no se pueden enlazar. Al carajo nuestro MVVM y tendremos que hacer un mixto, aunque es un adelanto tener el binding de los elementos a mostrar en el mapa porque lo de tener un foreach para pintarlos no me terminaba de convencer.

Para los que actualicen a esta nueva versión, hay que tener en cuenta que sólo funciona en la versión RTM de Windows 8.

 

Saludos a todos…

Published 16/8/2012 12:54 por Alberto Diaz Martin
Archivado en: ,
Comparte este post:

Comentarios

# re: Windows 8. Bing Maps binding

Thursday, August 16, 2012 2:08 PM por Santiago Porras Rodríguez

Bueno, parece que el becario de MS trabajó medio día :oP Ahora toca aplicar esta actualización

# re: Windows 8. Bing Maps binding

Monday, August 20, 2012 11:03 PM por Jose Antonio Gallego

Lo que no me acaba de convencer de la versión es el cartel a Pantalla Completa poniendo BETA... como para ir a hacer una Demo... :( , ya sabemos que es Beta pero podían ser un poco mas discretos, a ver si el Becario como dice Santiago se estira 10 minutos más y pone un cartel más pequeño... en una esquinita XD

# re: Windows 8. Bing Maps binding

Tuesday, August 21, 2012 12:02 AM por Alberto Diaz Martin

Un poquito exagerado si que es :P deja que el becario mejore el rendimiento, entre otras cosas, y ya quitaré el cartel pesado.

# Cómo los mayas no pudieron evitarlo, seguimos un año más

Wednesday, January 02, 2013 10:21 AM por Alberto Diaz

Otro año toca, entramos en el 2013 sobreponiéndonos a las predicciones Mayas del fin del