Google マップに表示したい動的に生成された KML ファイルがいくつかあります。それは簡単な部分です。以前に数回やったことがありますが、問題ありません。
私が望むのは、KML ファイルがリクエストに対して Google によってのみキャッシュされることです。つまり、私の KML が読み込まれて表示されている Google マップが埋め込まれたページに人がアクセスした場合、そのページの読み込みにその KML ファイルを使用したいと考えています。しかし、ユーザーが (同じ Google マップの URL を持つ) ページを更新した場合、KML ファイルを再取得したいと考えています。
ページ上の Google マップに渡される URL (ほとんどの URL) を制御できないため、単純な「タイムスタンプ引数を追加するだけ」では機能しません。
<Link>
とタグを見ると<networkLink>
、外部リソースの有効期限、キャッシュ、更新などを制御できるようです。ドキュメントを読むと、2 層のアプローチを使用すると、必要なものが得られるように思えます。<refreshMode>onChange<refreshMode>
これをテストした後、Google はリンクされた KML ファイルのコンテンツを実際には更新していません。10 ~ 20 分経っても複数のマップをリロードしても (マップの検索ボックスに同じ URL を指定した場合)。
これらは私が使用している KML ファイルです。
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<NetworkLink>
<Link>
<href>URL</href>
<refreshMode>onChange</refreshMode>
</Link>
</NetworkLink>
</Document>
</kml>
...
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Placemark>
<name>NAME</name>
<visibility>1</visibility>
<Style>
STYLE
</Style>
GEOMETRY
</Placemark>
</Document>
</kml>
... URL、NAME、STYLE、および GEOMETRY が正しい内容に置き換えられています。私が間違っているかもしれないことを誰かが知っていますか? または、私が望むことが可能であれば?