如何使用Leaflet从地图上删除标记?

问题描述 投票:0回答:1

[每个标记都有一个“状态”,如果该状态是“ aceite”,“ concluido”或“ emavaliação”,它将显示在地图上,但是如果该状态是“ recusado”,我不希望它显示在地图上地图。这是代码:

    $.get("/api/IgnicoesAPI", function (data) {

        console.log(data);
        $.each(data, function (i, item) {

            //identificação do tipo de marcador que deve aparecer de acordo com o estado da ignição
            var ignicao;

            if (item.estado == "aceite") {
                ignicao = L.icon({
                    iconUrl: '/icons/aceite.png',
                    iconSize: [35, 35], // size of the icon
                });


            }
            else {

                if (item.estado == "em avaliação") {
                    ignicao = L.icon({
                        iconUrl: '/icons/emAvaliacao.png',
                        iconSize: [35, 35], // size of the icon
                    });
                }
                else {
                    if (item.estado == "concluido") {
                        ignicao = L.icon({
                            iconUrl: '/icons/concluido.png',
                            iconSize: [35, 35], // size of the icon
                        });

                    }
                    else {
                        if (item.estado == "recusado") {

                            //don't show it on the map 

                        }


                    }
                }
            }

我已经尝试过使用“ removeFrom”和“ remove”,但是我收到一条错误消息,说它不是函数。有办法吗?

javascript leaflet
1个回答
0
投票

特蕾莎!很高兴在这里见到来自巴西的同事:P

我找到了两个可能的选择。假设您有一个名为markerLayer的标记变量:

1)删除标记层:map.removeLayer(markerLayer)

2)保留标记层,仅“隐藏”图标:markerLayer.setOpacity(0)

看一下我用按钮示例编写的小提琴:https://jsfiddle.net/diogocosta/jmq8h2wr/6/

干杯,

© www.soinside.com 2019 - 2024. All rights reserved.