1

我正在使用 GMap.NET。当在地图上缩放太多并且该区域没有可用的图像时,地图上会打印一个异常方块。没关系,我不想改变行为。我只是想弥补GmapControl,我几乎完成了。我现在只需要更改或删除异常消息:“异常:本地切片缓存中没有数据”。但是我找不到合适的房产...

对于有兴趣的人,我已经询问了 GMAP 官方主题,我得到了一些有趣的答案,除了这一部分: http: //greatmaps.codeplex.com/discussions/389159

4

1 回答 1

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 行),我重新编译,发现二进制文件与源代码不一样!

重新编译的源代码现在根本不显示异常文本(仅在使用缓存模式时)。

结果 - 在我的情况下,所有必要的就是重建或核心和 WinForms。放大时,GMAP 现在尽可能使用以前的地图数据,然后在缩放比以前可用的级别低大约 10 级时,最终默认绘制一个空白的白色瓦片。

这种行为是可以接受的——毕竟,除了调试器/开发人员之外,谁会希望看到明亮的异常文本而不是空白图像?:)

于 2014-01-11T15:14:35.497 回答