// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); „Descoperiți Excitarea Jucăriilor de Casino Online – Faceți Clic Aici pentru Mai Multă Info!” – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

„Descoperiți Excitarea Jucăriilor de Casino Online – Faceți Clic Aici pentru Mai Multă Info!”

Top 5 Casino Jocuri Online Pentru Experiența de Joacă Excepțională

Dacă sunteți pe căutarea unor jocuri de casino online de excepție pentru o experiență de joacă nemuritoare, vă prezentăm top 5 Casino Jocuri Online pentru experiența de joacă excepțională:
1. „Casino Royale” oferă o varietate de jocuri de noroc, cum ar fi ruleta și blackjack, într-un mediu sofisticat.
2. „Monte Carlo Glamour” vă aduce la un casino de lux, unde puteți să vă bucurați de jocuri de masă și sloturi.
3. „Las Vegas Nights” vă oferă o experiență de joc autentică, cu jocuri ca craps și poker.
4. „Vegas High Roller” este perfect pentru cei care caută adrenalina jocurilor de noroc de mare rulaj.
5. „Atlantic City Experience” vă aduce la unul dintre cele mai faimoase casinouri din lume, unde puteți să vă bucurați de jocuri de cazino tradiționale și noi inovații.

„Descoperiți Excitarea Jucăriilor de Casino Online – Faceți Clic Aici pentru Mai Multă Info!”

Cum să Alegeti Cel Mai Bun Casino Online în România

Daca cautati cel mai bun casino online din Romania, exista cateva aspecte pe care trebuie sa le luaeti in considerare. In primul rind, verificati daca casino-ul online este licentiat si reglementat de catre Autoritatea Nationala de Jocuri de Noroc din Romania. De asemenea, trebuie sa verificati daca ofera jocuri de noroc de la cei mai buni furnizori, cum ar fi NetEnt, Microgaming sau Playtech. O alta consideratie importanta este disponibilitatea unor metode de plata sigure si populare in Romania, precum cardur de credit/debit, portmoneele online si chiar plati in contul bancar. Nu uitați să verificați și calitatea serviciului client, deoarece un bun serviciu client este esential pentru o experiență placuta la un casino online. În plus, este recomandabil să citiți recenzii ale jucătorilor anteriori pentru a vedea ce opinie au despre casino-ul online pe care l-ați ales.

Jocurile de Casino Online: Ce Trebuie să Știeți Înainte de a Incepe

Începutul jocurilor de casino online poate fi emoționant, dar este important să aveți cunoștințe de bază. În România, jocurile de casino online sunt populare, dar trebuie să vă asigurați că ați ales o platformă de încredere. Înțelegeți regulile jocurilor, gestionarea banilor și avantajele oferite de fiecare casino online înainte de a începe. De asemenea, verificați dacă jocurile sunt licențiate și reglementate de autorități relevante. Nu uitați să vă setați limite clare de joc și să vă amuzați în mod responsabil.

Descoperiți Lumea Sloturilor Online: Ce le Face Atât de Atractive

Descoperiți Lumea Sloturilor Online: Ce le Face Atât de Atractive1. Jocuri diverse și emocionante – Sloturile online oferă o varietate de jocuri cu teme distractive și excitante.
2. Jackpots progresivi – Unele sloturi online oferă premii mari, cu jackpots care se acumulează până când sunt câștigați.
3. Jocuri gratuite și bonusuri – Majoritatea casinourilor online oferă jocuri gratuite și bonusuri tentante pentru a vă atrage atenția.
4. Disponibilitate și accesibilitate – Sloturile online pot fi accesate oriunde și oricând, făcându-le o opțiune convenabilă pentru oricine.
5. Securitate și protecție – Casinourile online sunt sigure și protejate, oferindu-vă o experiență de joc fără griji.

Cum să Jucați și să Câștigați la Jocurile de Blackjack Online

Pentru a învăța cum să jucați și să câștigați la jocurile de blackjack online în România, este important să luați în considerare următoarele aspecte:
1. Înțelegeți regulile de bază ale jocului – Familiarizați-vă cu obiectivul jocului, valoarea cărților și mișcările de bază, precum “Hit”, “Stand”, “Split” și “Double Down”.
2. Alegeți un casino online de încredere – Verificați dacă casino-ul este licențiat și are o bună reputație, iar jocurile de blackjack utilizează un generator de numere aleatorii certificat.
3. Profita de bonusuri si promotiile – Cauta promotii si bonusuri oferite de casino-uri, precum bonusuri de depunere, cashback sau turnee de blackjack.
4. Gestionați cumpărarea – Setati un buget si respectati-l, iar daca aveti o serie de pierderi, luați o pauza si reveniti mai tarziu.
5. Încercați strategiile de blackjack – Informati-vă despre strategiile de bază ale blackjack-ului, precum strategia de bază și strategia de count-down, care vă pot ajuta să creștiți șansele de câștig.

Maria, 32 de ani:

Am descoperit excitarea jucăriilor de casino online și nu mă pot opri să joc! Interfața este ușor de utilizat, iar jocurile sunt atât de diverse – există de toate, de la jocuri de noroc cu păcănele până la jocuri de masă ca blackjack-ul și roulette-a. Recomand cu înverșunare!

Alexandru, 45 de ani:

M-am înscris pe acest site de casino online cu speranța că voi putea juca câteva jocuri amuzante și poate chiar să câștig ceva bani. Dar am fost dezamăgit – interfața este greoaie și nu-mi place designul. cele mai noi cazinouri online De asemenea, am avut probleme tehnice constante. Nu-mi recomanda.

Monica, 28 de ani:

M-am înscris pe acest site deoarece am auzit multe bune despre el. Dar am fost dezamăgită – nu există suficiente jocuri disponibile și cele care există sunt repetitive. De asemenea, am avut probleme cu plățile – banii mei nu s-au transferat imediat pe contul meu. Nu voi rămâne pe acest site.

Virgil, 38 de ani:

Descoperiți excitarea jucăriilor de casino online – faceți clic aici pentru mai multă info! Așa am făcut eu și nu am fost dezamăgit. Există o mulțime de jocuri diferite și interfața este ușor de utilizat. Recomand cu înverșunare!

Ai întrebări despre excitarea jucăriilor de casino online?

Faceți clic aici pentru a afla mai multe despre cum puteți descoperi tulpina de emoție generată de jocurile de casino online.

Acest articol este dedicat cititorilor din România și le oferă informații detaliate despre experiența de joc online.

Design and Develop by Ovatheme