Feel free to open a ticket and create a patch with tests. -- Chris
On Mar 16, 2011, at 7:34 AM, ext Martin Saturka wrote: > Hi, > could we have a class for MapQuest Open based maps, please? We use > them, having the class below, just that may be it could be at the OL > themselves. > > OpenLayers.Layer.MapQuest = OpenLayers.Class(OpenLayers.Layer.OSMMod, { > name: "MapQuest", > attribution: "Data CC-By-SA by <a href='http://openstreetmap.org/' > target='_blank'>OpenStreetMap</a>. Rendered by <a > href='http://open.mapquest.co.uk/' target='_blank'>MapQuest</a>.", > sphericalMercator: true, > url: [ > 'http://otile1.mqcdn.com/tiles/1.0.0/osm/${z}/${x}/${y}.png', > 'http://otile2.mqcdn.com/tiles/1.0.0/osm/${z}/${x}/${y}.png', > 'http://otile3.mqcdn.com/tiles/1.0.0/osm/${z}/${x}/${y}.png', > 'http://otile4.mqcdn.com/tiles/1.0.0/osm/${z}/${x}/${y}.png' > ], > CLASS_NAME: "OpenLayers.Layer.MapQuest" > }); > > It can have a missed tile when an image is rendered too long by them > (OL tries to load that immediately after a fail event, without > possibility to wait for a while). We handle it with server > randomization then (it looks it helps), and going back to an OSM tile > when a problem. This way we can use the OSM tiles without making a > load on the OSM servers. > > OpenLayers.Util.originalOnImageLoadError = OpenLayers.Util.onImageLoadError; > OpenLayers.Util.onImageLoadError = function() { > if (this.src.match(/^http:\/\/otile[1-4]\.mqcdn\.com\//)) { > if (!this._attempts) {this._attempts = 0;} > var mq_start = "http://otile" + Math.floor(1 + (4 * > Math.random())) + ".mqcdn.com/tiles/1.0.0/osm/"; > if ((2 + this._attempts) > OpenLayers.IMAGE_RELOAD_ATTEMPTS) > { > var osm_start = "http://tile.openstreetmap.org/"; > this.src = osm_start + this.src.substr(mq_start.length); > } > else > { > this.src = mq_start + this.src.substr(mq_start.length); > } > } > OpenLayers.Util.originalOnImageLoadError(); > }; > > M. > > -- > Martin Saturka > Software Engineer, Sourcefabric > www.sourcefabric.org > _______________________________________________ > Dev mailing list > d...@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/openlayers-dev _______________________________________________ Dev mailing list d...@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/openlayers-dev