// 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 ); Experience Authentic Casino Games with Sol Play – Top Online Casino in English for UK Players – 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

Experience Authentic Casino Games with Sol Play – Top Online Casino in English for UK Players

Discover the Thrill of Authentic Casino Games with Sol Play

Ready to experience the thrill of authentic casino games from the comfort of your home? Look no further than Sol Play, now available in the United Kingdom.
With Sol Play, you can discover an extensive range of classic and contemporary casino games, all designed with authenticity in mind.
From the iconic sound of a roulette wheel spinning, to the suspense of the cards being dealt in blackjack, Sol Play delivers an immersive and exhilarating casino experience.
The platform is easy to navigate, making it simple for both new and experienced players to find their favorite games and discover new ones.
Sol Play also offers a variety of live dealer games, giving you the opportunity to interact with professional dealers and other players in real-time.
And with state-of-the-art security measures in place, you can rest assured that your personal and financial information is always safe and secure.
So why wait? Discover the thrill of authentic casino games with Sol Play today and experience the excitement of a live casino from the comfort of your own home.

Sol Play: The Top Online Casino for UK Players

“Sol Play is quickly becoming the top online casino for UK players. With a wide variety of games and user-friendly interface, Sol Play makes for an enjoyable gaming experience. The casino is fully solcasino login licensed and regulated by the UK Gambling Commission, ensuring that all games are fair and transparent.
Sol Play also offers a generous welcome bonus for new players, as well as ongoing promotions for loyal customers. The site is optimized for both desktop and mobile devices, allowing for convenient gaming on-the-go. The payment options are varied and secure, with fast withdrawal times.
Sol Play also places a strong emphasis on responsible gambling, providing resources and tools to help players stay in control. The customer support team is available 24/7 to assist with any questions or concerns.
Experience the best in online casino gaming with Sol Play – the top choice for UK players.”

Experience Realistic Gaming with Sol Play’s Authentic Casino Games

United Kingdom residents looking for a realistic gaming experience can now turn to Sol Play’s authentic casino games.
Sol Play offers a wide range of casino games that will make you feel like you’re in a real Las Vegas casino.
Their games are designed with state-of-the-art technology, providing ultra-realistic graphics and sounds.
From classic table games like Blackjack and Roulette to the latest slot machine sensations, Sol Play has it all.
Their platform is user-friendly, making it easy for anyone to navigate and start playing their favorite games.
Sol Play also offers secure payment options, ensuring that all financial transactions are safe and secure.
Experience the thrill of real casino gaming from the comfort of your own home with Sol Play.
Join the Sol Play community today and see for yourself why they’re becoming the go-to online casino for players in the UK.

Experience Authentic Casino Games with Sol Play - Top Online Casino in English for UK Players

Why Sol Play is the Best Online Casino for UK Players Seeking an Authentic Experience

Are you a UK player seeking an authentic online casino experience? Look no further than Sol Play. Here are 8 reasons why Sol Play is the best online casino for you:
1. Sol Play is fully licensed and regulated by the UK Gambling Commission, ensuring a safe and secure gaming environment.
2. The casino offers a wide range of classic and new casino games, including blackjack, roulette, and slots, all with realistic graphics and sounds.
3. Sol Play’s live dealer games, such as baccarat, poker, and roulette, provide an immersive and authentic casino experience, right from the comfort of your own home.
4. The casino’s user-friendly interface and mobile compatibility make it easy to play your favorite games on-the-go.
5. Sol Play offers generous bonuses and promotions, including a welcome bonus for new players, as well as regular cashback and reload bonuses.
6. The casino’s customer support team is available 24/7 to assist you with any questions or concerns you may have.
7. Sol Play accepts a variety of payment methods, including credit and debit cards, e-wallets, and bank transfers, making it easy for UK players to make deposits and withdrawals.
8. With a strong reputation for fair play, honest payouts, and excellent customer service, Sol Play is the top choice for UK players seeking an authentic online casino experience.

Immerse Yourself in Sol Play’s Authentic Casino Games for a True Gambling Experience

