1

GMap.NET を使用しています。マップをズームしすぎて、そのゾーンに使用できる画像がない場合、例外の正方形がマップに印刷されます。これは問題ありません。動作を変更したくありません。GmapControl を作成したいだけで、ほぼ完了です。今必要なのは、「例外: ローカル タイル キャッシュにデータがありません」という例外メッセージを変更または削除することだけです。でもなかなか良い物件が見つからない…

興味のある人のために、GMAP の公式トピックで質問したところ、興味深い回答がいくつかありましたが、この 1 つの部分を除いて: 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 行目) を削除した後、再コンパイルしたところ、バイナリがソースと同じではないことがわかりました!

再コンパイルされたソースでは、例外テキストがまったく表示されなくなりました (キャッシュ モードを使用している場合のみ)。

その結果、私の場合に必要だったのは、再構築または Core と WinForms だけでした。ズームインするとき、GMAP は可能な限り以前のマップ データを使用するようになり、ズームが以前に使用できたレベルより約 10 レベル低い場合、最終的にデフォルトで空白の白いタイルを描画します。

この動作は許容されます。結局のところ、デバッガー/開発者以外の誰が空白の画像の代わりに明るい例外テキストを見たいと思うでしょうか? :)

于 2014-01-11T15:14:35.497 に答える