Figured terlihat cukup sulit bagi saya untuk menemukan informasi tentang ini saya akan menambahkan ini:
1)
Buat Lapisan KML:
//Define your KML layer
var MyKmlLayer= new OpenLayers.Layer.Vector("This Is My KML Layer", {
//Set your projection and strategies//
projection: new OpenLayers.Projection("EPSG:4326"),
strategies: [new OpenLayers.Strategy.Fixed()],
//set the protocol with a url//
protocol: new OpenLayers.Protocol.HTTP({
//set the url to your variable//
url: mykmlurl,
//format this layer as KML//
format: new OpenLayers.Format.KML({
//maxDepth is how deep it will follow network links//
maxDepth: 1,
//extract styles from the KML Layer//
extractStyles: true,
//extract attributes from the KML Layer//
extractAttributes: true
})
})
});
2)
Setel URL untuk Lapisan KML:
//note that I have host equal to location// //Math.Random will stop caching//
var mykmlurl= 'http://' + host + '/KML?key=' + Math.random();
3)
Setel interval untuk menyegarkan lapisan Anda:
//function called// //timer// //layer to refresh//
window.setInterval(UpdateKmlLayer, 5000, MyKmlLayer);
4)
Fungsi untuk memperbarui lapisan:
function UpdateKmlLayer(layer) {
//setting loaded to false unloads the layer//
layer.loaded = false;
//setting visibility to true forces a reload of the layer//
layer.setVisibility(true);
//the refresh will force it to get the new KML data//
layer.refresh({ force: true, params: { 'key': Math.random()} });
//- <3 from Thqr -//
}
Berharap ini membuat beberapa orang lebih mudah di luar sana. Semoga berhasil.
Saya telah membohongi dengan ini tetapi tidak berhasil. Adakah yang keberatan melihat kode saya dan mengatakan apa yang saya lakukan salah? Terima kasih!
Maaf, saya harus memperbaiki kode Anda yang tidak sempurna. Harus jalankan kali ini.
sumber
Anda mungkin ingin melihat strategi Refresh. http://dev.openlayers.org/releases/OpenLayers-2.11/doc/apidocs/files/OpenLayers/Strategy/Refresh-js.html
sumber
belum diuji tetapi sesuatu seperti ini?
sumber