2017-12-19 33 views
0

html2canvasを使用してGoogleマップ画像をキャプチャしたかったのですが、画像をキャプチャするときに問題が発生しました。誰かが私にこれを手伝ってもらえますか?下に参照画像もあります。これでコードを付けています。html2canvasで画像をキャプチャした後にGoogleマップを読み込めません

function getScreenShot() { 

     html2canvas(document.querySelector("#map")).then(canvas => { 

     var img = canvas.toDataURL(); 
     window.open(img); 
     height=height, 
     width=width 

    }); 
} 

Before capturing image.

After capturing image.

答えて

0

なぜあなたは、Googleマップのstaticmap概念を使用していませんか? staticmapを使用すると、簡単にイメージを作成できます。あなたは同じもののために以下の機能を見ることができます。

function getScreenShot() { 
    //google static map url 
    var staticM_URL = "https://maps.googleapis.com/maps/api/staticmap"; 

    //Set the Google Map Center. 
    staticM_URL += "?center=" + mapOptions.center.lat() + "," + mapOptions.center.lng(); 

    staticM_URL += "&size=520x650"; //Set the Google Map Size. 

    staticM_URL += "&zoom=" + mapOptions.zoom; //Set the Google Map Zoom. 

    staticM_URL += "&maptype=" + mapOptions.mapTypeId;//Set the Google Map Type. 

    //Loop and add Markers. 
    for (var i = 0; i < markers.length; i++) { 
     staticM_URL += "&markers=color:red|" + markers[i].lat + "," + markers[i].lng; 
    } 

    window.open(staticM_URL); 
} 

いくつか参考になるURLがあります。 https://staticmapmaker.com/google/ https://www.aspsnippets.com/Articles/Take-Screenshot-Snapshot-of-Google-Maps-using-JavaScript.aspx

+0

私はGoogleの静的なマップを使用しているが、事は、私はあなたがそのためので、私はいくつかのJavaScriptコードを使用している地図画像上に見ることができるだけでなく、いくつかの飛行経路とアイコンを使用する必要があります。だから、この場合、私はその特定のイメージのスクリーンショットが欲しかったですが、あなたが見ることができるように、私はそれを私が望むようには得ていません。 –

+0

jsfiddleでコード全体を提供してください。 – dipmala

+0

オプションで** useCORS:true **を渡すことができますか?これで私の問題は解決しましたか? – dipmala

関連する問題