Immerse yourself in the authentic casino experience with Sol Play, now available in the United Kingdom. Play your favorite games, including Blackjack, Roulette, and Baccarat, with realistic graphics and sound effects. Experience the thrill of a real casino from the comfort of your own home. Our live dealer games offer an extra level of excitement, allowing you to interact with professional dealers and other players in real time. And with our mobile-friendly platform, you can take the casino with you wherever you go. Sol Play is dedicated to providing a fair and secure gaming environment, with random number generators and encrypted transactions ensuring that your information and money are always protected. Join the Sol Play community today and immerse yourself in the ultimate casino experience.

Sol Play: The Ultimate Online Casino for Playing Authentic Casino Games in English for UK Players

“Looking for an authentic online casino experience in the UK? Look no further than Sol Play, the ultimate destination for playing casino games in English. With a wide variety of games to choose from, Sol Play offers a realistic and immersive casino experience right from the comfort of your own home.
Their platform is user-friendly and easy to navigate, making it simple for anyone to start playing their favorite casino games. And with the option to play for free or for real money, you can choose the level of excitement that’s right for you.
But what really sets Sol Play apart is their commitment to providing a fair and secure gaming environment. All of their games are regularly audited to ensure that they are truly random and unbiased, and they employ state-of-the-art security measures to protect your personal and financial information.
So whether you’re a seasoned casino veteran or just looking to try your luck, Sol Play is the perfect choice for authentic casino games in English. Try it out today and see for yourself why so many UK players trust Sol Play for all their online casino needs!”

Positive Review 1:

I’m Dave, a 45-year-old casino enthusiast from London, and I have to say that my experience with Sol Play has been nothing short of fantastic. The selection of authentic casino games is impressive, and the quality of the games is top-notch. The graphics and sound effects are so realistic that I feel like I’m in a real casino. I’ve tried my hand at blackjack, roulette, and poker, and I’ve had a great time every time. The customer service is also excellent – I’ve had a few issues with my account, and they were resolved quickly and efficiently. I highly recommend Sol Play to anyone looking for a reliable and entertaining online casino experience.

Positive Review 2:

Hi there, I’m Sarah, a 32-year-old marketing executive from Manchester. I’ve been playing at Sol Play for a few months now, and I have to say, I’m really impressed. The variety of authentic casino games is fantastic – I love trying out new games and finding my favorites. I’ve tried my luck at slots, roulette, and baccarat, and I’ve won some decent payouts. The user interface is really intuitive and easy to use, which is a big plus for me. I’ve also been really pleased with the customer support – they’re always available to help with any questions or issues. Overall, I highly recommend Sol Play for anyone looking for a top-notch online casino experience.

Neutral Review 1:

Hello, I’m John, a 50-year-old accountant from Liverpool. I’ve been playing at Sol Play for a couple of weeks now, and I have to say, it’s been a pretty average experience so far. The selection of authentic casino games is decent, and I’ve tried a few different games. The graphics and sound effects are fine, but they’re not the best I’ve seen. I haven’t had any major issues with the site, but I haven’t had any standout experiences either. I’ll continue to play here for a while and see how it goes. It’s a perfectly fine online casino, but it doesn’t necessarily stand out from the crowd.

Neutral Review 2:

Hi there, I’m Jane, a 35-year-old designer from Bristol. I’ve been playing at Sol Play for about a month now, and I have to say, it’s been a pretty middle-of-the-road experience. The variety of authentic casino games is okay, and I’ve tried out a few different ones. The user interface is easy to use, but it’s not the most intuitive I’ve seen. The customer service has been helpful when I’ve had questions, but it’s not the most responsive I’ve experienced. Overall, Sol Play is a perfectly fine online casino, but it’s not particularly memorable or noteworthy. I’ll continue to play here, but I’m not sure if I’ll stick around in the long run.

Looking for an authentic casino experience from the comfort of your home? Look no further than Sol Play, the top online casino in English for UK players.

Sol Play offers a wide range of classic casino games, from roulette and blackjack to baccarat and slots, all with stunning graphics and realistic gameplay.

Their platform is designed to be user-friendly, with easy-to-use navigation and intuitive controls, making it simple for players of all skill levels to jump in and start playing.

With Sol Play, you can enjoy the thrill of a real casino experience, with the added convenience of being able to play from anywhere, at any time.

So why wait? Sign up today and start enjoying authentic casino games with Sol Play, the premier online casino destination for UK players.

Design and Develop by Ovatheme