Winforms(或类似的Winforms)是否有地质点类可用?
在我的UWP应用程序中,我使用了一个地质点类:Winforms(或类似的Winforms)是否有地质点类可用?,winforms,bing-maps,geopoints,uwp-maps,Winforms,Bing Maps,Geopoints,Uwp Maps,在我的UWP应用程序中,我使用了一个地质点类: using Windows.Devices.Geolocation; . . . List<Geopoint> locations; 更新2 我尝试了答案中提供的代码: this.UserControl1.myMap.AnimationLevel = AnimationLevel.Full; this.userControl11.myMap.Loaded += MyMap_Loaded; …但它不会编译。我没有UserContr
using Windows.Devices.Geolocation;
. . .
List<Geopoint> locations;
更新2
我尝试了答案中提供的代码:
this.UserControl1.myMap.AnimationLevel = AnimationLevel.Full;
this.userControl11.myMap.Loaded += MyMap_Loaded;
…但它不会编译。我没有UserControl11(答案代码就是这样),但我有UserControl1,但它不被识别:
这就是问题中的XAML(Bing地图关键点已混淆):
对于希望使用不同于的映射控件的用户,可以按照以下步骤使用Windows窗体的Windows社区工具包映射控件 注意:Windows 10(引入v10.0.17709.0)是一个先决条件
下的支持对象:
此外,请确保包括所需的用法:
using Microsoft.Toolkit.Forms.UI.Controls;
using Microsoft.Toolkit.Win32.UI.Controls.Interop.WinRT;
注意1:我无法在designer中添加该控件,因为当我尝试在窗体上删除该控件时,在设计时出现异常,所以我决定在运行时使用add-it
注2:您需要使用地图;但是,出于测试目的,您可能会忽略获取密钥
- WinForms控件是WPF的包装器
下的支持对象:
此外,请确保包括所需的用法:
using Microsoft.Toolkit.Forms.UI.Controls;
using Microsoft.Toolkit.Win32.UI.Controls.Interop.WinRT;
注意1:我无法在designer中添加该控件,因为当我尝试在窗体上删除该控件时,在设计时出现异常,所以我决定在运行时使用add-it
注2:您需要使用地图;但是,出于测试目的,您可能会忽略获取密钥
- WinForms控件是WPF的包装器
BasicGeoposition location = new BasicGeoposition();
location.Latitude = 36.59894360222391; // Monterey == 36.6002° N
location.Longitude = -121.8616426604813; // Monterey == 121.8947° W (West is negative)
Geopoint geop = new Geopoint(location);
await map.TrySetSceneAsync(MapScene.CreateFromLocation(geop));
cmbxZoomLevels.SelectedIndex = Convert.ToInt32(map.ZoomLevel - 1);
map.Style = MapStyle.Aerial3DWithRoads;
var location = new Location(47.604, -122.329);
this.userControl11.myMap.SetView(location, 12);
同样可以通过设置和来实现
下载或克隆示例
您可以从此处下载或关闭工作示例:
- 克隆
- 下载
表单的加载事件
,并使用以下代码:
private void Form1_Load(object sender, EventArgs e)
{
var map = new MapControl();
map.Dock = DockStyle.Fill;
map.MapServiceToken = "YOUR KEY";
map.LoadingStatusChanged += async (obj, args) =>
{
if (map.LoadingStatus == MapLoadingStatus.Loaded)
{
var cityPosition = new BasicGeoposition() {
Latitude = 47.604, Longitude = -122.329 };
var cityCenter = new Geopoint(cityPosition);
await map.TrySetViewAsync(cityCenter, 12);
}
};
this.Controls.Add(map);
}
private void Form1_Load(object sender, EventArgs e)
{
this.userControl11.myMap.AnimationLevel = AnimationLevel.Full;
this.userControl11.myMap.Loaded += MyMap_Loaded;
}
private void MyMap_Loaded(object sender, System.Windows.RoutedEventArgs e)
{
var location = new Location(47.604, -122.329);
this.userControl11.myMap.SetView(location, 12);
}
确保使用Microsoft.Maps.MapControl.WPF使用代码>
BasicGeoposition location = new BasicGeoposition();
location.Latitude = 36.59894360222391; // Monterey == 36.6002° N
location.Longitude = -121.8616426604813; // Monterey == 121.8947° W (West is negative)
Geopoint geop = new Geopoint(location);
await map.TrySetSceneAsync(MapScene.CreateFromLocation(geop));
cmbxZoomLevels.SelectedIndex = Convert.ToInt32(map.ZoomLevel - 1);
map.Style = MapStyle.Aerial3DWithRoads;
var location = new Location(47.604, -122.329);
this.userControl11.myMap.SetView(location, 12);
同样可以通过设置和来实现
下载或克隆示例
您可以从此处下载或关闭工作示例:
- 克隆
- 下载
表单的加载事件
,并使用以下代码:
private void Form1_Load(object sender, EventArgs e)
{
var map = new MapControl();
map.Dock = DockStyle.Fill;
map.MapServiceToken = "YOUR KEY";
map.LoadingStatusChanged += async (obj, args) =>
{
if (map.LoadingStatus == MapLoadingStatus.Loaded)
{
var cityPosition = new BasicGeoposition() {
Latitude = 47.604, Longitude = -122.329 };
var cityCenter = new Geopoint(cityPosition);
await map.TrySetViewAsync(cityCenter, 12);
}
};
this.Controls.Add(map);
}
private void Form1_Load(object sender, EventArgs e)
{
this.userControl11.myMap.AnimationLevel = AnimationLevel.Full;
this.userControl11.myMap.Loaded += MyMap_Loaded;
}
private void MyMap_Loaded(object sender, System.Windows.RoutedEventArgs e)
{
var location = new Location(47.604, -122.329);
this.userControl11.myMap.SetView(location, 12);
}
确保使用Microsoft.Maps.MapControl.WPF使用代码>
TrySetSceneAsync
方法。你可以看看它的方法。属于。使用Windows Community ToolKit Map Control是否为您提供了一个选项?很好,您现在有了一个可用的解决方案。WPF Bing Maps已经足够好了,我只是想确定您将使用哪一个,看看我是否可以帮助解决这个问题。您是否尝试过SetVeiw
或设置Center
和ZoomLevel
?类似的类对您有用吗?虽然创建具有相似类型的类非常简单,但我不确定它是否有多大帮助。您的具体要求/问题是什么?(也请指定.NET版本、操作系统,如果您要使用WPF Bing映射或UWP Bing映射),WPF映射没有