我如何在仅包含地标文件夹的KML / KMZ文件中使用NetworkLink refreshMode?

问题描述 投票:0回答:1

我将一堆地标整理到文件夹中,然后压缩成KMZ文件。我使用Google Maps JavaScript API将KMZ文件显示为地图叠加层,但是该叠加层大约每周消失一次。我相信这是由于缓存过期。我已经阅读了一些有关NetworkLink和refreshMode(https://developers.google.com/kml/documentation/kmlreference#Link)的内容,但是我对如何针对我的具体情况实现这一点感到困惑。

当我解压缩KMZ文件时,其中唯一的文件是doc.kml,看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<Document>
    <name>My Document</name>
<StyleMap> A BUNCH OF STYLES, not sure why all of these exist </StyleMap>
<Folder>
        <name>My Folder</name>
        <open>1</open>
        <Folder>
            <name>My Subfolder</name>
            <Placemark>
                <description><![CDATA[<br><br><br>
    <table border="1" padding="0">
      <tr><td>cableid</td><td>1</td></tr>
      <tr><td>spanid</td><td>1076</td></tr>]]></description>
                <styleUrl>#m_ylw-pushpin</styleUrl>
                <LineString>
                    <extrude>1</extrude>
                    <tessellate>1</tessellate>
                    <coordinates>
                        -79.86184,40.349647,0 -79.861864,40.350147,0 -79.860741,40.350056,0 
                    </coordinates>
                </LineString>
            </Placemark>
            <Placemark>
               ... etc
            </Placemark>
    </Folder>
</Folder>
</Document>
</kml>

它包含多个文档和嵌套文件夹。不确定是否重要。

我需要自行将doc.kml上传到服务器,然后使用引用doc.kml的NetworkLink创建单独的KML文件吗?我不会失去KMZ压缩的好处吗?还有其他想法吗?

google-maps google-maps-api-3 kml kmz
1个回答
0
投票

如果您开始创建自己的KML并将其显示在Google Maps JavaScript APi中,则可以参考此documentation。>>

该文档还指出,将KML加载到KMLLayer的所有应用程序都必须在互联网上公开托管KML文件,以便Google的服务器可以查找和检索内容以将其显示在地图上。仅当KML文件托管在不需要身份验证即可访问的可公开访问的URL上时,才可以显示它们。

如果需要访问私有文件,对缓存进行细粒度控制或将浏览器视口作为查询参数发送到地理空间数据服务器,建议使用data layers而不是KmlLayer。这将指导您用户的浏览器直接从您的Web服务器请求资源。

您还可以参考Google Maps Platform的documentation,其中讨论了性能和缓存注意事项

推荐的技巧以获得最佳性能。
© www.soinside.com 2019 - 2024. All rights reserved.