Google Map Canvas上的灰色区域,显示错误“Uncaught TypeError:无法设置未定义的属性'位置'

时间:2015-04-25 20:50:15

标签: javascript jquery google-maps

使用谷歌地图时遇到了一个非常奇怪的问题; 当我初始化地图时,我在地图画布中得到一个灰色区域并出现错误消息

  

未捕获的TypeError:无法设置未定义的属性“位置”

这是我的代码

$(window).on("load", function () {

    var c = 'jumbo-map';

    function respondCanvas(canvas) {
        $(canvas).attr('width', $(canvas).parent().width());
        $(canvas).attr('height', $(canvas).parent().prev().height());
        initialize_map(canvas);
    }

    function initialize_map(canvas) {
        var map = new google.maps.Map(canvas, {
            center: new google.maps.LatLng(2.778304, 32.301328),
            streetViewControl: false,
            mapTypeControl: true,
            panControl: true,
            zoomControl: true,
            zoom: 17
        });
    }

    respondCanvas(document.getElementById(c));

});

我已经看过这些没有任何运气了:

任何帮助都会被提前感谢

1 个答案:

答案 0 :(得分:2)

问题(问题中的JavaScript代码不明显,但可以在fiddle中看到)是您使用<canvas>元素作为地图。

请勿在您可能查看过的任何Maps API示例代码中使用单词canvas而误导。某些Maps API示例使用canvas作为元素ID和/或变量名称。在这些例子中,这是一个非常差的单词选择!它只是一个任意名称,并不意味着元素本身应该使用<canvas>标记。

将HTML代码中的<canvas>标记更改为<div>即可。