[OpenLayers-Users] Is there a "LikeBing" layer out there?
Mike Purvis
mike at uwmike.com
Tue Jul 13 11:11:14 EDT 2010
The quadtree structure is a little wacky, but it's nice for being able to
selectively purge your cache based on regular expressions.
Anyhow, here's the working class. Bit of a hack, but it does the trick:
var VELayer = OpenLayers.Class(OpenLayers.Layer.XYZ, {
name: "VirtualEarth",
attribution: "Microsoft",
sphericalMercator: true,
url: '/tiles/a${n}.jpeg',
CLASS_NAME: "VELayer",
getURL: function (bounds) {
var res = this.map.getResolution();
var x = Math.round((bounds.left - this.maxExtent.left) / (res *
this.tileSize.w));
var y = Math.round((this.maxExtent.top - bounds.top) / (res *
this.tileSize.h));
var z = this.map.getZoom();
x = x.toString(2);
y = y.toString(2);
while(x.length < z) { x = "0" + x; }
while(y.length < z) { y = "0" + y; }
var n = [];
for(var i = 0; i < z; i++) {
n.push((parseInt(x[i]) + parseInt(y[i]) * 2).toString());
}
var url = this.url;
var path = OpenLayers.String.format(url, {'n': n.join('') });
return path;
}
});
On Tue, Jul 13, 2010 at 10:57 AM, Stephen Woodbridge <
woodbri at swoodbridge.com> wrote:
> Right! that is not the intent here. I have clients that are moving away
> from Bing but have apps that are built around this tile name scheme. They
> would like to create a cache using mapserver of tiles like this for their
> other apps. being about to browse the cache in OL makes it much easier to
> develop, review and build web apps all using the same cache.
>
> The big issue I see with this is determining an appropriate directory
> structure that maximizes tile storage in dirs so you don't have excessive
> directory overhead and that you do not have too many files in a directory or
> run out of inodes.
>
> -Steve
>
>
> Andreas Hocevar wrote:
>
>> Mind that using Bing tiles directly is a violation of the Bing Maps terms
>> of use.
>>
>> Regards,
>> Andreas.
>>
>> On Jul 13, 2010, at 15:33 , Mike Purvis wrote:
>>
>> Hey,
>>>
>>> If I want to serve the Bing tiles directly, without using the
>>> VirtualEarth wrapper layer, has that already been coded up by anyone? I know
>>> it's just a matter of extending Openlayers.Layer.XYZ and plugging in the
>>> correct geturl function. It's just that Bing's tile urls are based on some
>>> quadtree nonsense that makes it slightly more of a pain that just dropping
>>> in the coordinates.
>>>
>>> Nevermind about whether it's a good idea or not—has it already been done,
>>> or should I just do it myself?
>>>
>>> Thanks!
>>>
>>> Mike
>>> _______________________________________________
>>> Users mailing list
>>> Users at openlayers.org
>>> http://openlayers.org/mailman/listinfo/users
>>>
>>
>>
>>
>>
>
--
http://uwmike.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-users/attachments/20100713/f05893b1/attachment.html
More information about the Users
mailing list