将KMZ文件与OpenLayers一起使用

时间:2014-10-29 15:10:25

标签: openlayers kml kmz

我有一个.kmz文件,想要在地图上显示数据 如果我解压缩文件,并提取.kml文件并使用它,我可以让地图显示数据。 但是,由于.kmz文件托管在其他地方,我需要读取该文件,理想情况下,每次更新时都不必在本地解析它。

我的解析.kml文件的示例是

var phase1 = new OpenLayers.Layer.Vector("phase1", {
    projection: new OpenLayers.Projection("EPSG:4326"),
    strategies: [new OpenLayers.Strategy.Fixed()],
    protocol: new OpenLayers.Protocol.HTTP({
        url: "data.kml",
        format: new OpenLayers.Format.KML({
            extractStyles: true,
            extractAttributes: true
        })
    })
});

以上是否需要更改以读​​取.kmz文件?

我知道Google地图可以直接使用.kmz文件来显示数据,但OpenLayers是否可以直接使用.kmz文件? 或者是否有必要解析.kmz文件以提取.kml以显示?

1 个答案:

答案 0 :(得分:2)

您必须先解压缩文件。

  • 要么在服务器上执行(这是Google地图的功能)。
  • 或者使用JSZip之类的东西在客户端进行。您可能需要为此编写自己的format