javascript未定义JSON字段

javascript未定义JSON字段,javascript,json,mapping,undefined,Javascript,Json,Mapping,Undefined,我正在使用spoolet.js制作地图,并从json文件中构建弹出气泡html。气泡被有效地填充,除了一个新字段,pic,我已经添加到json数据中。我不明白为什么没有加载它——它只是被浏览器渲染为“未定义”。有人能提出为什么没有人读它吗?我认为这些是相关文件的重要部分 data.json(节选) map.js(节选) 函数初始化(){ 风险层=新的L.StamenTileLayer(“持有”); var map=新的L.map(“map”{ 属性控制:false, 中心:新L.LatLng(5

我正在使用spoolet.js制作地图,并从json文件中构建弹出气泡html。气泡被有效地填充,除了一个新字段,
pic
,我已经添加到json数据中。我不明白为什么没有加载它——它只是被浏览器渲染为“未定义”。有人能提出为什么没有人读它吗?我认为这些是相关文件的重要部分

data.json(节选)

map.js(节选)

函数初始化(){
风险层=新的L.StamenTileLayer(“持有”);
var map=新的L.map(“map”{
属性控制:false,
中心:新L.LatLng(51.545094,-0.05609),
缩放:15
});
map.addControl(新的L.Control.attribute({
前缀:“映射平铺依据,在下。数据依据,在下。”
}));
map.scrollWheelZoom.disable();
map.addLayer(层);
$.getJSON('data.json',函数(数据){
地点=数据;
用于(局部变量i){
地点=地点[i];
标记[i]=L.标记([place['lat'],place['lng'])。添加到(地图);
标记[i].bindPopup(“”+place['name']+“
“+place['address']+”); } updateSlider(2013年); play(); }); }
可能与您的问题无关,但如下所述,您应该真正使用for循环或Array.forEach来迭代数组。for(vari in places)应该是for(vari=0;i[ { "name": "Billys", "address": "297 Mare Street, Hackney", "lat": "51.545829", "lng": "-0.055408", "pic": "billy.jpg", "year": 2013.0 }, { "name": "Folber", "address": "227 Mare Street", "lat": "51.544397", "lng": "-0.05524", "pic": "folber.jpg", "year": 2013.0 } ]
function initialize() {
    var layer = new L.StamenTileLayer("holds");
    var map = new L.Map("map", {
        attributionControl: false,
        center: new L.LatLng(51.545094, -0.05609),
        zoom: 15
    });
    map.addControl(new L.Control.Attribution({
        prefix: 'Map tiles by <a href="http://stamen.com">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a>. Data by <a href="http://openstreetmap.org">OpenStreetMap</a>, under <a href="http://creativecommons.org/licenses/by-sa/3.0">CC BY SA</a>.'
    }));

    map.scrollWheelZoom.disable();
    map.addLayer(layer);


    $.getJSON('data.json', function (data) {
        places = data;
        for (var i in places) {
            place = places[i];
            markers[i] = L.marker([place['lat'], place['lng']]).addTo(map);
            markers[i].bindPopup('<div class="popup-words"><b>' + place['name'] + "</b><br/>" + place['address'] + "</div>" + "<img alt='" + place['name'] + "' src='img/logos/" + place['pic'] + "' width='60px' height='30px' class='popup-image'/>");
        }
        updateSlider(2013);
        play();
    });
}