name = 'mapster-map'; /* * label (string) Multiple words, can include spaces, visible when selecting a field type */ $this->label = __( 'Mapster Map', 'mapster_acf_plugin_map' ); /* * category (string) basic | content | choice | relational | jquery | layout | CUSTOM GROUP NAME */ $this->category = 'jquery'; /* * defaults (array) Array of default settings which are merged into the field object. These are used later in settings */ // $this->default_value = 'default'; $this->defaults = array( 'default_value' => '{ "type" : "FeatureCollection", "features" : [] }', ); /* * l10n (array) Array of strings that are used in JavaScript. This allows JS strings to be translated in PHP and loaded via: * var message = acf._e('FIELD_NAME', 'error'); */ // $this->l10n = array( // 'error' => __('Error! Please enter a higher value', 'mapster_acf_plugin_map'), // ); /* * settings (array) Store plugin settings (url, path, version) as a reference for later use with assets */ $this->settings = $settings; // do not delete! parent::__construct(); } /* * render_field_settings() * * Create extra settings for your field. These are visible when editing a field * * @type action * @since 3.6 * @date 23/01/13 * * @param $field (array) the $field being edited * @return n/a */ function render_field_settings( $field ) { /* * acf_render_field_setting * * This function will create a setting for your field. Simply pass the $field parameter and an array of field settings. * The array of settings does not require a `value` or `prefix`; These settings are found from the $field array. * * More than one setting can be added by copy/paste the above code. * Please note that you must also have a matching $defaults value for the field name (font_size) */ acf_render_field_setting( $field, array( 'label' => __( 'Points', 'mapster_acf_plugin_map' ), 'instructions' => __( 'Allow Point creation.', 'mapster_acf_plugin_map' ), 'default_value' => 1, 'ui' => 1, 'ui_on_text' => 'On', 'ui_off_text' => 'Off', 'type' => 'true_false', 'name' => 'mapster-draw-type-point', ) ); acf_render_field_setting( $field, array( 'label' => __( 'LineStrings', 'mapster_acf_plugin_map' ), 'instructions' => __( 'Allow LineString creation.', 'mapster_acf_plugin_map' ), 'default_value' => 1, 'ui' => 1, 'ui_on_text' => 'On', 'ui_off_text' => 'Off', 'type' => 'true_false', 'name' => 'mapster-draw-type-linestring', ) ); acf_render_field_setting( $field, array( 'label' => __( 'Polygons', 'mapster_acf_plugin_map' ), 'instructions' => __( 'Allow Polygon creation.', 'mapster_acf_plugin_map' ), 'default_value' => 1, 'ui' => 1, 'ui_on_text' => 'On', 'ui_off_text' => 'Off', 'type' => 'true_false', 'name' => 'mapster-draw-type-polygon', ) ); acf_render_field_setting( $field, array( 'label' => __( 'Multiple Features', 'mapster_acf_plugin_map' ), 'instructions' => __( 'Allow user to add multiple features in a single map field.', 'mapster_acf_plugin_map' ), 'default_value' => 1, 'ui' => 1, 'ui_on_text' => 'On', 'ui_off_text' => 'Off', 'type' => 'true_false', 'name' => 'mapster-draw-type-multiple', ) ); } /* * render_field() * * Create the HTML interface for your field * * @param $field (array) the $field being rendered * * @type action * @since 3.6 * @date 23/01/13 * * @param $field (array) the $field being edited * @return n/a */ function render_field( $field ) { /* * Review the data of $field. * This will show what data is available */ // echo '
';
            // 	print_r( $field );
            // echo '
'; /* * Create a simple text input using the 'font_size' setting. */ ?>




      '


        '

          settings['url']; $version = $this->settings['version']; if ( function_exists( 'get_current_screen' ) ) { $current_screen = get_current_screen(); if ( $current_screen && ($current_screen->id == "mapster-wp-location" || $current_screen->id == "mapster-wp-line" || $current_screen->id == "mapster-wp-polygon" || $current_screen->id == "mapster-wp-user-sub") ) { // register & include JS wp_enqueue_media(); $settings_page_id = get_option( 'mapster_settings_page' ); $access_token = get_field( 'default_access_token', $settings_page_id ); $editing_map_style = get_field( 'pro_editing_map_style', $settings_page_id ); $default_latitude = get_field( 'pro_default_map_view_default_latitude', $settings_page_id ); $default_longitude = get_field( 'pro_default_map_view_default_longitude', $settings_page_id ); $default_zoom = get_field( 'pro_default_map_view_default_zoom', $settings_page_id ); $params_to_include = array( 'access_token' => $access_token, 'editing_map_style' => $editing_map_style, 'mapster_default_lat' => $default_latitude, 'mapster_default_lng' => $default_longitude, 'mapster_default_zoom' => $default_zoom, ); if ( MAPSTER_LOCAL_TESTING ) { wp_enqueue_script( 'mapster_map_field_turf_js', "{$url}../../admin/js/vendor/turf.js", array( 'acf-input' ), $version ); wp_enqueue_script( 'mapster_map_field_maplibre_js', "{$url}../../admin/js/vendor/maplibre-1.15.2.js", array( 'mapster_map_field_turf_js' ), $version ); wp_enqueue_script( 'mapster_map_field_mapbox_draw_js', "{$url}../../admin/js/vendor/mapbox-gl-draw.js", array( 'mapster_map_field_maplibre_js' ), $version ); wp_enqueue_script( 'mapster_map_field_geosearch_js', "{$url}../../admin/js/vendor/leaflet-geosearch-3.0.5.js", array( 'mapster_map_field_mapbox_draw_js' ), $version ); wp_enqueue_script( 'mapster_map_field_geojsonhint_js', "{$url}../../admin/js/vendor/geojsonhint.js", array( 'mapster_map_field_mapbox_draw_js' ), $version ); $last_enqueue = 'mapster_map_field_mapbox_draw_js'; wp_register_script( 'mapster_mapbox_field_js', "{$url}assets/js/input.js", array( $last_enqueue ), $version ); wp_localize_script( 'mapster_mapbox_field_js', 'mapster_editor', $params_to_include ); wp_enqueue_script( 'mapster_mapbox_field_js' ); // register & include CSS wp_enqueue_style( 'mapster_map_field_maplibre_css', "{$url}../../admin/css/vendor/maplibre-1.15.2.css", array( 'acf-input' ), $version ); wp_enqueue_style( 'mapster_map_field_geosearch_css', "{$url}../../admin/css/vendor/leaflet-geosearch-3.0.5.css", array( 'mapster_map_field_maplibre_css' ), $version ); wp_enqueue_style( 'mapster_map_field_maplibre_draw_css', "{$url}../../admin/css/vendor/mapbox-gl-draw.css", array( 'mapster_map_field_geosearch_css' ), $version ); wp_enqueue_style( 'mapster_map_field_css', "{$url}assets/css/input.css", array( 'mapster_map_field_maplibre_draw_css' ), $version ); } else { $script_to_load = "{$url}assets/dist/acf-mapster-map.js"; wp_enqueue_script( 'mapster_mapbox_field_js', $script_to_load, array( 'acf-input' ), $version ); wp_localize_script( 'mapster_mapbox_field_js', 'mapster_editor', $params_to_include ); wp_enqueue_script( 'mapster_mapbox_field_js' ); // register & include CSS wp_enqueue_style( 'mapster_map_field_css', "{$url}assets/dist/acf-mapster-map.css", array(), $version ); } } } } } // initialize new mapster_acf_field_map( $this->settings ); // class_exists check }