I am trying to create an example of a simple application for later creation for Windows Phone 8. I want to create a Bing map on my MainPage.xaml concentrated at a point (37.227700, -80422037), and you already have buttons on the map (not the ones that the user adds , just markers for specific locations, which I pre-fill based on some dynamic data that I have currently hard-coded). When I run my code, it goes to the page and loads the map up, but the contacts are not displayed. In addition, the map does not scale at all, despite the fact that I set the ZoomLevel property to xaml. I am new to this coding paradigm, so there must be something that I am missing. Here is what I have in xaml and C # files:
MainPage.xaml.cs (only the constructor is shown, but for simplicity there are no other methods) (you can see sections with comments in which I tried several approaches, none of which worked)
public MainPage()
{
InitializeComponent();
Map myMap = new Map();
MapLayer layer0 = new MapLayer();
Pushpin pushpin0 = new Pushpin();
//Pushpin pushpin0 = (Pushpin)this.FindName("pushpin0");
//Pushpin pushpin0 = MapExtensions.GetChildren(myMap).OfType<Pushpin>().First(p => p.Name == "pushpin0");
//if (pushpin0 == null) { pushpin0 = new Pushpin(); }
pushpin0.GeoCoordinate = new GeoCoordinate(37.228510, -80.422860);
MapOverlay overlay0 = new MapOverlay();
overlay0.Content = pushpin0;
overlay0.GeoCoordinate = new GeoCoordinate(37.228510, -80.422860);
layer0.Add(overlay0);
Pushpin pushpin1 = new Pushpin();
pushpin1.GeoCoordinate = new GeoCoordinate(37.226399, -80.425271);
MapOverlay overlay1 = new MapOverlay();
overlay1.Content = pushpin1;
layer0.Add(overlay1);
Pushpin pushpin2 = new Pushpin();
pushpin2.GeoCoordinate = new GeoCoordinate(37.228900, -80.427450);
MapOverlay overlay2 = new MapOverlay();
overlay2.Content = pushpin2;
layer0.Add(overlay2);
ContentPanel.Children.Add(myMap);
}
MainPage.xaml
<phone:PhoneApplicationPage
x:Class="SimpleApp.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="Portrait" Orientation="Portrait"
shell:SystemTray.IsVisible="True"
xmlns:Controls="clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps"
xmlns:toolkit="clr-namespace:Microsoft.Phone.Maps.Toolkit;assembly=Microsoft.Phone.Controls.Toolkit">
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
<TextBlock Text="Simple Map Application with Pushpins" Style="{StaticResource PhoneTextNormalStyle}" Margin="12,0"/>
<TextBlock Text="Pushpins" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
</StackPanel>
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<Controls:Map x:Name="myMap" ZoomLevel="17" Center="37.227700, -80.422037" CartographicMode="Road">
<toolkit:MapExtensions.Children>
<toolkit:Pushpin x:Name="pushpin0" Content="My Position"/>
<toolkit:Pushpin x:Name="pushpin1" Content="My Position"/>
<toolkit:Pushpin x:Name="pushpin2" Content="My Position"/>
</toolkit:MapExtensions.Children>
</Controls:Map>
</Grid>
</Grid>
</phone:PhoneApplicationPage>
In fact, more contacts have been added, but I assume that if I get only a few to work, adding more similar ones will be trivial.