标记上的传单/地图框弹出窗口

时间:2015-04-25 17:50:43

标签: javascript jquery leaflet mapbox

我正在尝试从我的数据库中获取位置并在地图上显示它们。标记显示我需要它们的位置,但是当我将弹出窗口绑定到它们时,我收到错误Uncaught TypeError: Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.

这是我的JS:

var map = L.map('map').setView([42.351776, -71.061371], 14);

L.mapbox.accessToken = 'TOKEN';
L.tileLayer('https://{s}.tiles.mapbox.com//{z}/{x}/{y}.png?access_token=' + L.mapbox.accessToken, {
attribution: '<a href="http://www.mapbox.com/about/maps/" target="_blank">Terms &amp; Feedback</a>'
}).addTo(map);

$.get( '/events.json', function( data ) {
  for (i=0; i<data.length; i++) {
    var coordinatesArray =  [data[i].latitude, data[i].longitude];
    `var marker = L.marker([coordinatesArray[0],coordinatesArray[1]]).addTo(map);`

    marker.bindPopup("<h1>" + data.title + "</h1>");
  }
});

如果我只使用弹出窗口加载一个标记,似乎可以工作,但是当我尝试迭代对象时,它开始给我错误。

1 个答案:

答案 0 :(得分:0)

我认为您需要删除标记创建周围的反引号,并在访问title时包含当前索引。因此,请使用data.title而不是data[i].title