我想在我的 Winforms 应用程序中根据用户选择(空中、鸟眼、道路和街边)设置 map 样式。
我有这个代码:
using Microsoft.Maps.MapControl.WPF;
. . .
private void aerialToolStripMenuItem_Click(object sender, EventArgs e)
{
userControl11.myMap.Style = Microsoft.Maps.MapTypeId.aerial;
}
...它不会编译,因为它告诉我:
我的引用文献中确实有 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 .
关于c# - 如何设置 Bing map 样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65709531/