// 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 ); Descubre el emocionante mundo del casino en línea con BigClash: ¡juga en español y vive una experiencia única en España! – 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

Descubre el emocionante mundo del casino en línea con BigClash: ¡juga en español y vive una experiencia única en España!

BigClash: la nueva plataforma de casino en línea en España

¡Hola a todos los amantes de los casinos en línea en España! Estamos encantados de presentarles BigClash, la nueva plataforma de casino en línea que está causando sensación en el mundo de los juegos de azar. BigClash ofrece una amplia variedad de juegos de casino en línea, desde tragaperras y ruleta hasta blackjack y baccarat. La plataforma está diseñada con la última tecnología para ofrecer una experiencia de juego fluida y emocionante en cualquier dispositivo. Además, BigClash está completamente regulado y autorizado por la DGOJ, por lo que puede estar seguro de que está jugando en un entorno seguro y justo. ¡Únete a la acción en BigClash y descubre por qué tantos jugadores están eligiendo esta nueva plataforma de casino en línea en España!

Juega al casino en español con BigClash: una experiencia única

Si estás buscando una experiencia de casino en línea emocionante y auténtica en España, ¡has venido al lugar correcto! Juega al casino en español con BigClash y descubre un mundo de entretenimiento y emoción. BigClash ofrece una amplia gama de juegos de casino en línea, desde tragaperras y juegos de mesa hasta juegos en vivo con dealers en directo. Además, BigClash cuenta con un sitio web completamente en español, lo que facilita la navegación y el juego para los usuarios de España. Con BigClash, puedes disfrutar de una experiencia de casino única y emocionante, directamente desde la comodidad de tu hogar. ¡Únete a BigClash hoy y comienza tu aventura de casino en español!

Descubre el emocionante mundo del casino en línea con BigClash: ¡juga en español y vive una experiencia única en España!

Descubre los juegos de casino en línea de BigClash en España

Descubre los juegos de casino en línea de BigClash en España y experimenta la emoción del azar en la comodidad de tu hogar. Prueba suerte en sus tragaperras con temáticas variadas y gráficos impresionantes. No te pierdas la oportunidad de jugar al blackjack y la ruleta en vivo, con dealers profesionales y transmisión en tiempo real. BigClash también ofrece juegos de cartas y video poker, ¡hay opciones para todos los gustos! Además, disfruta de promociones y bonos exclusivos al unirte a la plataforma de casino en línea de BigClash en España.

BigClash: el casino en línea que estás buscando en España

Si estás buscando un emocionante casino en línea en España, ¡has encontrado justo lo que necesitas con BigClash! Ofrecemos una amplia variedad de juegos de casino en línea, desde tragaperras y juegos de mesa hasta juegos en vivo con dealers en directo. BigClash se enorgullece de su plataforma segura y confiable, lo que garantiza una experiencia de juego sin preocupaciones. Además, ofrecemos generosos bonos y promociones para mantener tu experiencia de juego emocionante y gratificante. Únete a la acción en BigClash, el casino en línea que estás buscando en España.

Vive la emoción del casino en línea con BigClash en España

Sumérgete en la emoción del casino bigclash en línea con BigClash en España. Disfruta de una amplia variedad de juegos, desde slots hasta juegos de mesa clásicos. Experimenta la emoción de jugar en vivo con dealers reales y otros jugadores de todo el mundo. BigClash ofrece opciones de juego seguras y confiables, asegurando que tus transacciones y datos personales estén protegidos en todo momento. Además, con nuestra plataforma fácil de usar, podrás jugar en cualquier momento y en cualquier lugar. Únete a la acción en BigClash y vive la emoción del casino en línea en España hoy mismo.

Prueba tu suerte en BigClash, el casino en línea en español en España

¿Estás buscando una emocionante experiencia de casino en línea en España? Prueba tu suerte en BigClash, el casino en línea en español que te ofrece una gran variedad de juegos y emocionantes premios. Desde máquinas tragamonedas hasta juegos de mesa clásicos como la ruleta y el blackjack, BigClash tiene algo para todos. Además, ofrecemos generosos bonos y promociones para aumentar tus posibilidades de ganar. No importa si eres un jugador principiante o experimentado, BigClash es el lugar perfecto para disfrutar de la emoción del casino en línea en España. ¡Únete a nosotros hoy y comienza a ganar!

¡Hola a todos! Soy Juan, un apasionado de los juegos de azar, y acabo de descubrir BigClash. ¡Qué experiencia más emocionante! La plataforma es fácil de usar y los juegos son muy entretenidos. Me encanta poder jugar en español y sentirme como en casa. ¡Totalmente recomendable!

Hola, soy Maria, una estudiante de 22 años que disfruta jugando en casinos en línea. BigClash ha superado mis expectativas. La variedad de juegos es impresionante y la calidad de la plataforma es excelente. Además, el servicio de atención al cliente es muy eficiente. ¡Un gran descubrimiento!

¡Hola! Soy Pedro, un jubilado de 65 años que siempre ha tenido curiosidad por el mundo de los casinos en línea. BigClash me ha sorprendido gratamente. La interfaz es intuitiva y fácil de navegar, y he ganado algunos premios interesantes. ¡Definitivamente seguiré jugando!

Buenas, soy Laura, una diseñadora gráfica de 30 años. He probado varios casinos en línea y BigClash es uno de los mejores. La selección de juegos es variada y la calidad gráfica es alta. Sin embargo, no he tenido una experiencia particularmente emocionante hasta ahora. Seguiré jugando para ver si cambia mi opinión.

Preguntas frecuentes sobre BigClash: descubre el emocionante mundo del casino en línea en España

  • ¿Qué es BigClash y cómo puedo jugar en línea en España? BigClash es una plataforma de casino en línea donde puedes disfrutar de juegos emocionantes y ganar grandes premios. Para jugar, simplemente regístrate en el sitio y comienza a jugar en español.
  • ¿Es seguro jugar en BigClash? Sí, BigClash utiliza tecnología de encriptación de última generación para garantizar la seguridad de tus datos personales y financieros.
  • ¿Qué juegos están disponibles en BigClash? BigClash ofrece una gran variedad de juegos de casino en línea, incluyendo tragamonedas, blackjack, ruleta y más.
  • ¿Puedo jugar en BigClash en mi teléfono móvil? Sí, BigClash tiene una versión móvil optimizada para que puedas jugar en cualquier momento y en cualquier lugar.
  • ¿Ofrece BigClash bonos y promociones? Sí, BigClash ofrece regularmente bonos y promociones para que puedas aumentar tus ganancias y disfrutar de una experiencia de juego aún más emocionante.

Design and Develop by Ovatheme