ArcGIS web 地图在 c# winform 中

ArcGIS web map in c# winform

我想在我的 winform C# 应用程序中实现 ArcGIS web 地图。我在 WPF 应用程序中找到了很多资源来执行此操作,但没有找到用于 winform 平台的资源。我有一个来自 ArcGIS 的 API-Key 并且已经制作了一个网络地图。

有谁知道这是否可行,或者我是否需要使用 WPF 来执行此操作?我已经尝试过 GMap 开源,它确实支持来自 ArcGIS 的一些地图,但我还没有弄清楚如何从 link 添加“自定义”网络地图。我还需要向我的示例添加凭据。

F.eks Map.MapProvider = GMap.NET.MapProviders.ArcGIS_World_Street_MapProvider.Instance;

编辑, 遗憾的是,最好的解决方案似乎是在 winform 应用程序中实现一个 wpf 控制器。

如果我没看错你想要一张世界地图,我不知道你打算用它做什么,所以如果你只是想显示一张世界地图,那么我找到了一个关于此的 YouTube 教程可能会有所帮助, https://www.youtube.com/watch?v=TxSJJfaAzKg

如果您想要交互式地图并且 arcgis 会为您完成,那么您可以在 winforms 应用程序中模拟 WPF 控件, https://www.youtube.com/watch?v=VfpzVDAJ1fE

抱歉,如果我只是将 YouTube 视频显示为来源而不是实际文档,但至少它完成了工作。

您绝对可以使用 Esri ArcGIS Runtime SDK 来执行此操作。是的,它是一个 WPF 控件,但这没问题。您需要使用 ElementHost 在 WinForms 视图中托管 WPF 内容,这完全受支持,但运行时。请注意,WinForms 使用软件呈现,因此您无法获得与纯 WPF、UWP 或 WinUI3 window 一样好的性能。 因此,您只需按照找到的有关如何在 WPF 中执行此操作的所有文档进行操作,然后在 WinForms 应用程序的 ElementHost 中呈现该部分视图。

WinForms 元素宿主文档:https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.integration.elementhost?view=net-5.0

在 WinForms 中承载 WPF 的概念doc/examples:

/Morten Nielsen - 开发负责人(ArcGIS Runtime SDK for .NET)