我有一些不想公开的个人 kml 文件。我编写了一个网页,按照描述在 Google map 上显示它们 here 。只要我保持页面公开,这种方法就有效,但是如果我限制访问(例如通过 IP 地址),则创建和添加层就会失败,并且我可以在来自 Google IP 地址的网络日志中看到 403。我本以为所有工作都是在客户端浏览器中完成的,为什么Google服务器需要访问kml文件?如果我确实通过 IP 地址限制访问,那么我可以允许 Google 的 IP 地址,但如果我选择其他方式来限制访问,是否可以解决 Google 服务器访问文件的需要?
最佳答案
Google Maps Javascript API v3 KmlLayer将 KML 渲染到 Google 服务器上的图 block 上,而不是客户端(仅渲染服务器提供的图 block )。
如果您不希望将 KML 发送到 Google 的服务器,您可以使用第三方 KML 解析器(例如 geoxml3 或 geoxml-v3 )将 KML 呈现为原生 Google Maps Javascript API v3 对象。复杂的 KML 会存在性能问题。
关于javascript - 为什么 Google map 服务器需要访问客户端浏览器中添加的 KML 图层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33157919/