我想在我的应用程序中实现“附加位置”功能。 我决定创建一个用户控件并将我的地图放入其中,然后在单击某个按钮时,我会在全屏弹出/自定义消息框中显示此控件。
问题是一切正常,只是地图根本没有显示;我可以检索我的位置,放置图钉,缩放似乎工作(尽管事实上我没有看到任何东西!)。
更奇怪的是,复制并粘贴到手机应用程序页面的相同代码工作正常,并显示地图。我不明白,这是我不知道的限制吗?
这是我的代码:
<UserControl
.....
xmlns:maps="clr-namespace:Microsoft.Phone.Controls.Maps;assembly=Microsoft.Phone.Controls.Maps"
mc:Ignorable="d"
....
>
<Grid x:Name="LayoutRoot" Background="Black">
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<maps:Map Mode="AerialWithLabels"
Grid.Row="0"
Height="300"
HorizontalAlignment="Left"
Name="map1" VerticalAlignment="Top"
Width="460" Margin="-12,0,0,0">
</maps:Map>
<Button Content="share location"
Name="btn_SendLocation"
IsEnabled="False"
Grid.Row="1"
Click="Button_Click_1"/>
<ListBox Grid.Row="2"
Name="lst_NearBy"
DataContext="{Binding Location}"
Tap="lst_NearBy_Tap">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,5">
<TextBlock Text="{Binding mName}" Style="{StaticResource PhoneTextLargeStyle}"/>
<TextBlock Text="{Binding mVicinity}" Margin="10,0,0,0" Foreground="Gray"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</Grid>
答案 0 :(得分:0)
您是否尝试以编程方式添加地图?
private Constructor()
{
Map my_map = new Map();
my_map.Name= "map1";
my_map.mode = "AerialWithLabels";
my_map.Height = 300;
my_map.Margin = new Thickness(-12,0,0,0);
my_map.VerticalAlignment = System.Windows.VerticalAlignment.Top;
my_map.HorizontalAlignment= System.Windows.HorizontalAlignment.Left;
ContentPanel.Children.Add(my_map);
}