【问题标题】:Invalid value for constructor parameter 0 in Fusion Table Google MapFusion Table Google Map 中构造函数参数 0 的值无效
【发布时间】:2013-07-18 13:05:31
【问题描述】:

如果能帮助我理解控制台错误的原因,我将不胜感激: 在这种情况下,“构造函数参数 0 的值无效”。 我有一张地图,当您单击标记时,将通过标记 On-Click Listener 显示路径。 当位置数组为“本地”(在脚本文件中)时,它可以正常工作。我希望将点数组包含在 Fusion Table 记录中,以控制标记的其他属性。 以下方法正常工作:

    var path = [new google.maps.LatLng(46.2932212,-122.8215887),new google.maps.LatLng(46.2937995,-122.8194726)];

    var polyline = new google.maps.Polyline({path: path, strokeColor: "#CDCDCD", strokeOpacity: 0, icons:[lineIcon2],strokeWeight: 2});

    polyline.setMap(map);

在我的 Fusion Table 中,我有一列“path2”(格式为文本),其中包含与上面的“路径”变量相同的值:

    [new google.maps.LatLng(46.2932212,-122.8215887),new google.maps.LatLng(46.2937995,-122.8194726)]

然后我更新了代码:

  var path = path2;

  var polyline = new google.maps.Polyline({path: path, strokeColor: "#CDCDCD", strokeOpacity: 0, icons:[lineIcon2],strokeWeight: 2});

  polyline.setMap(map);

当点击事件被触发时,我在控制台收到错误: " 构造函数参数 0 的值无效:[new google.maps.LatLng(46.2932212,-122.8215887),new google.maps.LatLng(46.2937995,-122.8194726)]"

这表明表中的值按我的预期被引入,但发生了一些变化使其出错,我不明白插入数据时发生了什么导致错误

(我知道还有其他可能更好的方法,例如 Fusion Table Layers 来实现这种折线显示,但仍然想了解这种特殊的错误场景。)

感谢您的建议!

【问题讨论】:

    标签: google-maps google-fusion-tables


    【解决方案1】:

    这就是问题所在。文本字符串对路径无效,它必须是 google.maps.LatLng 对象的数组:

    在我的 Fusion Table 中,我有一列“path2”(格式为文本)

    你需要转换这个字符串:

    "[new google.maps.LatLng(46.2932212,-122.8215887),new google.maps.LatLng(46.2937995,-122.8194726)]"
    

    到 google.maps.LatLng 对象的数组。

    来自 SO 的这些帖子提供了如何做到这一点的选项:

    【讨论】:

    • 太棒了!这给了我学习的方向。谢谢你的建议。
    猜你喜欢
    • 1970-01-01
    • 2012-12-23
    • 2022-01-26
    • 2018-10-28
    • 1970-01-01
    • 2012-03-25
    • 1970-01-01
    • 1970-01-01
    • 2013-04-12
    相关资源
    最近更新 更多