Add adaptive zoomout levels for HDMaps, change zoomout processing to handle it properly

This commit is contained in:
Mike Primm 2011-07-09 17:01:40 -05:00
parent 898f4a6740
commit 02329673b2
6 changed files with 67 additions and 21 deletions

View file

@ -19,7 +19,7 @@ HDMapType.prototype = $.extend(new DynMapType(), {
projection: new HDProjection(),
tileSize: new google.maps.Size(128.0, 128.0),
minZoom: 0,
maxZoom: 3,
maxZoom: 2,
prefix: null,
getTile: function(coord, zoom, doc) {
var tileSize = 128;
@ -27,13 +27,14 @@ HDMapType.prototype = $.extend(new DynMapType(), {
var tileName;
var dnprefix = '';
if(this.dynmap.map.mapTypes[this.dynmap.map.mapTypeId].nightandday && this.dynmap.serverday)
var map = this.dynmap.map.mapTypes[this.dynmap.map.mapTypeId];
if(map.nightandday && this.dynmap.serverday)
dnprefix = '_day';
var extrazoom = this.dynmap.world.extrazoomout;
var extrazoom = map.mapzoomout;
if(zoom < extrazoom) {
var scale = 1 << (extrazoom-zoom);
var zprefix = "zzzzzzzzzzzz".substring(0, extrazoom-zoom);
var zprefix = "zzzzzzzzzzzzzzzzzzzzzz".substring(0, extrazoom-zoom);
tileName = this.prefix + dnprefix + '/' + ((scale*coord.x) >> 5) + '_' + ((-scale*coord.y) >> 5) +
'/' + zprefix + "_" + (scale*coord.x) + '_' + (-scale*coord.y) + '.png';
imgSize = 128;
@ -66,9 +67,9 @@ HDMapType.prototype = $.extend(new DynMapType(), {
},
updateTileSize: function(zoom) {
var size;
var extrazoom = this.dynmap.world.extrazoomout;
var extrazoom = this.mapzoomout;
this.projection.extrazoom = extrazoom;
this.maxZoom = 3 + extrazoom;
this.maxZoom = 2 + extrazoom;
if (zoom <= extrazoom) {
size = 128;
}