如何在Leaflet中更新标记图标的来源

4
我在leaflet地图上创建x个标记。 (通过php脚本生成,但这不重要)问题是,我每60秒生成一张新图片,但是网页地图上的图标没有更新。
我想每X秒更新图标-这也不重要。 我找不到任何更新图标的方法。 所以我尝试删除标记并重新创建它们,但是没有成功-标记未定义。 有没有办法做到这一点?
编辑代码:
var icon = L.Icon.extend({
    options: {
        iconSize: [35, 35]
    }
});

function createIcons() {
    //Icons_start
    kopanky = new icon({iconUrl: 'img/kopanky.png'});
    kopankyM.setIcon(kopanky);
    kopankyM.update();
}

function testCreate() {
    kopanky = new icon({iconUrl: 'img/hvezdarna.png'});
    kopankyM.setIcon(kopanky);
    kopankyM.update();
    console.log("test");
}
function createMarkers() {
    //Markers_start
    kopankyM = L.marker([48.9585,17.791666666667]).bindPopup("Kopanky Bile Karpaty").bindLabel('9 kt, 145°', { noHide: true }).addTo(map);
}

createMarkers();
createIcons();

setInterval(function(){
    testCreate();
}, 5000);

我不能通过meta标签刷新页面,因为这样做会导致用户当前的地图设置丢失。


这将更新图标为hvezdarna.png,但当我更改hvezdarna.png时,它将保持不变。 - Crooker
1个回答

4

您是否查看了文档?如果要更新图标,您会找到名为setIcon的适当方法。


1
我可以问一下如何正确地做吗?我会使用 setIcon() 更新代码,但它没有起作用。 - Crooker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接