Javascript 将弹出窗口绑定到传单.js循环:未找到\u错误:DOM异常8
我正在使用传单,并试图在我创建的圆圈上创建一个弹出窗口。我正在使用以下代码Javascript 将弹出窗口绑定到传单.js循环:未找到\u错误:DOM异常8,javascript,jquery,leaflet,Javascript,Jquery,Leaflet,我正在使用传单,并试图在我创建的圆圈上创建一个弹出窗口。我正在使用以下代码 var jsonString = '{"location":"edinburgh","topNouns":["track","love"],"eventWords":{"shot":1},"numberOfTweets":177.0,"numberOfTweetsContainEventWord":1.0,"percentageOfEventTweets":0.5649717514124294,"lat":55.
var jsonString = '{"location":"edinburgh","topNouns":["track","love"],"eventWords":{"shot":1},"numberOfTweets":177.0,"numberOfTweetsContainEventWord":1.0,"percentageOfEventTweets":0.5649717514124294,"lat":55.953252,"lon":-3.188267}';
var json = JSON.parse(jsonString);
var text = json.lat;
alert(text);
var circleColor = 'red';
var circle = L.circle([55.953252, -3.188267], 9000, {
color: circleColor,
fillColor: circleColor,
fillOpacity: 0.5
})
.bindPopup(text)
.addTo(map);
代码读入JSON字符串,创建一个圆圈,然后尝试将弹出窗口绑定到该圆圈
然而,没有弹出窗口出现,我得到以下错误
Uncaught Error: NOT_FOUND_ERR: DOM Exception 8
我相信这是在我将文本变量传递到.bindpoup方法时发生的。当我在.bindPopup方法中插入一个常量文本值时,弹出窗口将正确显示,但我希望它从JSON中获取文本
使用alert方法,我可以看到变量文本正从JSON中正确检索
有人知道为什么会发生这种错误吗
链接到JSFIDLE:
但是,在jsiddle中很难获得显示的地图。设法解决了这个问题。我需要将文本变量转换为字符串,如下所示
.bindPopup(String(text))
不完全确定为什么alert方法正确显示文本,而我必须将变量转换为字符串,以便在传单弹出窗口中显示。您能在类似的地方发布一个示例吗?创建了一个JSFIDLE,但由于某种原因,它没有显示在结果中。包括所有的外部脚本,不确定是什么错误。您的jsonSource无法工作,因为fiddle没有在您的服务器上运行。最好将一些示例JSON直接复制到示例中并使用它。我在这个fork中清理了一些东西:当我使用外部JSON文件加载数据时,在JSFIDLE中显示页面时遇到问题谢谢,这将添加一些示例数据