OL3: force redraw-Schicht

ich bin derzeit auf der Modernisierung OpenLayers-client-version 2.13.1 mit der neuen version von OpenLayers, OL3. Mein setup besteht aus Mapserver als WMS-mapping-server und die zuvor genannten OpenLayers-client.

Im alten system habe ich die Unterstützung für Benutzer-Interaktion in der Weise, dass, wenn ein Benutzer klicken Sie auf einen Teil der Karte, der mapfile wird erneut generiert, und als ein Ergebnis, dass ich gezwungen neu zu zeichnen, Schicht um einen Teil der Karte eingefärbt. Beispiel der code in der OL2-version:

$.ajax({
  params: ...
  success: function (data) {
    if (data.success) {
      gisLayer.redraw(true);
    }
  }
});

Möchte ich, um die gleiche Funktionalität in OL3, aber es gibt keinen redraw-Funktion. Ich fand zwei Funktionen, die nützlich sind, aber es gibt zusätzliche Dinge zu tun, um die gleiche Funktionalität zu erhalten:
- Ebene.getSource().updateParams(params); und
- Karte.render();

Ich habe auch ein etwas komplizierteres Beispiel, in dem ich get code zu arbeiten, aber die Anforderungen für die erste WMS-Kacheln enthält zusätzliche parameter wie einen Schlüssel zu get-Anforderungen einzigartig. Der Beispiel-code oben:

var params = layer.getSource().getParams();
params.t = getUniqueParam();
layer.getSource().updateParams(params);

Ok, das ist die situation, alles, was ich Fragen will ist, ob es irgendeine Funktion gibt, das kann Kraft-Layer werden neu gezeichnet, ohne zusätzliche parameter in der WMS-Anfragen? AFAIK das "problem" ist, dass die browser-cache-Bilder, und wenn die Anforderung ist die gleiche, das war, bevor, browser zeigt alte Bilder wieder.

Vielen Dank für jede Hilfe.

InformationsquelleAutor user2473933 | 2014-03-30
Schreibe einen Kommentar