"", 'English' => 'en', 'Arabic' => 'ar', 'Basque' => 'eu', 'Bengali' => 'bn', 'Bulgarian' => 'bg', 'Catalan' => 'ca', 'Chinese (Simplified)' => 'zh-CN', 'Chinese (Traditional)' => 'zh-TW', 'Croatian' => 'hr', 'Czech' => 'cs', 'Danish' => 'da', 'Dutch' => 'nl', 'English (Australian)' => 'en-AU', 'English (Great Britain)' => 'en-GB', 'Farsi' => 'fa', 'Filipino' => 'fil', 'Finnish' => 'fi', 'French' => 'fr', 'Galician' => 'gl', 'German' => 'de', 'Greek' => 'el', 'Gujarati' => 'gu', 'Hebrew' => 'iw', 'Hindi' => 'hi', 'Hungarian' => 'hu', 'Indonesian' => 'id', 'Italian' => 'it', 'Japanese' => 'ja', 'Kannada' => 'kn', 'Korean' => 'ko', 'Latvian' => 'lv', 'Lithuanian' => 'lt', 'Malayalam' => 'ml', 'Marathi' => 'mr', 'Norwegian' => 'no', 'Polish' => 'pl', 'Portuguese' => 'pt', 'Portuguese (Brazil)' => 'pt-BR', 'Portuguese (Portugal)' => 'pt-PT', 'Romanian' => 'ro', 'Russian' => 'ru', 'Serbian' => 'sr', 'Slovak' => 'sk', 'Slovenian' => 'sl', 'Spanish' => 'es', 'Swedish' => 'sv', 'Tagalog' => 'tl', 'Tamil' => 'ta', 'Telugu' => 'te', 'Thai' => 'th', 'Turkish' => 'tr', 'Ukrainian' => 'uk', 'Vietnamese' => 'vi'); private $urlScript, $urlGoogleScript, $mapData, $settingsData; private $defaultLocation = array("lat"=>"-33.8688","lng"=>151.2195); private $defaultZoom = 13, $isInited = false; private $urlStatic; private static $serial = 0; /** * the constructor */ public function __construct(){ $this->apiKey = "yourkey"; //get from general settings later $this->apiKey = trim($this->apiKey); if(empty($this->apiKey)) $this->apiKey = null; } /** * get API key, default or private */ private function getAPIKey(){ if(!empty($this->apiKey)) return($this->apiKey); return($this->defaultAPIKey); } /** * init scripts url */ private function initScripts(){ $rand = rand(10,999999); $this->urlScript = GlobalsUC::$urlPlugin."js/unitecreator_map_picker.js?rand=".$rand; $apiKey = $this->getAPIKey(); $this->urlGoogleScript = "https://maps.googleapis.com/maps/api/js?key={$apiKey}&libraries=places"; $this->urlStatic = "https://maps.googleapis.com/maps/api/staticmap?key={$apiKey}"; } /** * init */ private function initSettings(){ $settings = new UniteCreatorSettings(); $settings->addSap(esc_html__("Size and Location", "unlimited-elements-for-elementor"), "size_location"); $settings->addTextBox("width","100%",esc_html__("Map Width","unlimited-elements-for-elementor"),array("unit"=>"px or %")); $settings->addTextBox("height","300",esc_html__("Map Height","unlimited-elements-for-elementor"),array("unit"=>"px or %")); $settings->addHr(); $settings->addTextBox("location", "", "Location"); $params = array(UniteSettingsUC::PARAM_ADDTEXT => ""); $settings->addButton("button_my_location", esc_html__("Goto My Location", "unlimited-elements-for-elementor"), UniteSettingsUC::PARAM_NOTEXT, $params); //--------- add marker $settings->addSap(esc_html__("Marker", "unlimited-elements-for-elementor"), "marker"); $arrMarkerType = array(); $arrMarkerType["Default Marker"] = "default"; $arrMarkerType["No Marker"] = "no"; $arrMarkerType["Shape from Icon"] = "icon"; $arrMarkerType["Shape from Image"] = "image"; $settings->addSelect("marker_type", $arrMarkerType, "Marker Type","default"); $iconParams = array("icons_type"=>"map"); $settings->addIconPicker("icon","","Marker Icon", $iconParams); $settings->addControl("marker_type", "icon", "show", "icon"); $settings->addImage("marker_image","",esc_html__("Marker Image","unlimited-elements-for-elementor")); $settings->addControl("marker_type", "marker_image", "show", "image"); $settings->addSap(esc_html__("Style", "unlimited-elements-for-elementor"), "style"); $arrStyles = array( "[Standard]"=>"", "Silver"=>"silver", "Retro"=>"retro", "Dark"=>"dark", "Night"=>"night", "Aubegine"=>"aubegine", "Custom"=>"custom" ); $settings->addSelect("style", $arrStyles, "Map Style"); //add custom style textarea $params = array(); $params[UniteSettingsUC::PARAM_ADDTEXT] = "
"; $settings->addTextArea("style_json", "", "Custom Style", $params); $settings->addStaticText("Paste here map style from Google Map Styler or Snazzy Maps"); $settings->addControl("style", "style_json", "show", "custom"); //add advanced $settings->addHr(); //--- map type $arrMapType = array( "Roadmap"=> "roadmap", "Satellite"=> "satellite", "Hybrid"=> "hybrid", "Terrain"=> "terrain" ); $settings->addSelect("map_type", $arrMapType, "Map Type", "roadmap"); $settings->addSap(esc_html__("Language and Controls", "unlimited-elements-for-elementor"), "language_controls"); //--- language $settings->addSelect("language", $this->arrLangs, esc_html__("Language", "unlimited-elements-for-elementor"), ""); $settings->addHr(); $settings->addRadioBoolean("zoomControl", "Show Zoom Control"); $settings->addRadioBoolean("mapTypeControl", "Show Type Control"); $settings->addRadioBoolean("streetViewControl", "Show Street View Control"); $settings->addRadioBoolean("fullscreenControl", "Show Full Screen Control"); //set settings data if(!empty($this->settingsData)) $settings->setStoredValues($this->settingsData); $this->settingsData = $settings->getArrValues(); $this->settings = $settings; $this->settingsOutput = new UniteSettingsOutputSidebarUC(); $this->settingsOutput->init($this->settings); } /** * put parse icons html from google earty icons page */ private function putParseIconsHtml(){ ?> mapData; $addHtml = ""; if(!empty($data)) $addHtml = UniteFunctionsUC::jsonEncodeForHtmlData($data,"mapdata"); $addOverlay = false; if(empty($this->apiKey) || $this->apiKey === $this->defaultAPIKey) $addOverlay = true; $urlGeneralSettings = HelperUC::getViewUrl(GlobalsUC::VIEW_SETTINGS); $urlGeneralSettings .= "#tab=fields_settings"; $linkGeneralSettings = HelperHtmlUC::getHtmlLink($urlGeneralSettings, esc_html__("General Settings","unlimited-elements-for-elementor"),"","",true); ?>