0

我有一个如下所示的控制文件夹:XAML:

<Maps:MapControl x:Name="MapControl" Grid.Row="5" Grid.ColumnSpan="2" Margin="20,10,15,15" Visibility="Visible"
                                     Height="200" HorizontalAlignment="Left" VerticalAlignment="Top" BorderBrush="Black" BorderThickness="1"/>

代码:

MapControl.MapServiceToken = "MyMapToken";
                        ListingClass listing = new ListingClass();
                        listing.Latitude = Double.Parse("-7.78183620", CultureInfo.InvariantCulture);
                        listing.Longitude = Double.Parse("110.40856360", CultureInfo.InvariantCulture);

                        // Specify a known location.
                        BasicGeoposition snPosition = new BasicGeoposition() { Latitude = listing.Latitude, Longitude = listing.Longitude };
                        Geopoint snPoint = new Geopoint(snPosition);

                        // Create a MapIcon.
                        MapIcon mapIcon1 = new MapIcon();
                        mapIcon1.Image =
                            RandomAccessStreamReference.CreateFromUri(new Uri("ms-appx:///images/map-pin-red-md1.png"));
                        mapIcon1.Location = snPoint;
                        mapIcon1.NormalizedAnchorPoint = new Point(0.5, 1.0);
                        mapIcon1.Title = pageTitle.Text;
                        mapIcon1.ZIndex = 0;

                        // Add the MapIcon to the map.
                        MapControl.MapElements.Add(mapIcon1);

                        // Center the map over the POI.
                        MapControl.Center = snPoint;
                        MapControl.ZoomLevel = 14;
                        MapControl.LandmarksVisible = true;

我遇到了麻烦,即无法显示文件夹(仅限白页)。如何处理?

我想问一个免费的bing开发者许可证,可以使用大地图的应用程序数量有限制吗?因为在之前的应用中可以显示bing地图(我根据应用的名字使用不同的key)。

4

1 回答 1

0

我遇到了麻烦,即无法显示文件夹(仅限白页)。如何处理?

似乎MapControl没有默认值WidthHeight,推荐的方法是不要设置任何属性(例如,HeightMargin)以使其适合父容器。并且会显示地图。例如,您的地图位于 Grid 的一排,您可以按如下方式定义地图:

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
  <Grid.RowDefinitions>
    <RowDefinition Height="*"/>
    <RowDefinition Height="*"/>
    <RowDefinition Height="*"/>
  </Grid.RowDefinitions>
  <Grid.ColumnDefinitions>
      <ColumnDefinition Width="*"/>
      <ColumnDefinition Width="*"/>
      <ColumnDefinition Width="*"/>
  </Grid.ColumnDefinitions> 
    <maps:MapControl x:Name="MapControl" Grid.Row="1" Grid.ColumnSpan="2" BorderBrush="Black" BorderThickness="1"/>
</Grid>

不推荐的原因是因为没有设置地图可以很好HeightWidth适应不同的UWP设备。如果您确实要设置height属性,以使地图显示,您可能需要设置width属性或HorizontalAlignment="Stretch"指示宽度。例如:

<maps:MapControl x:Name="MapControl" Height="200" HorizontalAlignment="Stretch"  BorderBrush="Black" BorderThickness="1" Grid.Row="1" Grid.ColumnSpan="2"/>
<maps:MapControl x:Name="MapControl" Height="200" Width="200"  BorderBrush="Black" BorderThickness="1"Grid.Row="1" Grid.ColumnSpan="2" />

我想问一个免费的bing开发者许可证,可以使用大地图的应用程序数量有限制吗?

如果您为每个应用程序使用不同的密钥,必应地图不应该限制应用程序的数量。但是当您使用这些密钥时,您可能会遇到可计费的 API。

于 2017-09-01T07:57:24.227 回答