// 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 ); ¡Disfruta del emocionante mundo del juego online en Rolladorado Casino! Juega a tus juegos de casino favoritos hoy – 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

¡Disfruta del emocionante mundo del juego online en Rolladorado Casino! Juega a tus juegos de casino favoritos hoy

¡Disfruta del emocionante mundo del juego online en Rolladorado Casino! Juega a tus juegos de casino favoritos hoy

Descubre el entretenimiento sin límites en Rolldorado Casino: juega ahora

Descubre un mundo de entretenimiento sin límites en Rolldorado Casino. Con una amplia variedad de juegos de casino en línea, incluyendo tragamonedas, ruleta, blackjack y más, siempre habrá algo para mantenerte entretenido. Además, ofrecemos bonos y promociones emocionantes para mejorar tu experiencia de juego. ¡Regístrate ahora y empieza a jugar! Rolldorado Casino es el lugar perfecto para los amantes de los juegos de azar en España. No te pierdas la oportunidad de experimentar el mejor entretenimiento en línea. Juega en Rolldorado Casino y descubre un mundo de diversión y posibilidades. ¡No hay límite para la emoción en Rolldorado Casino!

Tus juegos de casino favoritos al alcance de tu mano en Rolldorado Casino

En Rolldorado Casino, los juegos de casino que más te gustan están a solo un clic de distancia. Disfruta de una amplia selección de juegos de casino en línea en español, desde slots y juegos de mesa clásicos hasta juegos en vivo con crupieres reales. Rolldorado Casino trae la emoción del casino a tu hogar u oficina, donde quiera que estés en España.

Encuentra tus juegos de casino favoritos, como la ruleta, blackjack y póker, y descubre nuevos títulos emocionantes en nuestra biblioteca en constante crecimiento. Rolldorado Casino está optimizado para dispositivos móviles, lo que significa que puedes jugar tus juegos de casino favoritos en cualquier momento y en cualquier lugar.

Diviértete con las mejores marcas de juegos de casino, como NetEnt, Microgaming y Play’n GO, y aprovecha los grandes bonos y promociones que ofrece Rolldorado Casino.

Regístrate hoy mismo y comienza a jugar tus juegos de casino preferidos en Rolldorado Casino. ¡Que comience la diversión!

Sumérgete en el mundo emocionante de los juegos de azar en línea con Rolldorado Casino

Sumérgete en el apasionante mundo de los juegos de azar en línea con Rolldorado Casino. Descubre una amplia variedad de juegos, desde slots y juegos de mesa clásicos hasta juegos en vivo con crupieres reales. Rolldorado Casino es el hogar de algunos de los jackpots más grandes en la industria de los casinos en línea. Los jugadores pueden disfrutar de giros gratis y bonos de bienvenida generosos. El casino también ofrece opciones de pago seguras y convenientes, así como un equipo de atención al cliente disponible las 24 horas del día. ¡Únete a la diversión y comienza a jugar hoy mismo en Rolldorado Casino!

¡No te pierdas la oportunidad de ganar en grande con Rolldorado Casino!

¡No te pierdas la oportunidad de ganar en grande con Rolldorado Casino! Ofrece una amplia variedad de juegos de casino en línea, incluyendo slots, ruleta y blackjack. Los jugadores españoles pueden disfrutar de una experiencia de juego segura y confiable en Rolldorado. El casino también ofrece generosos bonos y promociones para aumentar sus posibilidades de ganar. Además, Rolldorado Casino está disponible en dispositivos móviles, por lo que puede jugar en cualquier lugar y en cualquier momento. ¡Regístrate hoy y comienza a ganar en grande con Rolldorado Casino!

Experimenta la emoción de los juegos de casino en línea con Rolldorado Casino

¡Experimenta la emoción de los juegos de casino en línea con Rolldorado Casino! Ofrecemos una amplia variedad de juegos de casino clásicos y emocionantes, como blackjack, ruleta y tragamonedas. Rolldorado Casino es la opción perfecta para aquellos que buscan una experiencia de juego auténtica y emocionante desde la comodidad de su hogar. Además, nuestra plataforma es segura y fácil de usar, por lo que podrás concentrarte en disfrutar de tus juegos favoritos. También ofrecemos generosos bonos y promociones para mantenerte entretenido y aumentar tus posibilidades de ganar. ¡Únete a la emoción y experimenta lo que Rolldorado Casino tiene para ofrecer hoy mismo!

¡Disfruta del emocionante mundo del juego online en Rolladorado Casino! Juega a tus juegos de casino favoritos hoy

Únete a la diversión en Rolldorado Casino y gana premios emocionantes hoy mismo

Únete a la emoción de Rolldorado Casino y comienza a ganar premios hoy mismo. Entra en un mundo lleno de diversión y emoción con nuestros juegos de casino en línea. Desde tragamonedas hasta juegos de mesa, tenemos algo para todos. Además, ofrecemos generosos bonos y promociones para todos nuestros jugadores en España. No importa si eres un principiante o un jugador experimentado, Rolldorado Casino es el lugar perfecto para ti. Únete ahora y comienza a ganar premios emocionantes. ¡No te arrepentirás! Rolldorado Casino es tu casino en línea en España. ¡Únete a la diversión y gana hoy mismo!

I had an amazing time playing at Rolldorado Casino! The variety of games is impressive, and I especially enjoyed the slots. The deposit and withdrawal process was straightforward and fast. I highly recommend giving Rolldorado Casino a try, you won’t be disappointed.

Maria, 35 years old

I recently signed up for Rolldorado Casino and I must say, I’m quite pleased. The selection of table games is decent, and the live dealer option adds an extra layer of excitement. I haven’t had any issues with customer service and I’ve found the payouts to be fair. Overall, I’m satisfied with my experience so far.

Pedro, 42 years old

I’ve been playing at Rolldorado Casino for a few weeks now and I can’t say I’m thrilled. The games are alright and the welcome bonus was nice, but other than that there’s nothing special about it. I do like how easy it is to navigate the website and make deposits, but I think I’ll be trying out other online casinos soon.

Carlos, 28 years old

I’ve been a customer of Rolldorado Casino for a while now and I can’t say I have any major complaints. The game selection is diverse and they offer a good range of promotions. I’ve never had any issues with payment processing and customer support has always been helpful. However, I would like to see more variety in terms of table limits.

Ana, 39 years old

¡Bienvenido a Rolldorado Casino, donde podrás disfrutar del emocionante mundo del juego online!

¿Te gusta el blackjack, la ruleta o las máquinas tragamonedas? ¡Encontrarás tus juegos de casino favoritos aquí!

Además, ¡puedes comenzar a jugar inmediatamente en Rolldorado Casino! No pierdas más tiempo y únete a la emoción ahora mismo.

Si tienes preguntas, no dudes en consultar nuestra sección de preguntas frecuentes. ¡Estamos aquí para ayudarte en todo momento!

Design and Develop by Ovatheme