2016-08-29 19 views
6

Tôi có mã mẫu trong đó tôi đang cố gắng sử dụng plugin hình ảnh lá với một số bản đồ tờ rơi nhưng tôi gặp phải lỗi sau khi khởi tạo tờ rơi hình ảnh (related issue được cho là được giải quyết trong phiên bản 0.8 tôi đang sử dụng 1.0.0)Lỗi khi khởi tạo plugin hình ảnh lá

leafletImage(map, function(err, canvas) {}); 

Uncaught TypeError: layer._adjustTilePoint is not a function(anonymous function) @ leaflet-image.js:87handleTileLayer @ leaflet-image.js:84pop @ leaflet-image.js:201defer @ leaflet-image.js:232drawTileLayer @ leaflet-image.js:23eachLayer @ leaflet.js:6leafletImage @ leaflet-image.js:17abc @ (index):127onclick @ (index):107

thấy Demo

Tiếp theo ví dụ ở đây trên leaflet-image

Trả lời

3

Bạn hiện không sử dụng phiên bản mới nhất của plugin hình ảnh tờ rơi. Khi tôi nhìn vào đoạn code bạn đã cung cấp tôi có thể thấy điều này:

tiles.forEach(function(tilePoint) { 
    var originalTilePoint = tilePoint.clone(); 

    layer._adjustTilePoint(tilePoint); 

    var tilePos = layer._getTilePos(originalTilePoint) 
     .subtract(bounds.min) 
     .add(origin); 

    if (tilePoint.y >= 0) { 
     var url = addCacheString(layer.getTileUrl(tilePoint)); 
     tileQueue.defer(loadTile, url, tilePos, tileSize); 
    } 
}); 

Nhưng trong phiên bản mới nhất của plugin on GitHub này được khắc phục với:

tiles.forEach(function (tilePoint) { 
    var originalTilePoint = tilePoint.clone(); 

    if (layer._adjustTilePoint) { 
     layer._adjustTilePoint(tilePoint); 
    } 

    var tilePos = layer._getTilePos(originalTilePoint) 
     .subtract(bounds.min) 
     .add(origin); 

    if (tilePoint.y >= 0) { 
     if (isCanvasLayer) { 
      var tile = layer._tiles[tilePoint.x + ':' + tilePoint.y]; 
      tileQueue.defer(canvasTile, tile, tilePos, tileSize); 
     } else { 
      var url = addCacheString(layer.getTileUrl(tilePoint)); 
      tileQueue.defer(loadTile, url, tilePos, tileSize); 
     } 
    } 
}); 

Vì vậy, chỉ bao gồm các phiên bản thích hợp của các plugin và mọi thứ sẽ ổn.

+0

Cảm ơn bạn đã trả lời. Có, nó hoạt động với phiên bản mới nhất của tập lệnh –

Các vấn đề liên quan