我想为每个JSON对象的元素添加Leaflet映射,但错误日志表示无法找到地图的容器。
success:
$.each(json, function(i, data) {
newhtml +='<div class="info">'+data.info+'</div>=<div class="story_map" id=story_map'+data.post_id+'></div>';
var container = "story_map"+data.post_id;
var map = L.map(container, {scrollWheelZoom:false,dragging:false}).setView([50, 50], 3);
L.tileLayer('http://{s}.tile.cloudmade.com/4bf7e7a40966461892sdfafac6eb4838/997/256/{z}/{x}/{y}.png', {
maxZoom: 18
}).addTo(map);
}
$('#stream').append(newhtml);
我做错了什么以及如何解决?
答案 0 :(得分:0)
您声明newhtml
方法包含新div,但实际上并未将其添加到页面中 - 在您将其添加到页面之前,您尝试初始化地图。所以基本上将代码中的$('#stream').append(newhtml);
移到newhtml
之后,而不是将newhtml一起添加到
newhtml ='<div class="info">'+data.info+'</div>=<div class="story_map" id=story_map'+data.post_id+'></div>';