0

我正在尝试为我的 $.each 循环中的每个用户生成标记,以便我可以使用userId给定用户的对应项来选择每个标记。

$.each($.parseJSON(window.usersArray), function (i, user) {
    window.userMarkers[user['id']] = L.marker(98.76, 12.34).addTo(map);
    console.log(window.userMarkers[user['id']]);
});

编辑

我收到错误: Cannot set property '3' of undefined3用户的 ID 在哪里。

4

2 回答 2

2

您需要先创建对象(或数组,取决于您的需要),然后才能向其添加任何内容。

window.userMarkers = {};

$.each($.parseJSON(window.usersArray), function (i, user) {
    window.userMarkers[user['id']] = L.marker(98.76, 12.34).addTo(map);
    console.log(window.userMarkers[user['id']]);
});
于 2013-05-23T23:39:26.130 回答
1

解决方案:在设置属性之前定义数组!例子:

window.userMarkers = new Array();

于 2013-05-23T23:40:51.640 回答