gpt4 book ai didi

javascript - 使用循环添加标记时,Leafletjs map 叠加将停止工作

转载 作者:行者123 更新时间:2023-12-03 06:11:56 27 4
gpt4 key购买 nike

如果我手动输入纬度和经度以及.addTo(layer)。显示右上角的覆盖菜单,我可以过滤标记。

但是当我尝试传入带有纬度和经度的标记的 JSON 列表并迭代以创建标记,然后 .addTo(layer) 时。覆盖菜单消失,但标记已正确生成。

Leafletjs 脚本(手动输入纬度和经度):https://jsfiddle.net/kdu2woLb/1/

var cities = new L.LayerGroup();
L.marker([40.7864742, -73.9393257], {icon: citiesIcon}).bindPopup('Job Title: ').addTo(cities);
L.marker([40.8561684, -73.89659800000001], {icon: citiesIcon}).bindPopup('Job Title: ').addTo(cities);

var jobs = new L.LayerGroup();
L.marker([40.7127837, -74.0059413], {icon: jobIcon}).bindPopup('Job Title: ').addTo(jobs);
L.marker([40.7348796, -73.86348939999999 ], {icon: jobIcon}).bindPopup('Job Title: ').addTo(jobs);

Leafletjs 脚本(使用循环生成标记):https://jsfiddle.net/8qmk33kp/2/

  var cities = new L.LayerGroup();
for ( var i=0; i < markers.length; ++i )
{
L.marker( [markers[i].latitude, markers[i].longitude], {icon: jobIcon} )
.bindPopup( markers[i].title+ '<br/>' + 'Address: ' + markers[i].address + '<br />' + 'Salary range: ' + '$' + markers[i].min_salary + ' - ' + '$' + markers[i].max_salary )
.addTo(cities);
}

var jobs = new L.LayerGroup();
L.marker([40.7127837, -74.0059413], {icon: jobIcon}).bindPopup('Job Title: ').addTo(jobs);
L.marker([40.7348796, -73.86348939999999 ], {icon: jobIcon}).bindPopup('Job Title: ').addTo(jobs);

我真的不明白为什么循环会破坏覆盖。当我查看代码时,它似乎正在创建每个标记,然后将其添加到叠加层。那么它应该生成并传递给过滤器吗?为什么标记生成正确但叠加菜单消失?

任何见解都会有所帮助。谢谢!

<小时/>

更新:添加了工作覆盖层和非工作覆盖层的 jsfiddle 链接。看起来我的 JSON 列表有问题,当我删除了除 3-4 个标记之外的所有内容时,叠加层再次起作用... https://jsfiddle.net/qm5vd6k4/1/

最佳答案

查看您的记录 1592 到 1596,包括:

//i = 1592
{
"title": "PRINCIPAL ADMINISTRATIVE ASSOC",
"latitude": null,
"longitude": null
}
//i = 1593
{
"title": "PUBLIC HEALTH ADVISER",
"latitude": null,
"longitude": null
}
//i = 1594
{
"title": "COMMUNITY COORDINATOR",
"latitude": null,
"longitude": null
}
//i = 1595
{
"title": "ADMINISTRATIVE PUBLIC HEALTH N",
"latitude": null,
"longitude": null
}
//i = 1596
{
"title": "FAMILY PUB HEALTH NURSE (HMH)",
"latitude": null,
"longitude": null
}

更新了 JSFiddle:https://jsfiddle.net/8qmk33kp/3/

关于javascript - 使用循环添加标记时,Leafletjs map 叠加将停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39276915/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com