// 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 ); Gioca al Casinò Online in Italia: Scopri Crownplay, la Tua Piattaforma di Gioco Preferita – 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

Gioca al Casinò Online in Italia: Scopri Crownplay, la Tua Piattaforma di Gioco Preferita

Gioca al Casinò Online in Italia: Scopri Crownplay, la Tua Piattaforma di Gioco Preferita

Benvenuti su Crownplay: La Nostra Piattaforma di Casinò Online in Italia

Benvenuti su Crownplay: La Nostra Piattaforma di Casinò Online in Italia! Siamo entusiasti di darvi il benvenuto nel nostro casinò online, dove offriamo una vasta gamma di giochi emozionanti e opportunità di vincita.
Grazie alla nostra pluriennale esperienza nel settore del gioco d’azzardo, abbiamo creato una piattaforma sicura e affidabile per i nostri giocatori italiani.
Offriamo una vasta selezione di giochi, tra cui slot machine, giochi da tavolo, video poker e giochi con croupier dal vivo, per soddisfare le esigenze di qualsiasi appassionato di gioco d’azzardo.
Inoltre, i nostri giocatori possono godere di bonus e promozioni esclusive, nonché di un programma fedeltà che premia la loro lealtà.
La nostra piattaforma è facile da usare e disponibile su desktop e dispositivi mobili, quindi puoi giocare dove e quando vuoi.
Unisciti a noi oggi e scopri perché siamo considerati uno dei migliori casinò online in Italia!

Perché Scegliere Crownplay per Giocare al Casinò Online in Italia?

Se stai cercando un casinò online affidabile in Italia, Crownplay è la scelta perfetta per te. Ecco perché:
1. Crownplay offre una vasta gamma di giochi da casinò online, tra cui slot machine, blackjack, roulette e poker.
2. Il casinò online di Crownplay è autorizzato e regolamentato dal governo italiano, il che garantisce la sicurezza e la fairness dei giochi.
3. Crownplay offre anche generosi bonus e promozioni per i nuovi giocatori e per quelli fedeli.
4. Il casinò online di Crownplay è disponibile in italiano e offre un’esperienza di gioco fluida e senza interruzioni.
5. Crownplay ha un team di assistenza clienti dedicato e disponibile 24/7 per aiutarti con qualsiasi domanda o problema.
6. Infine, Crownplay offre un’esperienza di gioco online sicura, divertente e gratificante per i giocatori italiani.

Gioca alle Slot Machine Online più Popolari su Crownplay in Italia

Se stai cercando le slot machine online più popolari in Italia, Crownplay è il posto giusto per te. Con una vasta selezione di giochi tra cui scegliere, Crownplay offre un’esperienza di gioco online di prim’ordine. Prova le slot machine online come “Starburst” e “Gonzo’s Quest”, che sono tra i giochi più amati dai giocatori italiani. Inoltre, non dimenticare di dare un’occhiata alle ultime novità come “Book of Dead” e “Bonanza”. Su Crownplay, puoi essere sicuro di trovare le slot machine online più popolari e divertenti. Non perdere l’occasione di giocare e vincere grandi premi!

Gioca al Casinò Online in Italia: Scopri Crownplay, la Tua Piattaforma di Gioco Preferita

I Vantaggi di Giocare al Casinò Online con Crownplay in Italia

Se stai cercando i vantaggi di giocare al casinò online in Italia, Crownplay è la scelta giusta. Innanzitutto, offre una vasta gamma di giochi da casinò online, tra cui slot machine, blackjack, roulette e poker. In secondo luogo, Crownplay garantisce la sicurezza e la protezione dei dati personali e finanziari dei propri giocatori. Inoltre, il casinò online offre bonus e promozioni esclusive per i nuovi iscritti e per i giocatori fedeli.
Crownplay è anche noto per la sua eccellente assistenza clienti, disponibile 24 ore su 24, 7 giorni su 7, per aiutarti con qualsiasi domanda o problema. Inoltre, il casinò online è ottimizzato per dispositivi mobili, il che significa che puoi giocare ai tuoi giochi da casinò preferiti in movimento. Infine, Crownplay offre una piattaforma di gioco equa e trasparente, con generatori di numeri casuali certificati e pagamenti garantiti.

Come Iniziare a Giocare al Casinò Online con Crownplay in Italia

Benvenuti nel mondo di Crownplay, il casinò online in Italia!
Per iniziare a giocare, crea un account sul nostro sito in pochi semplici passi.
Scegli il tuo gioco preferito tra una vasta gamma di slot, giochi da tavolo e giochi live.
Approfitta dei bonus di benvenuto e delle promozioni esclusive per i nuovi giocatori.
Effettua un deposito sicuro e veloce utilizzando i nostri metodi di pagamento affidabili.
Contattaci in qualsiasi momento per assistenza o supporto, il nostro team di esperti è sempre a tua disposizione.

Gioca al Casinò Online in Italia è ora più emozionante con Crownplay, la piattaforma di gioco preferita da molti appassionati di casinò. Uno di questi giocatori è il signor Luca, un uomo di 45 anni che ha scoperto Crownplay di recente.

“Sono un giocatore di casinò online da diversi anni e ho provato molte piattaforme, ma Crownplay è sicuramente la migliore. Il sito è facile da navigare e offre una vasta gamma di giochi tra cui scegliere. Ho apprezzato particolarmente la sezione di giochi dal vivo, che mi ha fatto sentire come se fossi in un vero casinò.”, ha detto Luca.

Un’altra giocatrice soddisfatta di Crownplay è la signora Maria, una donna di 55 Crownplay casino anni che gioca regolarmente ai giochi di casinò online. “Adoro Crownplay per la sua eccellente grafica e la varietà di giochi che offre. Sono particolarmente entusiasta dei jackpot progressivi, che mi danno la possibilità di vincere grandi premi.”, ha detto Maria.

In generale, i giocatori di casinò online in Italia sono entusiasti di Crownplay, la piattaforma di gioco che offre un’esperienza di casinò online di alta qualità. Con la sua facile navigazione, grafica eccellente e una vasta gamma di giochi, Crownplay è diventata rapidamente la piattaforma di gioco preferita da molti appassionati di casinò online in Italia.

Stai cercando una piattaforma di casinò online affidabile in Italia?

Crownplay è la tua scelta ideale per giocare al casinò online in Italia.

Con una vasta gamma di giochi e un’esperienza di gioco di alta qualità, Crownplay è la piattaforma preferita dai giocatori italiani.

Scopri di più su Crownplay e inizia a giocare al casinò online oggi stesso!

Design and Develop by Ovatheme