//maps variable const MAP_ENDPOINT = "https://rmsmap.rmto.ir"; const MAP_MIN_ZOOM = 5; const MAP_MAX_ZOOM = 10; var bounds = [ [46.9130026312, 77.6166317076], [17.5782370061, 32.5092252948], ]; var mymap; var current_year = new persianDate().year(); var jalali_to_Gregorian; var queryParems = []; var queryNames=[]; var markerLayercluster = null; var currentDate = {}; var date_array = []; function showLoaderScreen() { $(".divloader").css("display", "flex").hide().fadeIn(); } function hideLoaderScreen() { $(".divloader").fadeOut(); } var purpleIcon = L.divIcon({ className: "custom-div-icon", html: "", iconSize: [32, 44], }); var pinkIcon = L.divIcon({ className: "custom-div-icon", html: "", iconSize: [32, 44], }); var greenIcon = L.divIcon({ className: "custom-div-icon", html: "", iconSize: [32, 44], }); var redIcon = L.divIcon({ className: "custom-div-icon", html: "", iconSize: [32, 44], }); var blueIcon = L.divIcon({ className: "custom-div-icon", html: "", iconSize: [32, 44], }); var iranLayer = L.tileLayer( "https://rmsmap.rmto.ir/141map/{z}/{x}/{y}.png", {} ); (function () { buildMap().then(()=>{ getProvinceList().then(()=>{ getYearList().then(()=>{ UncheckAll(); }); }); }); })(); function getProvinceList() { return new Promise(function(resolve) { $.ajax({ url: `https://rms.rmto.ir/webapi/getuser/province-perm?type=all`, type: "GET", beforeSend: function() { showLoaderScreen(); }, success: function(result) { const provinces = result.data; $(".province-list").empty(); provinces.map((item,index) => { $(".province-list").append(`
  • ${item.name_fa}
  • `) }); hideLoaderScreen(); }, error: function(error) { hideLoaderScreen(); Swal.fire({ icon: "error", title: "خطا", text: "مشکل در دریافت استان ها", confirmButtonText: "بروزرسانی صفحه", showLoaderOnConfirm: true, preConfirm: () => { location.reload(true); }, }); }, }); resolve(); }) } function getYearList() { return new Promise(function(resolve) { for (let i = 1398; i <= current_year; i++) { currentDate.from = moment(i, "jYYYY"); currentFilterQueryfrom = currentDate.from.locale("en").format("YYYY-MM-DD"); currentDate.to = moment(i, "jYYYY"); currentDate.to.add(1, "year"); currentFilterQueryto = currentDate.to.locale("en").format("YYYY-MM-DD"); $(".year-list").append(`
  • ${i}
  • `); } resolve(); }) } function buildMap(){ return new Promise(function(resolve) { mymap =L.map("mymap", { maxBounds: bounds, minZoom: 6, }).setView([35.5468992, 51.7300532], 6); L.tileLayer(MAP_ENDPOINT + "/141map/{z}/{x}/{y}.png", {}).addTo(mymap); resolve(); }) } $(document).on("click", ".guid-custom-box-DailyAccident input", function () { queryParems=[]; if ($(this).is(":checked")) { if (queryNames.length!=0) { if (queryNames.filter(e => e.name === $(this).parent().parent().data('name')).length > 0) { if (($(this).parent().parent().data('name')==="day_part")){ var index = queryNames.findIndex(x => x.name === $(this).parent().parent().data('name')); queryNames[index].value = $(this).val(); } else { var index = queryNames.findIndex(x => x.name === $(this).parent().parent().data('name')); queryNames[index].value = [...queryNames[index].value, $(this).val()]; } } else { queryNames.push({name:$(this).parent().parent().data('name'),value:[$(this).val()]}); } } else { queryNames.push({name:$(this).parent().parent().data('name'),value:[$(this).val()]}); } } else { if (($(this).parent().parent().data('name')==="year")){ $('.year-list').find('.year-checkbox:checked').each(function( index ) { date_array = jQuery.grep(date_array, function(value) { return value != `from_date[${index}]=${$(this).data("from")}&to_date[${index}]=${$(this).data("to")}`; }); }); } else { if (queryNames.filter(e => e.name === $(this).parent().parent().data('name')).length > 0) { var index = queryNames.findIndex(x => x.name === $(this).parent().parent().data('name')); queryNames[index].value=queryNames[index].value.filter((el)=> el!==$(this).val()); } } } GetData(); }); function showPointsOnMap(data){ removeAccidentMarker().then(()=>{ addClusterMarkers(data).then(()=>{ hideLoaderScreen() }) }); } function addClusterMarkers(data) { return new Promise(function(resolve) { markerLayercluster = L.markerClusterGroup(); let markerList = []; data.map((item,index) => { let marker = null; if (item.lat!=null && item.lng!=null){ marker = L.marker([item.lat, item.lng], { icon: purpleIcon, }).on("click", function () { var popup = L.popup() .setLatLng(this.getLatLng()) .setContent("در حال بروزرسانی ...") .openOn(mymap); $.ajax({ url: `https://rms.rmto.ir/daily_accident/${item.id}`, type: "GET", beforeSend: function() { showLoaderScreen(); }, success: function(result) { var chart_div= `