将地图加载到类而不是id中

时间:2013-08-30 13:05:08

标签: javascript jquery html google-maps-api-3

目标

显示.map_canvas而不是#map_canvas中加载的地图。

问题

  

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

场景

当我在#map_canvas内加载地图时,一切顺利,但如果我将元素包装器更改为.map_canvas,我的应用程序就会崩溃。

我做了两个例子:

  1. 使用#map_canvasPlay on jsFiddle
  2. 使用.map_canvasPlay on jsFiddle
  3. 在两种情况下,请注意第36行的JavaScript代码。

      

    提示:我已经尝试使用jQuery选择器而不是getElementsByClassName(),但问题仍然存在。

    有人可以给我一个想法吗?

1 个答案:

答案 0 :(得分:5)

那是因为getElementsByClassName返回一个数组,请指定0索引:

var mapDiv = document.getElementsByClassName("map_canvas")[0];

使用课程进行演示:http://jsfiddle.net/tymeJV/fqCTV/1/