     1:  2:  3:  4:  5:  6:  7:  8:  9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44:

    <?php

    namespace WPGMZA;

    /**
     * Loads the OpenLayers map engine
     */
    class OLLoader
    {
        private static $olAPILoadCalled = false;

        /**
         * Enqueue scripts
         * @return void
         */
        public function enqueueScripts()
        {
            global $wpgmza;

            $this->loadOpenLayers();
        }

        /**
         * Loads the OpenLayers libraries and styles
         */
        public function loadOpenLayers()
        {
            global $wpgmza;

            //if(Plugin::$settings->remove_api)
                //return;

            if(OLLoader::$olAPILoadCalled)
                return;

            wp_enqueue_style('wpgmza-ol-base-style', plugin_dir_url(dirname(__DIR__)) . 'lib/ol.css');
            wp_enqueue_style('wpgmza-ol-style', plugin_dir_url(dirname(__DIR__)) . 'css/open-layers.css');

            // TODO: Fix this, don't use this handle, use wpgmza_api_call. For some reason it won't enqueue using that. I suspect something else is using this handle. Whatever it is isn't in wpGoogleMaps.php
            wp_enqueue_script('wpgmza_ol_api_call', plugin_dir_url(dirname(__DIR__)) . 'lib/ol.js');
        }
    }