FusionTablesLayer 不适用于 google 地图版本 3.22/3.23

FusionTablesLayer not working with google maps version 3.22/3.23

在使用 3.23 (exp) 或 3.22 (stable) 的 google 地图时,我们的融合 table 实现存在问题。使用这些版本,当我们尝试创建层时,我们会得到 Uncaught TypeError: Cannot read 属性 'stack' of undefined。我们代码中的以下行不适用于 3.23 或 3.22:

layer = new google.maps.FusionTablesLayer({
            query: {
                select: 'Full address',
                from: selectedFusionTableId,
                where: sql
            },
            options: { suppressInfoWindows: true },
            styleId: 1,
            templateId: selectedFusionTableInfoWindowTemplateId
        });

实施已使用 google 地图版本 3.21(当前冻结版本)一年,所以我想知道我们这边是否可以做些什么,或者 google 地图版本 3.22 和 3.23?

由于 google 地图正在使用版本翻转,我们的实施将在下次 google 更新 google 地图版本时停止工作。

申请可以在这里找到: http://studera.nu/studera-utomlands/utbytesprogram/erasmus/

/马格努斯

我无法使用 "Tools > Publish" 并更改地图 API 版本从简单的嵌入式地图重现该问题。我怀疑您的应用程序发生了一些与该代码不同的事情;您可以使用生成的 Fusion Tables 重现发布 HTML?

顺便说一句,上面的代码可以工作,但是使用样式和模板 ID 的选项会更清晰,例如,

options: {
 suppressInfoWindows: true,
 styleId: 1,
 templateId: selectedFusionTableInfoWindowTemplateId
}

问题终于在我们的代码中找到了,它是由一个名为 Error() 的全局 js 函数引起的。将函数名称更改为更具体的名称解决了问题,我们的应用程序开始针对 google 地图版本 3.22 和 3.23 工作。我们的猜测是 Error() 函数与 google maps js 文件中的同名函数冲突。