javascript - 为什么 Google map 服务器需要访问客户端浏览器中添加的 KML 图层?

标签 javascript google-maps google-maps-api-3

我有一些不想公开的个人 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 解析器(例如 geoxml3geoxml-v3 )将 KML 呈现为原生 Google Maps Javascript API v3 对象。复杂的 KML 会存在性能问题。

关于javascript - 为什么 Google map 服务器需要访问客户端浏览器中添加的 KML 图层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33157919/

相关文章:

javascript - 什么是 ES6 中的动态导出

r - 地理编码结果与谷歌地图不同

google-maps-api-3 - Google Maps -> 将标记设置为可拖动,我想稍后通过客户端逻辑阻止它拖动?

javascript - 谷歌地图基于视口(viewport)添加GeoJson

javascript - 将 JSON 文件中的数据加载到 Google map 中的 map 标记中

javascript - 在 fiddle 中完美运行但 JQuery 对网页没有影响

javascript - 对象中的JS函数消失

javascript - 实现递归锁

javascript - 适合添加到 map 的所有点

android - 模拟器控制android被禁用