1

ESRI マップと KML レイヤーを読み込んでいます。

問題 : KML データが変更された後 (頻繁に変更されます)、マップに新しい変更を表示できません。毎回強制的にブラウザキャッシュをクリアする必要があり、レイヤーを更新しようとしましたがうまくいきませんでした。

私のコード

// Create a new KmlLayer object. 
  ESRI.ArcGIS.Client.Toolkit.DataSources.KmlLayer theKmlLayer = new ESRI.ArcGIS.Client.Toolkit.DataSources.KmlLayer();

  // Set the KmlLayer's ID.
  theKmlLayer.ID = "SampleData";

  // Set the Url of the KmlLayer. Note the Url takes a Uri object!
  theKmlLayer.Url = new Uri("localhost/KML/east.kml");//Here is the New KML Data

  // Need to use a ProxyUrl on the KmlLayer since the service is not hosted locally or on a local network.
  theKmlLayer.ProxyUrl = "http://serverapps.esri.com/SilverlightDemos/ProxyPage/proxy.ashx";

  // Add the KmlLayer to the Map. An automaic refresh of the Map and Legend Controls will occur.
  Map1.Layers.Add(theKmlLayer);

KmlLayer.Refresh();を試しました。

コードを使用してブラウザのキャッシュをクリアする必要がありますか?それとも新しいデータをロードすることは可能ですか?

4

1 に答える 1

1

KMLキャッシング(およびGoogleがサーバーに数時間データをキャッシュする)の通常の解決策は、URLでランダムまたは時間ベースのキャッシュバスティングパラメーターを使用することです(したがって、同じになることはありません)。

キャッシュ無効化パラメータの一例:

'?dummy=' + (new Date()).getTime()); 
于 2012-10-10T13:28:17.763 に答える