0

只有当用户选择这样做时,我才尝试显示谷歌地图图层:

$("#add_layer").click(function() {
    var firstLayer = new google.maps.FusionTablesLayer({
        query: {
            select: 'geometry',
            from: '1mzDdm3G8By9pbjBG3XvSUw6fppNVkYPYo0k'
          },
          map: map,
          suppressInfoWindows: true
        });
        google.maps.event.addListener(firstLayer, 'click', function(e) {
          windowControl(e, infoWindow, map);
        });
});

此代码在不包含在 $("#add_layer").click(function() 中,但不包含在 click 函数中时完美运行。是否有某些原因您不能使用 click 函数来执行此操作?

4

1 回答 1

1

我怀疑问题出在地图变量上。要在点击处理程序中使用它,它需要在全局范围内。

假设您在称为 onload 的“初始化函数”中对其进行初始化,请更改:

 function initialize() {
  var map = new google.maps.Map(...);

到:

var map;
function initialize() {
  map = new google.maps.Map(...);
于 2013-01-14T21:25:24.993 回答