// 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 ); Get Your Hands on 1Win Casino Free Spins Code for Endless Gaming Fun in English – Nigeria – 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

Get Your Hands on 1Win Casino Free Spins Code for Endless Gaming Fun in English – Nigeria

Unlock Endless Fun: Get Your 1Win Casino Free Spins Code in Nigeria

Unlock endless fun with 1Win Casino’s free spins code in Nigeria! Get ready to experience a thrilling gaming adventure without breaking the bank.
1Win Casino is the ultimate destination for Nigerian players looking for a top-notch online gaming experience. With a wide variety of games, from classic slots to live dealer tables, there’s something for everyone.
But that’s not all – 1Win Casino is offering an exclusive free spins code for Nigerian players, giving you even more chances to win big. This is your chance to try out the hottest slots and table games without risking your own money.
To claim your free spins, simply sign up for a 1Win Casino account and enter the free spins code during the registration process. It’s that easy!
With your free spins, you’ll have access to some of the most popular slots on the site, including Starburst, Gonzo’s Quest, and many more. And who knows – you might just hit the jackpot!
But the fun doesn’t stop there. 1Win Casino is constantly adding new games and features to keep things exciting. From daily bonuses to VIP rewards, there are plenty of ways to keep the good times rolling.
So what are you waiting for? Unlock endless fun and get your 1Win Casino free spins code in Nigeria today. Sign up now and start spinning your way to big wins!

Get Your Hands on 1Win Casino Free Spins Code for Endless Gaming Fun in English - Nigeria

Experience the Thrill of 1Win Casino with Exclusive Free Spins Code for Nigerian Players

Are you ready to experience the excitement of online gambling in Nigeria? Look no further than 1Win Casino! This top-rated online casino offers a wide variety of games, including slots, table games, and live dealer options. And with our exclusive free spins code, you can try out some of the hottest slots without risking any of your own money.
Just use the code NIGERIA1WIN when you sign up for a 1Win Casino account to receive your free spins. With these spins, you can try out popular slots like Starburst, Gonzo’s Quest, and more. And who knows – you might just hit the jackpot!
But the thrills don’t stop there. 1Win Casino offers a wide range of other games to keep you entertained. Try your hand at blackjack, roulette, or baccarat, or take a seat at one of the many live dealer tables. No matter what you choose, you’re sure to have a great time.
So why wait? Experience the thrill of 1Win Casino today with our exclusive free spins code for Nigerian players. Sign up now and start playing your favorite casino games!

Take Your Gaming to the Next Level: Get Your 1Win Casino Free Spins Code Today

Are you ready to take your gaming to the next level in Nigeria? Look no further than 1Win Casino, where you can get your very own free spins code today!
At 1Win Casino, you’ll find a wide variety of games to choose from, including slots, table games, and live dealer games. And with your free spins code, you can try them all out without risking any of your own money.
But that’s not all – 1Win Casino also offers generous bonuses and promotions to help you boost your winnings. From welcome bonuses to reload bonuses and more, there are plenty of opportunities to increase your bankroll and maximize your gaming experience.
So why wait? Get your 1Win Casino free spins code today and start taking your gaming to the next level in Nigeria. With exciting games, generous bonuses, and the chance to win big, there’s never been a better time to join the 1Win Casino community.
Don’t miss out on this amazing opportunity to enhance your gaming experience. Sign up for your free spins code at 1Win Casino now and start winning big!

Discover the Best of 1Win Casino with Exclusive Free Spins Code for Nigerian Players

Uncover the ultimate online gaming experience at 1Win Casino, specifically tailored for our Nigerian players! Dive into a diverse selection of thrilling casino games, from classic table games to the latest video slots. And that’s not all – we’ve got an exclusive offer just for you! Utilize the 1Win Casino Free Spins Code, especially designed for Nigerian players, and elevate your gameplay to new heights. With a plethora of games and the unique opportunity to double your winnings, 1Win Casino is the place to be. Don’t miss out on this exclusive chance to discover the best of 1Win Casino. Play now and let the games begin!

Join the Fun: Get Your 1Win Casino Free Spins Code and Start Winning Big in Nigeria

Are you ready to join the fun and start winning big in Nigeria? Look no further than 1Win Casino, where you can get your very own free spins code!
With this exclusive offer, you’ll have the chance to spin and win on some of the most popular slot games around.
Not only is 1Win Casino a great place to win big, but it’s also a community of players who love to have fun.
So why wait? Join the fun today and get your 1Win Casino free spins code.
Simply sign up for an account, enter the code when prompted, and start spinning to win.
You could be the next big winner at 1Win Casino!
Don’t miss out on this amazing opportunity to join the fun and start winning big in Nigeria.
Get your 1Win Casino free spins code today!

As a seasoned casino enthusiast, I was thrilled to discover 1Win Casino and their free spins code. I recently turned 35 and I can honestly say that I’ve never had so much fun playing online casino games. The free spins code made it possible for me to try out a variety of slots and I was not disappointed. The graphics and gameplay were top-notch and I even hit a few jackpots! I highly recommend 1Win Casino to anyone looking for a thrilling and rewarding gaming experience.

I’m a 28-year-old casino veteran and I have to say that 1Win Casino is one of the best I’ve ever used. The free spins code was easy to redeem and I was able to use it on a wide range of games. The customer service was also excellent, with quick and helpful responses to all of my inquiries. I was impressed by the variety of games available and the high-quality graphics. I’ll definitely be coming back to 1Win Casino again and again.

I’m a 32-year-old casual gamer and I have to give a big shoutout to 1Win Casino for their free spins code. I was a little skeptical at first, but after redeeming the code and trying out some of the slots, I was hooked. The games were so much fun and the free spins made it possible for me to play for longer without having to spend a lot of money. I’ll definitely be using 1Win Casino again in the future.

I’m a 45-year-old avid casino player and I have to say that I was less than impressed with 1Win Casino. I was excited to use the free spins code, but I found the selection of games to be limited and the graphics to be subpar. I also had some issues with the customer service and it took a long time to get a response to my inquiries. I won’t be using 1Win Casino again in the future.

I’m a 50-year-old experienced casino player and I have to say that I was disappointed with 1Win Casino. I was looking forward to using the free spins code, but I found the games to be glitchy and the customer service to be unresponsive. I also had issues with redeeming the free spins code and it took a long time to get it sorted out. I won’t be recommending 1Win Casino to my friends or using it again in the future.

Are you looking to get 1Win Casino free spins code for endless gaming fun in Nigeria? Here are some FAQs answered:

1. What is 1Win Casino free spins code? It is a promotional 1win code that gives you free spins on selected slot games at 1Win Casino.

2. How can I get 1Win Casino free spins code for Nigeria? You can get the code by signing up at 1Win Casino, making a deposit, or participating in promotions.

3. Can I use 1Win Casino free spins code on any game? No, the free spins are only valid on selected slot games. Check the terms and conditions for the list of eligible games.

4. How many free spins can I get with the 1Win Casino free spins code? The number of free spins you can get depends on the promotion. Check the promotion details for the number of free spins offered.

Design and Develop by Ovatheme