【问题标题】:FusionTablesLayer not working with google maps version 3.22/3.23FusionTablesLayer 不适用于谷歌地图版本 3.22/3.23
【发布时间】:2016-01-13 07:30:03
【问题描述】:

在使用谷歌地图版本 3.23 (exp) 或 3.22 (stable) 时,我们的融合表实现存在问题。在这些版本中,当我们试图创建一个层时,我们会得到 Uncaught TypeError: Cannot read property '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
        });

该实施已与谷歌地图版本 3.21(当前冻结版本)合作一年,所以我想知道我们是否可以做些什么,或者谷歌地图版本 3.22 和 3.23 中是否有问题?

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

应用程序可以在这里找到: http://studera.nu/studera-utomlands/utbytesprogram/erasmus/

/马格纳斯

【问题讨论】:

    标签: google-maps google-maps-api-3 google-fusion-tables


    【解决方案1】:

    我无法使用“工具 > 发布”和更改 Maps API 版本从简单的嵌入式地图中重现该问题。我怀疑您的应用程序与该代码不同;能否使用生成的 Fusion Tables 发布 HTML 进行重现?

    顺便说一句,上面的代码有效,但使用样式和模板 ID 的选项会更简洁,例如,

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2014-03-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-07-28
        • 2014-03-01
        • 2017-01-02
        • 1970-01-01
        相关资源
        最近更新 更多