我很感激帮助理解控制台错误的原因: 在此实例中,“构造函数参数0的值无效”。 我有一张地图,当您点击标记时,会通过标记点击监听器显示路径。 当位置数组是“本地”(在脚本文件中)时,它工作正常。我希望在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'列(格式为文本),它包含与上面'path'变量相同的值:
[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,来实现这种折线显示,但是仍然希望了解这种特殊的错误情况。)
感谢您的建议!
答案 0 :(得分:0)
这就是问题所在。文本字符串对路径无效,它必须是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的这些帖子提供了如何执行此操作的选项: