Für die 2 Silverlight Stunde in dem Jahr habe ich mir etwas schwierigeres ausgesucht, eine der beiden SDK (Bing und Facebook) die im November rausgebracht wurden. Nachdem ich die Facebook SDK gestern schon erwähnt habe, werde ich mich an der Bing SDK versuchen.
Einige der Features sind:
- basiert auf Silverlight 3
- Designer Support für Expression Blend
- Support for Out-Of-Browser
- Databinding
- einbindbare Karten
Hier findet man das Bing Maps Silverlight Control SDK und das interaktive SDK. Auf MSDN findet man weitere Informationen zum Bing Maps Silverlight Control SDK.
Als erstes muss man einen Bing Maps Account erstellen, dafür benötigt man
Während ich mir das den Bing Maps SDK installiert habe, legt ich mir auch den notwendigen Bing Maps Account zu.
Für das Projekt “TestBingApplikation” wird eine neue Silverlight Applikation angelegt und diese wird eine Silverlight 3 Anwendung sein.
Als nächstes muss man eine Referenz hinzufügen:
- Project –> Add Reference (oder rechter Mausklick bei Reference und Add Reference) auswählen
- In der Dialogbox den Tab Browse auswählen.
- Den Ordner in dem Bing Maps Silverlight Control installiert ist auswählen und
- Microsoft.Maps.MapControl.dll und
- Microsoft.Maps.MapControll.Common.dll
auswählen und bestätigen.
- Hinzufügen des map control assambly to MainPage.xaml als Namespace in das User Control.
Der XAML Code sieht so aus
<UserControl x:Class="SilverlightApplication1.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:m="clr-namespace:Microsoft.Maps.MapControl;assembly=Microsoft.Maps.MapControl"
Width="1024" Height="768">
<Grid x:Name="LayoutRoot" Background="White">
<m:Map x:Name="myMap" CredentialsProvider="Your key"/>
</Grid>
</UserControl>
Den erhaltenen Code fügt man bei CredentialsProvider ein. Wenn man die Library richtig einbindet, ins Silverlight Projekt und nicht, zum Web.Projekt, sollte es gleich mal Funktionieren.
Um der Applikation eine Überschrift zu geben, habe ich hierzu noch eine kleine Änderung des vorhingenannten XAML Codes gemacht.
<Grid x:Name="LayoutRoot" Background="White"><br /> <Grid.RowDefinition><br /> <RowDefinition Height="25"><br /> <RowDefinition Height="Auto"><br /> </Grid.RowDefinition><br /> <TextBlock x:Name="Header" Grid.Row="0" Text="Bing Map Applikation"/> <br /> <m:Map x:Name="myMap" Grid.Row="1" CredentialsProvider="Your key"/><br /></Grid><br />
Verändern des Map Mode
Die Map hat zwei verschiedene Modes
Fügt man nun noch Mode=”Aerial” zum <m:Map> Tag, so startet die Applikation in der Aerial-Ansicht.