Javascript 将JSON数据传递到嵌入式映射时出现问题
我试图构建一个页面,在地图上显示多个点,每个点代表一个计划的事件,并带有标题、位置、日期、链接和描述。对于映射本身,我使用maplace插件(),事件存储在一个.json文件中。目前,我在日志中没有收到任何错误,地图显示在页面加载上,但点没有显示。以下是相关代码: data.jsonJavascript 将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", "
{ "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();