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