C# - 无法使用Bing Map显示MapControl

时间:2017-08-31 01:29:42

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

我有一个如下控制文件夹: 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 map(我根据应用程序的名称使用不同的键)。

1 个答案:

答案 0 :(得分:0)

  

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

似乎MapControl没有默认WidthHeight,建议的方法是不设置任何属性(例如Height,{{ 1}}依此类推)让它适合父容器。并将显示地图。例如,您的地图位于Grid的一行中,您可以按如下方式定义地图:

Margin

不推荐的原因是因为没有设置<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> Height地图可以适应不同的UWP设备。如果您确实要设置Width属性,要显示地图,您可能需要设置height属性或width以指示宽度。例如:

HorizontalAlignment="Stretch"
  

我想要求免费的bing开发者许可证,可以使用大地图的应用程序数量是否有限制?

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