Ich habe Code des Caches schreiben und lesen mit offener Schicht 2, jetzt Ich verbessere unsere offene Schicht 3. Bitte helfen SieIst offene Schicht 3 mit OL.Control.CacheWrite wie offene Schicht 2, Und wenn es jetzt nicht verfügbar ist, wenn wir in Open Layer 3 verfügbar
0
A
Antwort
0
OpenLayers 3 verwendet einen anderen Ansatz. Sie können eine benutzerdefinierte tileLoadFunction
für Kachel-Layer konfigurieren: Statt die src
direkt auf Image
zu setzen, können Sie die URL in Ihrem bevorzugten Speicher (LocalStorage, IndexDB, ...) suchen und sie holen, falls verfügbar oder speichern Sie sie wenn Sie möchte.
Etwas wie folgt aus:
new ol.source.TileImage({
tileLoadFunction: function(tile, src) {
// try to fetch from local storage
var dataURI = localStorage.getItem(src);
if (dataURI) {
// use cached version
tile.getImage().src = dataURI;
} else {
// load image data
var client = new XMLHttpRequest();
client.open('GET', src);
client.onload(function() {
var data = 'data:image/png;base64,' +
btoa(unescape(encodeURIComponent(this.responseText));
// use the image data we just loaded
tile.getImage().src = data;
// save image data to the cache for later reuse
localStorage.setItem(src, data);
});
client.send();
}
}
// ...
});
Verwandte Themen
- 1. `curveEaseInOut` ist nicht verfügbar in Swift 3
- 2. So greifen Sie auf lokale Kacheln in Android Phone zu:
- 3. LINQ to SQL in 3-Schicht-Architektur
- 4. Android offene Datenbank, wenn es nicht bereits geöffnet ist
- 5. Wie zeige ich Inhalte, wenn Javascript nicht verfügbar ist, verstecke es, wenn Javascript verfügbar ist und flackere in keinem Fall?
- 6. Linq zu SQL ORM 3-Schicht-Frage
- 7. Wo ist php_memcached.dll jetzt verfügbar?
- 8. subsonic asp.net 3-Schicht-Architektur Objektmodell
- 9. Schicht ist ein Teil des Zyklus in seiner Schicht Baum iOS 9 Swift 2
- 10. InvalidArgumentException ist in der Silverlight 3-Klassenbibliothek nicht verfügbar?
- 11. Warum ist das Compilerpaket in Python 3 nicht mehr verfügbar?
- 12. Umleiten, wenn Sitzung nicht verfügbar ist node.js
- 13. unberechenbares Verhalten mit Schicht gesichert/Schicht NSViews Hosting
- 14. Excel-Arbeitsmappe schließen Wenn Test für offene Rückgabewerte falsch ist
- 15. So zeigen Sie Marker in offene Ebene 3
- 16. Verwendung von Unity in einer 3-Schicht-Anwendung
- 17. Openlayers 3 - Mehrlinien Zoom-in/out Schicht blinkt
- 18. Openlayers 3: "undefined" für Geojson-Eigenschaft in einer Schicht
- 19. Isapi Rewrite Upgrade von 2 auf 3 - Abfragezeichenfolge nicht verfügbar?
- 20. ‚stringByAppendingPathComponent‘ ist nicht verfügbar
- 21. Exit Wenn kein perl pm verfügbar ist
- 22. NSUbiquitousKeyValueStore ist nicht verfügbar - watchOS 2
- 23. Was ist der Unterschied zwischen 3/2 und -3/2?
- 24. Ist Donut-Caching in ASP.NET MVC 3 verfügbar
- 25. Android XML-Schicht-Liste: Wie die oberste Schicht
- 26. Symfony 2 - sylius - Lehre ist nicht verfügbar
- 27. offene Ebenen 3 Wie zeichne ein Polygon programmatisch?
- 28. Wie 3 offene cv IplImages in eins zu verbinden?
- 29. Offline-Cache-Navigation, wenn das Internet nicht verfügbar ist
- 30. Sitzungsvariable ist nicht verfügbar
Eigentlich bauen wir eine Hybrid-App und offline arbeiten Kachel Die Funktionen zum Laden auf Hinzufügen. Wie können wir im Mobilgerät auf lokale Kacheln zugreifen? Wir planen, lokale Kacheln von der SD-Karte zu laden. Open Layer SRc benötigt die Serving-Adresse. –
Sie verwenden 'getItem' und' setItem' in 'localStorage'. Wie Sie auf Kacheln auf SD-Karten zugreifen, ist eine andere Geschichte und hängt von der Plattform und dem Betriebssystem ab. – ahocevar