我正在使用GMap.NET。在地图上放大太多而区域没有可用的图像时,会在地图上打印异常正方形。这没关系,我不想改变行为。我只是想弥补GmapControl,我差不多完成了。我现在需要的只是更改或删除异常消息:“例外:本地磁贴缓存中没有数据”。但我找不到合适的房产......
对于有兴趣的人,我已经询问了GMAP官方主题,除了这一部分外,我有一些有趣的答案:http://greatmaps.codeplex.com/discussions/389159
答案 0 :(得分:0)
正如http://greatmaps.codeplex.com/discussions/389159中已经提到的,我开始执行类似的任务:
mapControl.EmptytileBrush = new SolidBrush(Color.Gainsboro);
mapControl.EmptyTileText = String.Empty;
mapControl.EmptyTileBorders = new Pen(Color.Gray);
然而,GMap没有公开隐藏异常文本的属性,并且在删除了违规的DrawString(GMAP v1.6,GMapControl.cs的第753行)后,我重新编译并发现二进制文件与源文件不同!
重新编译的源现在根本不显示异常文本(仅在使用缓存模式时)。
结果 - 在我的案例中,所有必要的都是重建或Core和WinForms。 放大时,GMAP现在尽可能使用先前的地图数据,然后默认情况下,当缩放比先前可用的水平低约10个级别时,最终会绘制一个空白的白色图块。
这种行为是可以接受的 - 毕竟,除了调试器/开发人员之外,谁想要看到明亮的异常文本而不是空白图像? :)