c# - 如何设置 Bing map 样式?

标签 c# .net wpf winforms bing-maps

我想在我的 Winforms 应用程序中根据用户选择(空中、鸟眼、道路和街边)设置 map 样式。

我有这个代码:

using Microsoft.Maps.MapControl.WPF;
. . .

private void aerialToolStripMenuItem_Click(object sender, EventArgs e)
{
    userControl11.myMap.Style = Microsoft.Maps.MapTypeId.aerial;
}

...它不会编译,因为它告诉我:

enter image description here

我的引用文献中确实有 Microsoft.Maps.MapControl.WPF。

另外,当我尝试这段代码时:

this.userControl11.myMap.Style = Microsoft.Maps.MapControl.WPF.AerialMode;

...我得到,“AerialMode 是一种类型,在给定上下文中无效

顺便说一句,我有这个用于渲染 map 控件:

<UserControl x:Class="MyMaps.UserControl1"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
   xmlns:m="clr-namespace:Microsoft.Maps.MapControl.WPF;assembly=Microsoft.Maps.MapControl.WPF">
    <Grid>
        <m:Map CredentialsProvider="gr8GooglyMoogly" x:Name="myMap" />
    </Grid>
</UserControl>

更新

根据答案和评论,我现在成功地将它们用于三种可用的“模式”:

this.userControl11.myMap.Mode = new AerialMode(); // Aerial
this.userControl11.myMap.Mode = new AerialMode(true); // Aerial with Labels
this.userControl11.myMap.Mode = new RoadMode(); // Road

最佳答案

您正在寻找Mode属性,您需要分配 AerialMode 的新实例给它:

this.userControl11.myMap.Mode = new Microsoft.Maps.MapControl.WPF.AerialMode();

如果您希望它显示标签,请将 true 传递给 AerialMode 的构造函数。您可以在以下位置了解有关 map View 和模式的更多信息:Understanding Map Views .

enter image description here

关于c# - 如何设置 Bing map 样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65709531/

相关文章:

c# - 如何在 wpf 中动态显示控件?

wpf - 在 TabControl 中调整 TabItem 标题大小

c# - 针对频繁重复发生的事件完成 TPL 的高效信号任务

c# - Sense net 下载 sn-evaluation-webpi-6.4.0.7114.zip 无法执行以下步骤

wpf - 查找 FlowDocument 中的所有图像

c# - ASP.NET MVC - 应用程序预热 - 使用两种方法中的哪一种?

c# - 什么是 String[*] 以及如何转换它?

c# - 单元测试总是中止

javascript - 为什么 C# 中的冒泡排序对我来说比 JavaScript 慢?

C# Socket编程,关闭窗口