首页 > 解决方案 > 无法在谷歌地球中呈现 kml 文件

问题描述

当我尝试在 Google 地球中的 kml 文件下方进行渲染时,我得到了带有红色边框和红色 X 的大透明白色框作为输出。谁能告诉我为什么它不能正确渲染。

kml 文件链接: https ://www.wpc.ncep.noaa.gov/kml/winwx/HPC_Day1-3_psnow_gt_08_nlbody.kml

标签: javascriptjavagoogle-mapskmlgoogle-earth

解决方案


如果您尝试在新的网络版 Google 地球 (v9) 中查看此内容,那么您可能会遇到 CORS 问题。

在 Earth Pro (v7) 中查看时,提供评论的链接对我有用,它加载了一个带有图例的屏幕叠加层、落基山脉中的一些小数据多边形,以及一个带有白色文本的巨大地面叠加图像在美国中部。

在网页版 Google 地球上,它给了我您所描述的红色 X。如果您查看 Chrome 开发人员控制台,您会看到该 KML 文件请求的图像来自未在传出文件上设置必要的 CORS(跨源请求)标头的服务器(下面的屏幕截图)。红色 X 正是 Earth 在无法获取或加载图像时显示的内容。不幸的是,网页版地球有额外的安全要求,应用程序请求的所有文件都必须启用 CORS。除非您认识 NOAA 的某个人可以更新服务器以提供必要的 CORS 标头,否则您必须坚持使用 Earth Pro 才能查看此标头。

已加载到网页版 Google 地球的 KML 的屏幕截图,控制台中出现 CORS 错误


推荐阅读