使用谷歌地图时遇到了一个非常奇怪的问题; 当我初始化地图时,我在地图画布中得到一个灰色区域并出现错误消息
未捕获的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));
});
我已经看过这些没有任何运气了:
任何帮助都会被提前感谢
答案 0 :(得分:2)
问题(问题中的JavaScript代码不明显,但可以在fiddle中看到)是您使用<canvas>
元素作为地图。
请勿在您可能查看过的任何Maps API示例代码中使用单词canvas
而误导。某些Maps API示例使用canvas
作为元素ID和/或变量名称。在这些例子中,这是一个非常差的单词选择!它只是一个任意名称,并不意味着元素本身应该使用<canvas>
标记。
将HTML代码中的<canvas>
标记更改为<div>
即可。