0
を使用して、Googleマップのマーカーを構築I有し、パラメータとして画像を取得し、次のfonction:例えば符号64を画像
function getIcon(img){
var canvas = document.createElement("canvas");
canvas.width = img.width;
canvas.height = img.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0);
var dataURL = canvas.toDataURL("image/png");
return dataURL;
}
:
icon = getIcon(document.getElementById("car_marker"));
有する:
<img id="car_marker" src="img/car.png"/>
作成されたアイコンは、Googleマップのマーカーとして使用されます:
var marker = new google.maps.Marker({ position: latLng,
map: map,
title: description,
id: id,
icon: icon
});
この部分はうまくいきましたが、別のイメージをパラメータとして取り込み、両方のイメージをマージするように、getIconメソッドを変更する必要があります。私は追加する必要があり、新たなイメージがベース64エンコーディングであるとして、以下が期待どおりに動作しません:
function getIcon(img1, img2){
var canvas = document.createElement("canvas");
canvas.width = img1.width;
canvas.height = img1.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(img1, 0, 0);
ctx.drawImage(img2, 0, 0); // add the base 64 encoded image here... does not work
var dataURL = canvas.toDataURL("image/png");
return dataURL;
}
私はで終わる:
Could not convert JavaScript argument arg 0 [nsIDOMCanvasRenderingContext2D.drawImage]