Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法读取属性';createIcon';未定义的使用传单_Javascript_Asp.net Mvc_Leaflet - Fatal编程技术网

Javascript 无法读取属性';createIcon';未定义的使用传单

Javascript 无法读取属性';createIcon';未定义的使用传单,javascript,asp.net-mvc,leaflet,Javascript,Asp.net Mvc,Leaflet,我试图在传单地图中显示我数据库中的一些标记。但是,每次运行项目时,都会出现以下错误“UncaughtTypeError:无法读取未定义的属性'createIcon”: 我有一个20个属性为纬度和经度的项目数组。(它们都有相同的坐标,因为我在测试一些东西,但至少应该出现一个标记) 下面是创建每个标记的代码: $.get("/api/IgnicoesAPI", function (data) { console.log(data); $.each(data, func

我试图在传单地图中显示我数据库中的一些标记。但是,每次运行项目时,都会出现以下错误“UncaughtTypeError:无法读取未定义的属性'createIcon”:

我有一个20个属性为纬度和经度的项目数组。(它们都有相同的坐标,因为我在测试一些东西,但至少应该出现一个标记)

下面是创建每个标记的代码:

$.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 == "emAvaliacao") {
        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") {
            //ignicao.removeFrom(map);
          }
        }
      }
    }

    //colocar um marcador no mapa de acordo com a latitude e longitude fornecidas
    var marker = new L.marker([item.latitude, item.longitude], {
      icon: ignicao,
    })

      .on("click", function onClick(e) {
        var id = item.id;

        //assim que um marcador for clicado é mostrado o popup das ignições
        modal.style.display = "block";

        //indicação do marcador que foi clicado
        clickedmarker = e.target;
        console.log(clickedmarker);

        //vai buscar toda a informação correspondente ao id fornecido
        getData(id, clickedmarker);

        //Actividade dos botões presentes no popup das ignições
        $(document).on("click", "#aceite", function () {
          //se o estado for aceite, o botão respetivo estará desativado
          if (item.estado == "aceite") {
            document.getElementById("aceite").disabled = true;
            document.getElementById("recusado").disabled = false;
            document.getElementById("concluido").disabled = false;
          }
          //se for clicado passará ao icon correspondente
          else {
            clickedmarker.setIcon(accepted);
            //fecha o modal das avaliação da ignição
            modal.style.display = "none";
            //atualiza a base de dados com o novo estado
            atualizaBD(id, "aceite");
          }
        });

        $(document).on("click", "#concluido", function () {
          //se o estado for concluido, o botão respetivo estará desativado
          if (item.estado == "concluido") {
            document.getElementById("concluido").disabled = true;
            document.getElementById("aceite").disabled = false;
            document.getElementById("recusado").disabled = false;
          }
          //se for clicado passará ao icon correspondente
          else {
            clickedmarker.setIcon(conclued);
            //fecha o modal das avaliação da ignição
            modal.style.display = "none";
            //atualiza a base de dados com o novo estado
            atualizaBD(id, "concluido");
          }
        });

        $(document).on("click", "#recusado", function () {
          //se o estado for recusado, o marcador será removido do mapa
          //clickedmarker.removeFrom(map);
          //clickedmarker = null;
          modal.style.display = "none";
          //atualiza a base de dados com o novo estado
          atualizaBD(id, "recusado");
        });
      })
      .addTo(map);

    //adiciona marador ao mapa
    $("#json map").append(marker);
  });
});

为什么会发生这种情况?

在创建标记时,
ignicao
可能是
未定义的。调试,以确保。对逻辑进行调整,以便在没有图标(或具有备用图标)的情况下不会创建标记。在创建标记时,
ignico
可能是
未定义的。调试,以确保。尝试逻辑,以便在没有图标(或具有回退图标)时不会创建标记。