【问题标题】:C# - Cannot display MapControl using Bing MapC# - 无法使用 Bing 地图显示 MapControl
【发布时间】:2017-09-01 15:57:24
【问题描述】:

我有一个控制文件夹,如下所示: 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)。

【问题讨论】:

    标签: c# uwp bing-maps uwp-maps


    【解决方案1】:

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

    好像MapControl没有默认的WidthHeight,推荐的方法是不要设置任何属性(例如Height,Margin等等)让它适合父容器。地图将显示出来。例如,您的地图位于 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开发者许可证,可以使用大地图的应用程序数量有限制吗?

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多