2014-09-24 2 views
0

마커를 캔버스 대신 div 또는 이미지로 렌더링 할 수 있습니까? html2canvas의 도움으로 png로 Google지도의 현재 뷰포트를 내보내려고하지만 마커를 렌더링 할 수 없습니다. div 대신 Google지도 아이콘을 캔버스 대신

내가이

document.getElementsByTagName('canvas')[0].toDataURL(); 

을 시도하고 난

SecurityError: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported. 

PS 다음과 같은 오류가 발생했습니다 : 내가 html2canvas에서 useCORS 옵션, 이미지를 렌더링에 아무 문제를 사용합니다.

답변

1

Google지도에서 사용되는 캔버스는 스크립트에 의해 렌더링되므로 사용자 스크립트에있는 "useCORS"옵션은 적합하지 않습니다. Google Maps가 캔버스를 오염 시키면 그 일에 대해 실현 가능성이별로 없습니다.

당신이하려고하는 것과 유사한 것을 얻는 한 가지 방법은 CORS를 지원하는 Maps Images APIs을 사용하여 실시간 인터페이스를 렌더링하는 대신지도의 정적 이미지를 렌더링하는 것입니다 (이미지에 제한이 있습니다. 크기 그래도).

+0

답장을 보내 주셔서 감사합니다. 정적지도에 대해 알고 있지만 마커, 경로 등의 현재 콘텐츠를 현재 뷰포트에서 내보낼 수 있습니까? 지도가 동적이됩니다. 즉, 사용자가 자신의 마커 등을 추가 할 수 있습니다. –

+0

지도에 편집기가있는 경우 사용자가 추가 한 자료를 추출 할 수있는 방법이 있습니까? 정적 인지도 URL에 모든 것을 채우는 것이 흥미로울 수 있습니다. –

관련 문제