0

如果这是一个菜鸟问题,请提前抱歉。

所有 kml 文件都以大致相同的两行开头:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">

在第二行中,引用了一个包含 kml 架构的 Web 地址。

  1. 我是否理解每次读取 kml 文件时都会联系这个?
  2. 其次,是否有可能(以及如何)不必联系这个(和其他)地址?
4

1 回答 1

3

KML 文件中的xmlns引用仅定义 XML 命名空间,该命名空间恰好与定义该命名空间的 XML 模式相关联。

Google 地球或 Google 地图不会在每次访问 KML 文件时下载 KML 架构。事实上,它永远不会下载 XML 模式。命名空间只是告诉 GE 如何处理文件。

碰巧 KML 的命名空间 URI 是一个重定向到适当 XML 模式的 URL。

事实上,KML 的完整架构参考如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.opengis.net/kml/2.2
     http://schemas.opengis.net/kml/2.2.0/ogckml22.xsd">
...
</kml>

XML 命名空间的描述可以在这里找到: http: //www.w3.org/TR/REC-xml-names/#sec-namespaces

在相关说明中,可用于 KML 地标的标准图标(例如http://maps.google.com/mapfiles/kml/shapes/airports.png)同样不会被 Google 地球客户端下载。这些图像是已安装的 Google 地球应用程序的一部分,Google 地球通过该应用程序将 URL 映射到本地图像文件。

于 2012-11-16T19:45:15.937 回答