Javascript 将JSON数据传递到嵌入式映射时出现问题

Javascript 将JSON数据传递到嵌入式映射时出现问题,javascript,json,google-maps,google-maps-api-3,getjson,Javascript,Json,Google Maps,Google Maps Api 3,Getjson,我试图构建一个页面,在地图上显示多个点,每个点代表一个计划的事件,并带有标题、位置、日期、链接和描述。对于映射本身,我使用maplace插件(),事件存储在一个.json文件中。目前,我在日志中没有收到任何错误,地图显示在页面加载上,但点没有显示。以下是相关代码: data.json { "allEvents": [ { "eventName" : "Event #1", "eventDate" : "May 27, 2014", "lat": "52.963619", "

我试图构建一个页面,在地图上显示多个点,每个点代表一个计划的事件,并带有标题、位置、日期、链接和描述。对于映射本身,我使用maplace插件(),事件存储在一个.json文件中。目前,我在日志中没有收到任何错误,地图显示在页面加载上,但点没有显示。以下是相关代码:

data.json

{ "allEvents": [

  {
  "eventName" : "Event #1",
  "eventDate" : "May 27, 2014",
  "lat": "52.963619",
  "long": "-125.619140",
  "link": "http://www.google.com"
  "description" : "short description"},
]}
在我的头脚本中

 var eventLocations = [];
 $.getJSON('data.json', function(events) {
        for (var i in data.allEvents) {
            var name = data.allEvents[i].eventName;
            var date = data.allEvents[i].eventDate;
            var latitude = data.allEvents[i].lat;
            var longitude = data.allEvents[i].long;
            var link = data.allEvents[i].link;
            var desc = data.allEvents[i].description;

            var loc = "{ lat: " + latitude + "," +
                        "lon: " + longitude + "," +
                        "icon: images/icon3.png," +
                        "title: " + name + "," +
                        "html: <div class='infoWindow'>" +
                        "<h3>" + name + "</h3>" +
                        "<h4>" + date + "</h4>" +
                        "<a href='http://" + link + "' target='_blank'>view website</a>" +
                        "<p>" + desc + "</p>" +
                        "</div> },";

            eventLocations.push(loc);                

        };
    });
还值得一提的是,如果我在Maplace中写下一个位置(即代替'eventLocations'变量),则pin显示良好


提前感谢!

您的JSON请求是异步的。您可能会重复此请求-位置:EventLocation您可以将代码放入jsbin或JSFIDEL中,以便人们可以解决它。
$(function() {
  var maplace = new Maplace({

    //I have lots of other parameters here (controls, stylers, options, etc)

    locations: [ eventLocations ]
  }); 

  maplace.Load();