Скрыть или изменить сообщение об отсутствии данных в локальном кеше тайлов в GMap.NET

Я использую GMap.NET. При слишком большом масштабировании карты и отсутствии изображения для зоны на карте печатается квадрат исключения. Это нормально, я не хочу менять поведение. Я просто хочу создать GmapControl, и я почти закончил. Все, что мне нужно сейчас, это изменить или удалить сообщение об исключении: «Исключение: нет данных в локальном кэше плитки». Но я не могу найти подходящую недвижимость...

Для тех, кому это интересно, я задал вопрос в официальной теме GMAP и получил несколько интересных ответов, за исключением этой части: http://greatmaps.codeplex.com/discussions/389159


person Sheamus    schedule 16.08.2012    source источник


Ответы (1)


Как уже упоминалось в 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, строка 753 GMapControl.cs), я перекомпилировал и обнаружил, что двоичные файлы не совпадают с исходным кодом!

Перекомпилированный исходный код теперь вообще не отображает текст исключения (только при использовании кэшированного режима).

В итоге - все, что нужно было в моем случае, это либо ребилд Core и WinForms. При увеличении масштаба GMAP теперь использует данные предыдущей карты, насколько это возможно, а затем в конечном итоге по умолчанию рисует пустую белую плитку, когда масштаб примерно на 10 уровней ниже, чем ранее доступный уровень.

Такое поведение допустимо — в конце концов, кому кроме отладчика/разработчика захочется видеть яркий текст исключения вместо пустого изображения? :)

person Fortmann    schedule 11.01.2014