Leaflet (Map)
Mobile-friendly interactive map library.
Official documentation
For more detailed information and examples, see the official documentation: Leaflet .
How to use?
Copy-paste the stylesheet <link> into your <head> to load the CSS.
                  
                    <link rel="stylesheet" href="../../assets/vendor/leaflet/dist/leaflet.css">
                  
                
                Copy-paste the following <script> near the end of your pages under JS Implementing Plugins to enable it.
                  
                    <script src="../../assets/vendor/leaflet/dist/leaflet.js"></script>
                  
                
                Copy-paste the following <script> near the end of your pages under JS Implementing Plugins to enable it.
                  
                    <script src="../../assets/js/hs.leaflet.js"></script>
                  
                
                Copy-paste the init function under JS Plugins Init., before the closing </body> tag, to enable it.
                  
                    <script>
                      $(document).on('ready', function () {
                        // initialization of leaflet
                        $('#map').each(function () {
                          var leaflet = $.HSCore.components.HSLeaflet.init($(this)[0]);
                          L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw', {
                            id: 'mapbox/light-v9'
                          }).addTo(leaflet);
                        });
                      });
                    </script>
                  
                
              Basic example
                        
                          <div id="map" class="min-h-450rem rounded"
                               data-hs-leaflet-options='{
                                 "map": {
                                   "scrollWheelZoom": false,
                                   "coords": [37.4040344, -122.0289704]
                                 },
                                 "marker": [
                                   {
                                     "coords": [37.4040344, -122.0289704],
                                     "icon": {
                                       "iconUrl": "../../assets/svg/components/map-pin.svg",
                                       "iconSize": [50, 45]
                                     },
                                     "popup": {
                                       "text": "Test text!"
                                     }
                                   }
                                 ]
                                }'></div>
                        
                      
                    Extend
Plugin methods are called using a wrapper:
                  
                    <script>
                      $(document).on('ready', function () {
                        // initialization of password strength
                        $('.js-leaflet').each(function () {
                          var leaflet = $.HSCore.components.HSLeaflet.init($(this)[0]);
                        });
                      });
                    </script>
                  
                
              Attributes
By assigning a variable, you can call the standard methods of the plugin:
                  
                    data-hs-leaflet-options='{
                    ...
                  }' - array
                  
                
              Methods
Options can be passed via data attributes or JavaScript. For data attributes, append the option name to data-hs-leaflet-options='{}'. For more detailed or missing attributes/functions, see the official Leaflet  documentation page.
| Parameters | Description | Default value | 
|---|---|---|
| 
                         
  | 
                      Basic map settings | 
                        map: {
                          coords: [51.505, -0.09],
                          zoom: 13
                        },
                       | 
                    
| 
                         
  | 
                      Settings for map layers, settings are taken from the tile server. More information about the layer options can be found here: https://leafletjs.com/reference-1.6.0.html#tilelayer | 
                        layer: {
                          token: 'https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw',
                          id: 'mapbox/streets-v11',
                          maxZoom: 18
                        },
                       | 
                    
| 
                         
  | 
                      Array with options for pins | null | 
                    
| 
                         
  | 
                      Coordinates according to which the pin will be added | null | 
                    
| 
                         
  | 
                      Object with options for pin icon. More information about the options for the icons can be found here: https://leafletjs.com/reference-1.6.0.html#icon | null | 
                    
| 
                         
  | 
                      Object with options for popup pin. More information about the popup options can be found here: https://leafletjs.com/reference-1.6.0.html#popup | null |