Javascript html5 don'的客户标记;不要定位过位

Javascript html5 don'的客户标记;不要定位过位,javascript,html,google-maps-api-3,html5-canvas,Javascript,Html,Google Maps Api 3,Html5 Canvas,我正在使用HTML5上的canvas旋转的静态图像,但是当我得到结果时,由于图像的形式,它不在正确的位置。有点高 我需要一种方法来解决这个问题,以便让我的车在街上正确定位。我怎么能做到 原始图像 重新绘制的图像是 旋转图像后的样例贴图 使用的代码 function callbackIconMarkerSuccess (index, urlIconMarker) { markers[index].setIcon(urlIconMarker); } function setIconMa

我正在使用HTML5上的canvas旋转的静态图像,但是当我得到结果时,由于图像的形式,它不在正确的位置。有点高

我需要一种方法来解决这个问题,以便让我的车在街上正确定位。我怎么能做到

原始图像

重新绘制的图像是

旋转图像后的样例贴图

使用的代码

function callbackIconMarkerSuccess (index, urlIconMarker) {
    markers[index].setIcon(urlIconMarker);
}
function setIconMarker(index, course, speed){
    course = parseFloat (course) * 0.01745327777;
    if (parseInt(speed) > 5) {
        imageIcon = '{% static "markers/icon_max.png" %}';
    } else {
        imageIcon = '{% static "markers/onstop.png" %}';
    }
    var elemento = document.createElement("canvas");
    if(elemento && elemento.getContext){
        var context = elemento.getContext('2d');
        if(context){
            var imageObj = new Image();
            imageObj.src = imageIcon;
            imageObj.onload = function(){
                elemento.width = imageObj.width;
                elemento.height = imageObj.height;
                context.save();
                context.translate(imageObj.width/2, imageObj.height/2);
                context.rotate(course);
                context.drawImage(imageObj, -(imageObj.width/2), -(imageObj.height/2));
                //context.globalCompositeOperation = "lighter";
                //context.globalAlpha = 0.5;
                //context.fillStyle="#550000";
                context.fillRect(imageObj.width/2, imageObj.height/2, elemento.width,elemento.height);
                context.restore();
                callbackIconMarkerSuccess(index, elemento.toDataURL());
            }
        }
    }

您的代码没有显示标记的实际创建,但假设您使用的是一个标记,您可能希望查看该属性:

与地图上标记的位置相对应的图像锚定位置。默认情况下,定位点位于图像底部的中心点


正如您在代码的第一行所看到的,图标图像是用setIcon方法设置的,是的,我正在查看锚定图像的方式。感谢我的疏忽,但不管怎样,我很高兴我的回答有帮助。