Advertisement
alfikridotname

Tampil Map Geojson

May 16th, 2020
2,710
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2. /**
  3.     * Author     : Alfikri, M.Kom
  4.     * Created By : Alfikri, M.Kom
  5.     * E-Mail     : alfikri.name@gmail.com
  6.     * No HP      : 081277337405
  7. */
  8. ?>
  9. <!-- Leaflet -->
  10. <script src="<?php echo base_url(); ?>assets/leaflet/leaflet.js"></script>
  11. <script src="<?php echo base_url(); ?>assets/leaflet/Leaflet.fullscreen.min.js"></script>
  12. <script src="<?php echo base_url(); ?>assets/my_map/default.js"></script>
  13. <script>
  14.    
  15.     $(document).ready(function()
  16.     {
  17.         getLocation();
  18.         $('.lg-item').first().addClass('active');
  19.         $('.lg-item').first().trigger('click');
  20.         $('.table-detail').html('');
  21.     });
  22.  
  23.     function tampil_geojson_di(id_daerah_irigasi, prop)
  24.     {
  25.         $('.lg-item').removeClass('active');
  26.         $(prop).addClass('active');
  27.         $('.table-detail').html('');
  28.  
  29.         let id = $(prop).attr('id-dokumentasi');
  30.         $('#'+ id).trigger('click');
  31.         $.ajax(
  32.         {
  33.             url     : baseUrl('public_dashboard/get_file_daerah_irigasi/'),
  34.             dataType: 'JSON',
  35.             type    : 'POST',
  36.             data    : { id_daerah_irigasi : id_daerah_irigasi },
  37.             success : function(data)
  38.             {
  39.                 if(data.status == true)
  40.                 {
  41.                     bounds_group.clearLayers();
  42.                     $.each(data.data, function(k, v)
  43.                     {
  44.                         geojson(v.file_location, v.id_file_daerah_irigasi, v.kategori);
  45.                     });
  46.  
  47.                     legend.remove(map);
  48.                     map.addLayer(bang_pelengkap);
  49.                     map.addLayer(bang_utama);
  50.                     map.addLayer(bendung);
  51.                     map.addLayer(sal_primer);
  52.                     map.addLayer(sal_sekunder);
  53.                     legend = L.control.layers(baseLayers, overlays).addTo(map);
  54.                 }else{
  55.                     bounds_group.clearLayers();
  56.                 }
  57.             }
  58.         });        
  59.     }
  60.  
  61.     function geojson(url, id, kategori)
  62.     {
  63.         map.createPane('pane-'+ id);
  64.  
  65.         $.getJSON(url,function(data){
  66.             var ratIcon     = L.icon({
  67.                 iconUrl     : '../../assets/marker/default_marker.png',
  68.                 iconSize    : [ 13, 13]
  69.             });
  70.  
  71.             var gjson = L.geoJson(data,
  72.             {
  73.                 pane            : 'pane-'+ id,
  74.                 onEachFeature   : pop_up,
  75.                 pointToLayer: function(feature, latlng)
  76.                 {
  77.                     var marker = L.marker(latlng, { icon : ratIcon });
  78.                         marker.bindPopup(feature.properties.Nama + '<br/>' + feature.properties.Nomenklatu);
  79.  
  80.                     return marker;
  81.                 }
  82.             });
  83.  
  84.             switch(kategori) {
  85.               case 'Bang Pelengkap':
  86.                 bang_pelengkap.clearLayers();
  87.                 gjson.addTo(bang_pelengkap).addTo(bounds_group);
  88.                 break;
  89.               case 'Bang Utama':
  90.                 bang_utama.clearLayers();
  91.                 gjson.addTo(bang_utama).addTo(bounds_group);
  92.                 break;
  93.               case 'Bendung':
  94.                 bendung.clearLayers();
  95.                 gjson.addTo(bendung).addTo(bounds_group);
  96.                 break;
  97.               case 'Sal Primer':
  98.                 sal_primer.clearLayers();
  99.                 gjson.addTo(sal_primer).addTo(bounds_group);
  100.                 break;
  101.               case 'Sal Sekunder':
  102.                 sal_sekunder.clearLayers();
  103.                 gjson.addTo(sal_sekunder).addTo(bounds_group);
  104.                 break;
  105.             }
  106.  
  107.             map.addLayer(gjson);
  108.             setBounds();
  109.         });
  110.     }
  111.  
  112.     var ZoomViewer = L.Control.extend(
  113.     {
  114.         onAdd: function(){
  115.             var gauge = L.DomUtil.create('div');
  116.             gauge.style.width = '100px';
  117.             gauge.style.background = 'rgba(255,255,255,0.5)';
  118.             gauge.style.textAlign = 'left';
  119.             map.on('zoomstart zoom zoomend', function(ev){
  120.                 gauge.innerHTML = 'Zoom level: ' + map.getZoom();
  121.                 if(map.getZoom() < 13)
  122.                 {
  123.                     bang_pelengkap.remove();
  124.                     bang_utama.remove();
  125.                     sal_primer.addTo(map);
  126.                     sal_sekunder.addTo(map);
  127.                 }else{
  128.                     bang_pelengkap.addTo(map);
  129.                     bang_utama.addTo(map);
  130.                 }
  131.             })
  132.             return gauge;
  133.         }
  134.     });
  135.  
  136.     (new ZoomViewer).addTo(map);
  137.    
  138. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement