65.9K
CodeProject is changing. Read more.
Home

Bing Maps in Windows Phone

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.60/5 (6 votes)

Aug 9, 2012

CPOL
viewsIcon

39941

downloadIcon

1545

Using Bing Maps in Windows Phone 7

Introduction

Nowadays, mobile applications are getting more and more successful. Their most important advantage is mobility which is realized thanks to some features like Bing Maps. That allows them to be more dynamic and gives a lot of appreciated services to customers. Bing Maps could help find the user's location and show him roads and distances. 

Using the code   

This app will shows you how to use the Map control under the Toolbox. After you drag and drop it on the page, you will have the following code added in the .xaml file.  

<my:Map Height="543" HorizontalAlignment="Left" 
  Name="map1" VerticalAlignment="Top"
  Width="480" Margin="-12,0,0,0" />

After that we will need to add the following usings to start using the Map features:

using Microsoft.Phone.Controls;
using Microsoft.Phone.Controls.Maps;
using System.Device.Location;

So now you can manipulate map1 from the .cs file. We are going to add a simple Pushpin using this code:

//declare the Pushpin 
Pushpin p = new Pushpin();
//define it's graphic properties 
p.Background = new SolidColorBrush(Colors.Yellow);
p.Foreground = new SolidColorBrush(Colors.Black);
//where to put the Pushpin 
p.Location = new GeoCoordinate(10, 36);
//What to write on it
p.Content = "You are here";
//now we add the Pushpin to the map
map1.Children.Add(p);
map1.SetView(new GeoCoordinate(10, 36, 200), 9); 

I added some icons to use it Zoom In, Zoom Out, use the Road Mode and the Aerial Mode with labels:

<phone:PhoneApplicationPage.ApplicationBar>
    <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True" Opacity="0.9">
        <shell:ApplicationBarIconButton IconUri="/Icons/plus.png" Text="Zoom In" Click="zoomIn_click"/>
        <shell:ApplicationBarIconButton IconUri="/Icons/minus.png" Text="Zoom out" Click="zoomOut_click"/>
        <shell:ApplicationBarIconButton IconUri="/Icons/A.png" Text="Aerial mode" Click="Aerial_click"/>
        <shell:ApplicationBarIconButton IconUri="/Icons/R.png" Text="Road mode" Click="Road_click"/>
        <shell:ApplicationBar.MenuItems>
            <shell:ApplicationBarMenuItem Text="Choose my position" Click="chooseMyPosition_click"/>
            <shell:ApplicationBarMenuItem Text="Locate Me" Click="locateMe_click"/>
            <shell:ApplicationBarMenuItem Text="Set Pushpin" Click="setPin_click"/>
            <shell:ApplicationBarMenuItem Text="Add Pushpin" Click="addPin_click"/>
        </shell:ApplicationBar.MenuItems>
    </shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>  

This line of code is for navigating between pages:

NavigationService.Navigate(new Uri("/ChooseMyPosition.xaml", UriKind.Relative)); 

Some snapshots:

If you need any more information about it, please let me know. 

You may want to see my other samples on MSDN here.