2011-12-09 4 views
1

Je suis nouveau sur le téléphone Windows 7, S'il vous plaît aidez-moimise en œuvre des cartes Bing dans Windows Phone 7

<phone:PhoneApplicationPage 
    x:Class="Sample1.PanoramaPage1" 
    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:controls="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="800" 
    FontFamily="{StaticResource PhoneFontFamilyNormal}" 
    FontSize="{StaticResource PhoneFontSizeNormal}" 
    Foreground="{StaticResource PhoneForegroundBrush}" 
    SupportedOrientations="Portrait" Orientation="Portrait" 
    shell:SystemTray.IsVisible="False" 
    xmlns:m="clr-namespace:Microsoft.Maps.MapControl;assembly=Microsoft.Maps.MapControl" 
    xmlns:my="clr-namespace:Microsoft.Phone.Controls.Maps;assembly=Microsoft.Phone.Controls.Maps"> 
    <my:Map x:Name="map1" CredentialsProvider="{Binding CredentialsProvider}" Height="462" HorizontalAlignment="Left" Margin="6,6,0,0" VerticalAlignment="Top" Width="444" > 
        <my:MapItemsControl x:Name="mapItemsControl" ItemsSource="{Binding Path=Locations}"> 
        <my:MapItemsControl.ItemTemplate> 
         <DataTemplate> 
          <m:Pushpin MouseLeftButtonUp="Pushpin_MouseLeftButtonUp" Background="Red" Location="{Binding}"> 

          </m:Pushpin> 
         </DataTemplate> 
        </my:MapItemsControl.ItemTemplate> 
       </my:MapItemsControl> 
       </my:Map> 

Et mes .xaml.cs est comme ceci:

public PanoramaPage1() 
     { 
      InitializeComponent(); 
      //map1.Mode = new RoadMode(); 
      Pushpin pushpin = new Pushpin(); 
      Location location = new Location(); 
      location.Latitude = 53.550556; 
      location.Longitude = 9.993333; 
      pushpin.Location = location; 
      pushpin.Background = new SolidColorBrush(Colors.Red); 
      map1.Children.Add(pushpin); 
} 

si nous voyons J'ai deux (2) contrôle de la carte sont ajoutées à la page sont ceux

xmlns: m = "clr-namespace: Microsoft.Maps.MapControl; assemblage = Microsoft.Maps.MapControl" xmlns: my = "clr- espace de noms: Microsoft.Phone.Controls.Maps; as si je utilise la carte de la punaise Microsoft.Maps.MapControl, cela fonctionne mais le code ci-dessous ne fonctionne pas.

<m:Map.Mode> 
       <m:AerialMode ShouldDisplayLabels="True" /> 
       </m:Map.Mode> 

il donne erreur « la propriété « ShouldDisplayLabels » n'a pas été trouvé dans le type « AerialMode ». » Si j'utilise la carte des Microsoft.Phone.Controls.Maps, alors la punaise ne fonctionne pas signifie que la punaise reste stable lorsque nous déplaçons la carte (la carte bouge mais la punaise reste saturée). Et si Additionnez les deux comme ci-dessous pushpins:

public PanoramaPage1() 
      { 
       InitializeComponent(); 
       //map1.Mode = new RoadMode(); 

       GeoCoordinate lHamburg = new GeoCoordinate(53.550556, 9.993333); 

       Pushpin pushpin = new Pushpin(); 
       Location location = new Location(); 
       location.Latitude = 53.550556; 
       location.Longitude = 9.993333; 
       pushpin.Location = location; 
       pushpin.Background = new SolidColorBrush(Colors.Red); 
       map1.Children.Add(pushpin); 

       pushpin = new Pushpin(); 
       location = new Location(); 
       location.Latitude = 83.550556; 
       location.Longitude = 9.993333; 
       pushpin.Location = location; 
       pushpin.Background = new SolidColorBrush(Colors.Yellow); 
       map1.Children.Add(pushpin); 
    } 

seulement deuxième pushpin (Colors.Yellow) je suis en mesure de voir sur la carte.

S'il vous plaît aidez-moi.

+0

Pour éviter toute confusion, veuillez d'abord supprimer toutes les références à la "vieille" commande de cartes Bing. Puisque le contrôle de cartes est maintenant inclus dans le SDK, vous devez supprimer xmlns: m = "espace de noms clr: Microsoft.Maps.MapControl; assembly = Microsoft.Maps.MapControl". Supprimez également la référence à l'ancien contrôle des cartes dans les références de vos projets. –

Répondre