<p>Which version of OpenLayers are you using? Both issues you describe here should be fixed in master.</p>
<p>Andreas.</p>
<div class="gmail_quote">On Mar 20, 2013 1:24 AM, "Chris Berkhout" <<a href="mailto:chrisberkhout@gmail.com">chrisberkhout@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi All,<br>
<br>
I've been trying to get offline (localStorage) tile caching to work<br>
like the example<br>
    <a href="http://openlayers.org/dev/examples/offline-storage.html" target="_blank">http://openlayers.org/dev/examples/offline-storage.html</a><br>
and I've run into a couple of problems.<br>
<br>
I'm restricting myself to a single layer, same origin via proxy and I<br>
always set read from cache first (fall back to network).<br>
<br>
The first problem is that after populating the cache and going<br>
offline, failed tile fetches continue to populate the cache. These<br>
appear as black squares in the example (non-cached failures are pink).<br>
Manually turning off "Write to cache" in the example resolves this.<br>
I've been able to avoid this by patching OpenLayers.Control.CacheWrite<br>
to not write failed tiles to the cache, by checking the condition:<br>
    !evt.tile.imgDiv.classList.contains("olImageLoadError")<br>
I guess there's probably a better way to do that.<br>
<br>
The other problem I found is that after populating the cache and going<br>
offline, then panning away to non-cached areas and back to the cached<br>
area, things around the edges of the cached areas are disappearing.<br>
This was more obvious when working with my own layer (at detailed<br>
zoom), but could also be replicated using the openlayers example. The<br>
problem seems to be variation (rounding errors?) in the bbox<br>
parameters of the WMS tile request.<br>
<br>
For example, this URL was a cache miss:<br>
<a href="http://m1.pozi.com/geoserver/gwc/service/wms?LAYERS=VicmapClassic&FORMAT=image%2Fpng8&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A900913&BBOX=16133716.431963,-4554423.89271,16136162.416867,-4551977.9078052&WIDTH=256&HEIGHT=256" target="_blank">http://m1.pozi.com/geoserver/gwc/service/wms?LAYERS=VicmapClassic&FORMAT=image%2Fpng8&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A900913&BBOX=16133716.431963,-4554423.89271,16136162.416867,-4551977.9078052&WIDTH=256&HEIGHT=256</a><br>

<br>
Even though the tile it refers to was cached with a URL of:<br>
<a href="http://m1.pozi.com/geoserver/gwc/service/wms?LAYERS=VicmapClassic&FORMAT=image%2Fpng8&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A900913&BBOX=16133716.431963,-4554423.89271,16136162.416868,-4551977.9078052&WIDTH=256&HEIGHT=256" target="_blank">http://m1.pozi.com/geoserver/gwc/service/wms?LAYERS=VicmapClassic&FORMAT=image%2Fpng8&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A900913&BBOX=16133716.431963,-4554423.89271,16136162.416868,-4551977.9078052&WIDTH=256&HEIGHT=256</a><br>

<br>
That's a maxx (3rd bbox value) with last digit 7 instead 8.<br>
<br>
I could avoid this by patching the cache read/write code to use an<br>
optional URL normalization function, which the user could set to trim<br>
off the last digits of the bbox parameters.<br>
<br>
So, I think I've straightened out what's going on, but the only<br>
solutions I can see involve various hacks in the openlayers code.<br>
<br>
Has anyone else run into these issues or got some advice?<br>
<br>
Cheers,<br>
Chris<br>
_______________________________________________<br>
Dev mailing list<br>
<a href="mailto:Dev@lists.osgeo.org">Dev@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/openlayers-dev" target="_blank">http://lists.osgeo.org/mailman/listinfo/openlayers-dev</a><br>
</blockquote></div>