2017-12-13 22 views
0

Nodejs를 사용하여 서버 측에서 맵을 생성 한 다음 해당 맵 이미지를 작성해야합니다. leaflet-headless을 사용하여지도를 만들고 이미지를 생성합니다.리플릿 헤드 세트를 사용할 수없는 경우 리플릿 세트를 변경할 수 없음

return prev.apply(ctx, arguments);

Error: Image given has not completed loading

at Error (native) at CanvasRenderingContext2D.ctx.(anonymous function) [as drawImage]

모든 : 나는 오류 메시지가 나타납니다

const L = require('leaflet-headless'); 
const document = global.document; 
let createMap = (lanLat) => { 
     const element = document.createElement('div'); 
     element.id = 'map-leaflet-image'; 
     document.body.appendChild(element); 

     const filename = path.join(__dirname, '/leaflet-image.png'); 
     const map = L.map(element.id).setView([0, 0], 3); 

     L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { 
      attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors' 
     }).addTo(map); 

     map.saveImage(filename,() => { 
      console.log('done'); 
     }) 
}; 

이 작동하고 이미지를 저장하지만 setView([0,0], 1)setView() 매개 변수를 변경할 때 (축소) :

코드입니다 생각?

답변

0

누군가에게 흥미로울 수 있다면 문제는 전단지 이미지 lib를 사용하는 map.save() 함수에 있습니다.

이것은 특정 좌표가있는 마커가 다른 마커 (?!)가있는지도에 추가 될 때 오류가 발생하는 이상한 특정 시나리오로 인해 발생했습니다. 저 마커를 제거하면 효과가있었습니다.