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

Gui*_*nge 1 html javascript jquery google-maps-api-3

目标

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

问题

未捕获的TypeError:无法设置undefined的属性"position"

场景

当我在#map_canvas所有内容中加载地图时,如果我将元素包装器更改为.map_canvas,我的应用程序将会崩溃.

我做了两个例子:

  1. 随着#map_canvas:上播放的jsfiddle
  2. 随着.map_canvas:在jsFiddle上玩

在这两种情况下,请注意JavaScript代码的第36行.

提示:我已经尝试过使用jQuery选择器代替getElementsByClassName(),但问题仍然存在.

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

tym*_*eJV 5

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

var mapDiv = document.getElementsByClassName("map_canvas")[0];
Run Code Online (Sandbox Code Playgroud)

课堂演示:http://jsfiddle.net/tymeJV/fqCTV/1/

  • @developerCK - 我有点困惑,有点精心制作? (2认同)
  • @developerCK这不是我的问题的提议.我认为你应该怀疑地提出一个新问题. (2认同)