Как сделать if if оператор get JSON для загрузки различных маркеров листовки - PullRequest
1 голос
/ 20 апреля 2020

Как проверить массив условий (==) из json и сделать оператор, если еще нужно загрузить разные маркеры листовки.

$.getJSON("<?=base_url() ?>home/sekolah_json", function(data){
    $.each(data, function(i, field){
    var longitude = parseFloat(data[i].longitude);  
    var latitude = parseFloat(data[i].latitude);  
    var nama = (data[i].nama_sekolah);
    L.icon = function (options) {
    return new L.Icon(options);
    };
    var marker  = (data[i].jenjang);

    //how to write if else on this line of code 
    if (marker == 'sd'){
      var redIcon = new L.icon({iconUrl: '<?=base_url() ?>assets/leaflet/images/sd1.png', iconSize:[30,30]});
    }else{
      var blueIcon = new L.icon({iconUrl: '<?=base_url() ?>assets/leaflet/images/smp1.png', iconSize:[30,30]});
    }
   // help me


    L.marker([longitude, latitude], {icon: marker}).addTo(map)
    .bindPopup(nama, {autoClose: false, autoPan: false})
    .openPopup();
    });
  });

Ответы [ 2 ]

1 голос
/ 20 апреля 2020

Вы можете сохранить значок в ранее определенной переменной, например markerIcon, а затем использовать его позже, так как он будет иметь ожидаемое значение:

$.getJSON("<?=base_url() ?>home/sekolah_json", function(data){
  $.each(data, function(i, field){
    var longitude = parseFloat(data[i].longitude);  
    var latitude = parseFloat(data[i].latitude);  
    var nama = (data[i].nama_sekolah);
    var marker  = (data[i].jenjang);

    var markerIcon; 
    if (marker == 'sd') {
      markerIcon = new L.Icon({iconUrl: '<?=base_url() ?>assets/leaflet/images/sd1.png', iconSize:[30,30]});
    } else {
      markerIcon = new L.Icon({iconUrl: '<?=base_url() ?>assets/leaflet/images/smp1.png', iconSize:[30,30]});
    }

    L.marker([longitude, latitude], {icon: markerIcon}).addTo(map)
    .bindPopup(nama, {autoClose: false, autoPan: false})
    .openPopup();
  });
});
1 голос
/ 20 апреля 2020
//how to write if else on this line of code

//create blueIcon by default
var icon = new L.icon({iconUrl: '<?=base_url() ?>assets/leaflet/images/smp1.png', iconSize:[30,30]});
//if marker is 'sd' then update same variable for Red Icon
if (marker == 'sd'){
  icon = new L.icon({iconUrl: '<?=base_url() ?>assets/leaflet/images/sd1.png', iconSize:[30,30]});
}

//Now you can 'icon' variable below as per requirement.

Надеюсь, это поможет.

...