在GE客户端中调试KML

标签 debugging kml google-earth

使用 Google 地球 6.2.2.6613 客户端和 KML 文件,我需要进行调试。

我遇到过 GE 报告我的 KML 文件发出了“无效 HTTP 请求”并且显示有问题的 URL 的情况。

我可以将该 URL 剪切并粘贴到网络浏览器中,它会返回预期的结果。

所以问题是“如何从 GE 客户端获取有用的调试信息?”

例如“无效的 HTTP 请求”?如何 ?什么无效? GE 客户端是否运行/具有调试日志或模式?

我使用的是 Windows 7 Professional 64 位,但将来我需要测试其他版本 (Mac OS X)。

虽然 Web 代理(或我自己的 Globe 服务器)允许我查看 http 流量,但我需要查看 GE 客户端中的请求之间发生了什么。

最佳答案

Google 地球本身不会记录其内部所做的事情,也没有 Debug模式来启用此类日志记录。您可以在“工具/选项/常规”菜单中启用“KML 错误处理”,这可能会提供有关无效 KML 的更多信息,但验证 KML 最好使用 KML Validator 之类的内容来完成。 .

因此,调试 Google 地球 HTTP 访问的最简单方法是使用网络分析器(例如 Fiddler Web 调试器)来识别网络流量。

Fiddler 作为 HTTP 代理运行,并捕获所有 Web 访问,显示完整的 HTTP 请求和响应信息。只需点击“捕获流量”,然后启动 Google 地球即可捕获所有 HTTP 流量。

您可以捕获对 kh.google.com、mw1.google.com、khmdb.google.com、mw2.google.com 的点击的 HTTP session ,以及完整的 URL 、请求和响应的 HTTP header 等。多 View 、过滤、解码、计时信息等有很多选项。您将看到所选图层正在下载为 KMZ 文件。

Sample Web session

Result Port  Host            URL
200    HTTP  kh.google.com   /geauth?ct=free
200    HTTP      Tunnel to www.google.com:443
200    HTTP      Tunnel to accounts.google.com:443 
200    HTTP  kh.google.com   /flatfile?q2-0-q.534
200    HTTP  mw1.google.com  /mw-earth-vectordb/photos/360cities/360cities.kmz
200    HTTP  mw1.google.com  /mw-weather/base/files/kml/weather_en.kmz
...

调试后,您可以停止 Fiddler,它将 HTTP 代理设置恢复正​​常。

我使用这个工具来快速查看 Google 地球在幕后所做的事情。它易于使用且非常友好。

http://www.fiddler2.com/fiddler2/

关于在GE客户端中调试KML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11794835/

相关文章:

android - Android 版 Google 地球

c++ - 多次迭代后的 BadPtr

c++ - Visual C++ 2008 'Release' build 包含调试信息

debugging - 使用 dotnet cli watch 选项进行 Visual Studio 代码调试

swift - 尝试更改正在渲染的 KML 的透明度和填充颜色

html - 如何将 Google Earth KML 文件添加到 html iframe?

javascript - 如何计算Google Earth Engine中分类图像(Landsat)中每个类别的像素总和?

c# - 为什么 ASP.NET/Visual Studio Web 开发服务器这么慢?

python - 如何从kml文件中获取所有坐标?

java - 无法使用 java.util.zip 创建 KMZ 文件