Update Google Map styles.

This commit is contained in:
Hoang Huu 2019-10-30 10:57:14 +07:00
parent 5e56b01a72
commit 67aab34274
4 changed files with 1438 additions and 412 deletions

File diff suppressed because it is too large Load Diff

View File

@ -20,40 +20,75 @@ if ( ! defined( 'ABSPATH' ) ) {
class Opalestate_Settings_3rd_party_Tab extends Opalestate_Settings_Base_Tab {
public function get_subtabs () {
public function get_subtabs() {
$tabs = (array)apply_filters (
'opalestate_settings_3rd_party_subtabs_nav', array()
);
$tabs = [
'google_map' => esc_html__( 'Google Map', 'opalestate-pro' ),
'yelp' => esc_html__( 'Yelp', 'opalestate-pro' ),
'walkcore' => esc_html__( 'Walkcore', 'opalestate-pro' ),
];
$tabs = array_merge_recursive( $tabs, array(
'yelp' => "Yelp",
'walkcore' => "Walkcore"
) );
$tabs = (array) apply_filters( 'opalestate_settings_3rd_party_subtabs_nav', $tabs );
return $tabs;
}
}
public function get_subtabs_content( $key ="" ) {
// echo $key;die;
$fields = apply_filters ( 'opalestate_settings_3rd_party_subtabs_'.$key.'_fields', array() );
public function get_subtabs_content( $key = '' ) {
$fields = apply_filters( 'opalestate_settings_3rd_party_subtabs_' . $key . '_fields', [] );
if ( 'google_map' == $key ) {
$fields = $this->get_google_map_fields();
} elseif ( 'yelp' == $key ) {
$fields = $this->get_yelp_fields();
} elseif ( 'walkcore' == $key ) {
$fields = $this->get_walkscore_fields();
}
if( $key == 'yelp' ){
$fields = $this->get_yelp_fields();
}else if( $key == 'walkcore' ){
$fields = $this->get_walkscore_fields();
}
return [
return [
'id' => 'options_page',
'opalestate_title' => esc_html__( '3rd Party Settings', 'opalestate-pro' ),
'show_on' => [ 'key' => 'options-page', 'value' => [ $key ], ],
'fields' => (array)$fields
'fields' => (array) $fields,
];
}
public function get_walkscore_fields(){
return array(
public function get_google_map_fields() {
return [
[
'name' => esc_html__( 'API key', 'opalestate-pro' ),
'desc' => __( 'You need to register <a href="https://developers.google.com/maps/documentation/javascript/get-api-key" target="_blank">Google API Key</a>, then put the key in this setting.',
'opalestate-pro' ),
'id' => 'google_map_api_keys',
'type' => 'text',
'default' => 'AIzaSyCfMVNIa7khIqYHCw6VBn8ShUWWm4tjbG8',
],
[
'name' => esc_html__( 'Style', 'opalestate-pro' ),
'desc' => __( 'Select a style', 'opalestate-pro' ),
'id' => 'google_map_style',
'type' => 'select',
'options' => [
'standard' => esc_html__( 'Standard', 'opalestate-pro' ),
'silver' => esc_html__( 'Silver', 'opalestate-pro' ),
'retro' => esc_html__( 'Retro', 'opalestate-pro' ),
'dark' => esc_html__( 'Dark', 'opalestate-pro' ),
'night' => esc_html__( 'Night', 'opalestate-pro' ),
'aubergine' => esc_html__( 'Aubergine', 'opalestate-pro' ),
'custom' => esc_html__( 'Custom', 'opalestate-pro' ),
],
'default' => 'standard',
],
[
'name' => esc_html__( 'Custom Style', 'opalestate-pro' ),
'desc' => __( 'You can visit <a href="https://mapstyle.withgoogle.com/" target="_blank">Google Maps Platform Styling Wizard</a>, then paste JSON into this setting.',
'opalestate-pro' ),
'id' => 'google_map_custom_style',
'type' => 'textarea_code',
],
];
}
public function get_walkscore_fields() {
return [
[
'name' => esc_html__( 'Walk Score', 'opalestate-pro' ),
'desc' => '',
@ -67,12 +102,12 @@ class Opalestate_Settings_3rd_party_Tab extends Opalestate_Settings_Base_Tab {
'desc' => esc_html__( 'Add Walk Score API key. To get your Walk Score API key, go to your Walk Score Account.', 'opalestate-pro' ),
'id' => 'walkscore_api_key',
'type' => 'text',
]
);
],
];
}
public function get_yelp_fields(){
return array(
public function get_yelp_fields() {
return [
[
'name' => esc_html__( 'Yelp', 'opalestate-pro' ),
'desc' => '',
@ -130,8 +165,7 @@ class Opalestate_Settings_3rd_party_Tab extends Opalestate_Settings_Base_Tab {
'kilometers' => esc_html__( 'kilometers', 'opalestate-pro' ),
],
'default' => 'miles',
]
);
],
];
}
}

View File

@ -262,14 +262,6 @@ class Opalestate_Settings_General_Tab extends Opalestate_Settings_Base_Tab {
'options' => opalestate_get_measurement_units(),
'default' => 'sqft',
],
[
'name' => esc_html__( 'Google Map API', 'opalestate-pro' ),
'desc' => __( 'You need to register <a href="https://developers.google.com/maps/documentation/javascript/get-api-key" target="_blank">Google API Key</a>, then put the key in this setting.',
'opalestate-pro' ),
'id' => 'google_map_api_keys',
'type' => 'text',
'default' => 'AIzaSyCfMVNIa7khIqYHCw6VBn8ShUWWm4tjbG8',
],
]
);
}

View File

@ -27,7 +27,6 @@ class OpalEstate_Enqueue {
* Constructor
*/
public function __construct() {
add_action( 'wp_enqueue_scripts', [ $this, 'load_scripts' ] );
add_action( 'wp_head', [ $this, 'add_custom_styles' ] );
}
@ -52,6 +51,15 @@ class OpalEstate_Enqueue {
* Google map.
*/
wp_enqueue_script( 'opalestate-gmap', OPALESTATE_PLUGIN_URL . 'assets/js/frontend/googlemaps.js', [ 'jquery' ], OPALESTATE_VERSION, false );
$custom_map_styles = json_decode( ( opalestate_options( 'google_map_custom_style', '' ) ) );
wp_localize_script( 'opalestate-gmap', 'opalestateGmap', [
'style' => opalestate_options( 'google_map_style', 'standard' ),
'custom_style' => json_encode( $custom_map_styles ),
] );
/**
* Frontend property.
*/
wp_enqueue_script( 'opalestate-messages', OPALESTATE_PLUGIN_URL . 'assets/js/frontend/property.js', [ 'jquery' ], OPALESTATE_VERSION, false );
/**
@ -80,22 +88,20 @@ class OpalEstate_Enqueue {
wp_enqueue_script( 'tooltipster' );
}
// load global variables
wp_localize_script( 'opalestate-scripts', 'opalesateJS',
[
'ajaxurl' => admin_url( 'admin-ajax.php' ),
'siteurl' => get_template_directory_uri(),
'mapiconurl' => OPALESTATE_PLUGIN_URL . 'assets/map/',
'rtl' => is_rtl() ? 'true' : 'false',
'confirmed' => esc_html__( 'Are you sure to remove?', 'opalestate-pro' ),
'error_upload_size' => esc_html__( 'This file is has large volume size, please try to upload other.', 'opalestate-pro' ),
'size_image' => opalestate_options( 'upload_image_max_size', 0.5 ) * 1000000,
'mfile_image' => opalestate_options( 'upload_image_max_files', 10 ),
'size_other' => opalestate_options( 'upload_other_max_size', 0.8 ) * 1000000,
'mfile_other' => opalestate_options( 'upload_other_max_files', 10 ),
] );
// Load global variables
wp_localize_script( 'opalestate-scripts', 'opalesateJS', [
'ajaxurl' => admin_url( 'admin-ajax.php' ),
'siteurl' => get_template_directory_uri(),
'mapiconurl' => OPALESTATE_PLUGIN_URL . 'assets/map/',
'rtl' => is_rtl() ? 'true' : 'false',
'confirmed' => esc_html__( 'Are you sure to remove?', 'opalestate-pro' ),
'error_upload_size' => esc_html__( 'This file is has large volume size, please try to upload other.', 'opalestate-pro' ),
'size_image' => opalestate_options( 'upload_image_max_size', 0.5 ) * 1000000,
'mfile_image' => opalestate_options( 'upload_image_max_files', 10 ),
'size_other' => opalestate_options( 'upload_other_max_size', 0.8 ) * 1000000,
'mfile_other' => opalestate_options( 'upload_other_max_files', 10 ),
] );
///
$this->register_enqueue();
}
@ -137,9 +143,9 @@ class OpalEstate_Enqueue {
true
);
if( !defined("ELEMENTOR_VERSION") ) {
if ( ! defined( "ELEMENTOR_VERSION" ) ) {
wp_enqueue_style( 'jquery-swiper', OPALESTATE_PLUGIN_URL . '/assets/3rd/swiper/css/swiper.min.css' );
}
}
wp_enqueue_script( 'jquery-swiper' );
}