地图控件Gmap.net崩溃

乌马尔·阿巴斯(Umar Abbas)

我在Winform应用程序中使用gmap.net地图控件。尽管我们更新了所有系统,但它在开发人员计算机上运行良好,但在客户端计算机上崩溃。但是几分钟后,地图崩溃了,并给出以下网络框架错误在此处输入图片说明

TC。

我过去曾经使用过GMap.NET控件,但遇到了类似的问题。从背景中的粗大红叉来看,GMap.NET控件在其OnPaint方法期间崩溃了enumeration operation may not execute引发错误通常是由在迭代时修改集合引起的:这是框架中大多数集合类型所不允许的。

在它的OnPaint方法,该GMap.NET控制迭代众多藏品,其中包括了GMapControl.Overlays收集和GMapOverlay.MarkersGMapOverlay.RoutesGMapOverlay.Polygons这些覆盖的集合。就我而言,我是在控件尝试绘制时从后台线程修改这些集合的,从而迭代了这些集合。这导致了与您现在所观察到的行为类似的行为。

我注意到,GMap.NET使用一个自定义集合类来调用ObservableCollectionThreadSafe<T>所有上述集合。该名称表示线程安全,因此可能在迭代期间允许修改,但是我尚未研究其实现,因此我不确定这是否成立。我的观察似乎表明并非如此,但这是相当久以前的事了。

当时,我通过对GUI线程调用上述集合的修改(由于缺少要锁定的同步对象)解决了我的问题调用可确保修改不能与GMapControl.OnPaint方法同时运行,该方法也将始终在GUI线程上运行。

关于为什么未在计算机上观察到此行为的原因:这可能是由于多种原因造成的。也许您很幸运,也许您使用的应用程序不同于客户端,等等。

顺便说一下,您可能会在GMap.NET讨论论坛获得有关问题的更多有用答案

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

地图控件Gmap.net崩溃

来自分类Dev

如何打印GMap.NET地图?

来自分类Dev

如何打印GMap.NET地图?

来自分类Dev

使用GMap.net在地图上绘制折线

来自分类Dev

使用自定义地图提供程序的GMap.NET.GMapControl?

来自分类Dev

当缓存不可用时,如何在 Gmap.net 的离线模式下使用 mbtile 地图?

来自分类Dev

当我将鼠标悬停在GMap.NET控件上时,为什么窗体在顶部?

来自分类Dev

使用CMAP的GMAP.NET,如何在不调用地图MouseClick的情况下使用标记OnMarkerClick?

来自分类Dev

Gmap,jQuery和Google地图

来自分类Dev

禁用GMap.js中的控件

来自分类Dev

Gmap.net标记删除

来自分类Dev

删除谷歌地图控件

来自分类Dev

如何在 VB.NET 的代码中正确检查复选框控件?(VS2017 调试器与我的代码一起崩溃)

来自分类Dev

异常后地图崩溃导致应用程序崩溃

来自分类Dev

运行循环以禁用控件时,Excel崩溃

来自分类Dev

WebBrowser控件在Windows 10上崩溃

来自分类Dev

运行循环以禁用控件时,Excel崩溃

来自分类Dev

Google地图在少数设备中崩溃

来自分类Dev

为什么在加载地图时SKMap崩溃?

来自分类Dev

从背景返回后,Skobbler地图崩溃

来自分类Dev

地图的棉花糖片段活动崩溃

来自分类Dev

在Google地图上添加标记时崩溃

来自分类Dev

尝试迭代投掷地图时崩溃

来自分类Dev

Cordova 谷歌地图在绘制折线时崩溃

来自分类Dev

地图控件:删除或隐藏默认地图图层

来自分类Dev

从Silverlight地图控件中删除地图图层

来自分类Dev

Gmap.net缓存如何工作?

来自分类Dev

Gmap.net中的图像tiff

来自分类Dev

Gmap.net缓存如何工作?