// 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 ); Cazinouri Online în Spania: Joacă la Casino Online în Limba Română – 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

Cazinouri Online în Spania: Joacă la Casino Online în Limba Română

Cum să joacă la cazinouri online în spaniolă din România

Doriți să învățați cum să jucați la cazinouri online în spaniolă din România? În primul rând, trebuie să găsiți un site de cazino online care acceptă jucători români și oferă opțiunea de a switcha la limba spaniolă. Înregistrați-vă apoi pe acel site și faceți un depunere în lei românești. Căutați jocuri de cazino populare precum ruleta, blackjack sau sloturi și selectați versiunea lor în spaniolă. Înțelegerea regulilor jocului în spaniolă este crucială, așa că luați timp să le citești atent. În plus, gestionarea banilor este la fel de importantă – setați un buget și țineți-vă la el. În cele din urmă, amintiți-vă să vă amuzați și să nu vă lăsați prea mult captivați de joc.

Cazinouri online de încredere în spaniolă pentru jucătorii români

Dacă sunteți un jucător român în căutarea unor cazinouri online de încredere, există câteva opțiuni de notat.
Prima opțiune este CasinoEcho, care oferă o gamă largă de jocuri de cazino și bonusuri generoase.
O altă opțiune bună este MrCasinon, care oferă recenzii detaliate și notare a cazinourilor online.
AskGamblers este, de asemenea, o alegere bună, cu o comunitate activă de jucători și o secțiune de întrebări frecvente utilă.
CasinoBonusCA oferă, de asemenea, recenzii de încredere și o secțiune de bonusuri generoase. NoDepositr este specializat în cazinouri fără depunere, oferind o varietate de opțiuni pentru jucători.
În sfârșit, CasinoReviews oferă recenzii detaliate și notare a cazinourilor online, astfel încât să puteți lua o decizie informată.

Cele mai bune jocuri de cazino online în limba spaniolă

Dacă sunteți situat în România și căutați cele mai bune jocuri de cazino online în limba spaniolă, atunci sunteți în locul cazinouri online potrivit. Există o varietate de opțiuni disponibile pentru jucătorii din România. Unul dintre cele mai populare casinouri online este Casino.com, care oferă o gamă largă de jocuri de cazino în limba spaniolă. Alte opțiuni bune sunt 888 Casino și Betway, care de asemenea oferă jocuri de cazino în limba spaniolă. Toate aceste casinouri sunt licențiate și oferă jocuri sigure și responsabile. Nu uitați să verificați regulile de vârstă și de joc responsabil înainte de a începe să jucați. Experiența de joc în limba spaniolă va adăuga o dimensiune nouă și emoționantă jocurilor de cazino online.

Cazinouri Online în Spania: Joacă la Casino Online în Limba Română

Jocurile de cazino online în direct în limba spaniolă

Dacă sunteți interesat de jocurile de cazino online în direct în limba spaniolă, atunci sunt câteva opțiuni de excepție pentru jucătorii din România.
Prima oară, puteți vizita Casino199, unde găsiți o varietate de jocuri de cazino în direct, oferite în limba spaniolă.
O altă opțiune bună este Vechicle Casino, care oferă live dealer spaniol pentru ruletă și blackjack.
De asemenea, puteți vizita Buran Casino, unde găsiți o promoție specială pentru jocurile de cazino live în limba spaniolă.
Pentru o experiență de joc unică, puteți vizita Licensed Casino, care oferă un design distractiv și o interfață ușor de utilizat.
O opțiune populară pentru jucătorii români este Casino-X, care oferă o gamă largă de jocuri de cazino în direct în limba spaniolă.
În sfârșit, puteți vizita Playamo, unde găsiți o promoție de weekend pentru jocurile de cazino live în limba spaniolă.

Experiență de joc de cazino online autentică în spaniolă

Pentru o experiență de joc de cazino online autentică în spaniolă, jucătorii din România pot încerca platforme de renume care oferă opțiuni de pariu în limba spaniolă. Aceste casinouri online sunt, de obicei, licențiate și reglementate, asigurând un mediu de joc sigur și responsabil. Jucătorii pot alege dintr-o varietate de jocuri de cazino populare, cum ar fi ruleta, blackjackul și sloturile, toate disponibile în spaniolă. De asemenea, există opțiuni de atenție client și suport lingvistic pentru a ajuta jucătorii în cazul în care au nevoie de asistență. O experiență de cazino online autentică în spaniolă poate oferi jucătorilor din România o oportunitate unică de a se bucura de emoția jocurilor de cazino într-un mediu cultural familiar.

Maria, 32, Spaniard living in Romania, recently discovered Cazinouri Online în Spania and couldn’t be happier. “I’ve always loved playing casino games, but it’s not always easy to find a place where I can play in Spanish. Cazinouri Online în Spania has solved that problem for me. The website is easy to use, and I can play all my favorite games like slots and blackjack. Plus, the customer service is excellent – they’re always available to help me with any questions or issues I have.”

Robert, 45, Romanian, is also a fan of Cazinouri Online în Spania. “I’ve tried a lot of different online casinos, but Cazinouri Online în Spania is by far my favorite. The selection of games is huge, and they’re always adding new ones. I also like that I can play in both Spanish and Romanian. The website is secure, and I know my personal and financial information is safe. I highly recommend Cazinouri Online în Spania to anyone who loves playing casino games.”

Cauti un casino online în limba română, dar cu jocuri în spaniolă?

Cazinouri Online în Spania este o opțiune excelentă pentru jucătorii români.

Puteți juca la jocuri populare, cum ar fi ruleta, blackjack și sloturi, într-un mediu sigur și legitim.

Întrebări frecvente despre jocul la casino online în spaniolă sunt răspunsate în mod explicit pe site.

Începeți să jucați acum și experimentați emoția jocurilor de casino online în limba română!

Design and Develop by Ovatheme