我使用位于 https://code.google.com/p/winforms-geplugin-control-library/ 的GEPlugin开发了一款应用。
我使用GEWebBrowser和GETreeView,两者都很好用。
我只在控件上加载本地kml文件,所以这样做的方法是将“KML_Samples.kml”文件复制到webroot目录中,并按如下方式调用该函数:
GeWebBrowser.FetchKml(http://localhost:8080/KML_Samples.kml)
每次调用此方法时,都会以正确的方式启动事件GeWebBrowser_KmlLoaded。
但是,我最近检查过,这对于加载的两个或三个第一个kml文件工作正常。在这两个或三个文件之后,当我尝试加载一个新的kml文件时,我可以看到KML_Samples.kml文件已经更新,但是GeWebBrowser_KmlLoaded事件没有被启动!
我已经尝试逐步在行
上设置断点来执行应用程序GeWebBrowser.FetchKml(http://localhost:8080/KML_Samples.kml)
在这种情况下,我可以加载kml文件!!。
我尝试在此行之后执行一些代码以执行所有待处理事件,并使用以下行:
Application.DoEvents()
但是,这不是预期的结果,问题仍然存在:我只能加载两个或三个第一个kml文件。
我想知道我的身边是否缺少使用此控件的东西,但我在文档中找不到任何可以帮助我的内容。
如果有人能帮我解决这个问题,我会非常感激。
答案 0 :(得分:0)
我回答我自己的问题。
我检测到GEControl与内置服务器无法正常工作。我可以通过在webroot \ KML_Samples.kml中复制它们来加载本地kml文件,但这仅适用于要加载的前两个或三个文件。 对于以下kml文件,它不起作用。我想在控件中有一些错误,所以我要开发所有将kml文件加载到TreeView中的代码(我将尝试使用KmlTreeView),并将每个kml文件的所有分离点加载到插件。