你好我正在使用传单在地图上显示动态图像: 我有一个var img代表图像src的URL
var img="http://xx.xx.xx.xx/"
$("<img/>").attr("src", img).appendTo("#images");
我有一个弹出窗口(HTML),其中包含我的图片id:images
var marker = L.marker([lat,lng]).bindPopup('<div id="images"></div>').addTo(map);
但是弹出窗口上没有显示图片?谁有简单的解决方案?感谢
答案 0 :(得分:2)
我最好的猜测是(因为你没有分享完整的代码并且没有添加示例),当你没有附加到images
的元素时,你试图访问它DOM还没有。您作为弹出内容提供的HTML字符串将变为实际元素,并在弹出窗口打开时附加到DOM。
这里最好的选择是不要使用HTML字符串作为弹出内容,而是使用实际的HTML元素并保留引用:
// Create element
var div = L.DomUtil.create('div', 'my-div');
将元素用作弹出内容:
// Create marker bind popup with content and add to map;
new L.Marker([0, 0]).bindPopup(div).addTo(map);
现在,您可以使用div
引用添加新元素:
// Create img element and append to div
var img = L.DomUtil.create('img', 'my-img', div);
img.src = 'http://placehold.it/100x100';
这将在弹出窗口打开和关闭时起作用。