2015-06-22 32 views
2
tilelive.load({ 
     protocol: 'mapnik:', 
     pathname: './styles/listingStyles2.xml', 
     xml: xml, 
     query:{ 
      tileSize: 256, 
      //scale:0.5, 
      //metatile: 1, 
      autoLoadFonts: false 
     } 
     }, function(err, source) { 
       if (err) { 
        console.log(err); 
        res.sendFile(path.join(__dirname, 'Blank.png')); 
       } else { 
         source.getTile(filterParams.z, filterParams.x, filterParams.y, function(error, tile, headers) { 
         res.set(headers); 
         res.send(tile); 
         //res.sendFile(path.join(__dirname, 'Blank.png')); 
        }); 
       }}); 

此代碼工作正常,但是當我改變tileSize:1024,然後返回空白圖像。瓷磚活Mapnik的返回空白圖像當我設置tileSize:1024

+0

因爲tilesize:1024,它們不存在,並且mapnik沒有返回任何東西。檢查控制檯錯誤,它應該說:找不到文件,而它正在爲1024的大小的瓷磚。通常標準瓷磚大小是256x256這就是爲什麼其他大多數時間不存在 –

回答

0

你得到它,因爲庫中,計算正在上保持256爲基礎製成。找到位置。

var minx = (x * 256) * resolution - ORIGIN_SHIFT; 
var miny = -((y + metaHeight) * 256) * resolution + ORIGIN_SHIFT; 
var maxx = ((x + metaWidth) * 256) * resolution - ORIGIN_SHIFT; 
var maxy = -((y * 256) * resolution - ORIGIN_SHIFT); 

這是從包中Render.Js片斷,嘗試它周圍玩,你可以修改它爲您解析。

還必須注意以下幾點。

var MAX_RES = EARTH_CIRCUMFERENCE/256; 

我希望這會幫助你,直到圖書館更新。