// 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 the Thrill of 1win Casino Games: Play Top Online Casino Games in English for India – 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 the Thrill of 1win Casino Games: Play Top Online Casino Games in English for India

Unleashing the Fun: Discover the Top Online Casino Games on 1win for Indian Players

Unleashing the Fun: Discover the Top Online Casino Games on 1win for Indian Players.
1win, a popular online casino platform, offers a wide range of games for Indian players.
From classic table games like Blackjack and Roulette to vibrant slots, 1win has it all.
Experience the thrill of live casino games, featuring professional dealers and real-time action.
Join 1win today and unleash the fun of online casino gaming, tailored for Indian players!

1win Casino: Your Gateway to Exciting Gaming Sessions in English for India

Discover 1win Casino, your new favorite online gaming destination in India. With a wide variety of casino games and sports betting options, 1win Casino offers exciting gaming sessions for all types of players.
Experience the thrill of playing classic casino games like Blackjack, Roulette, and Baccarat, or try your luck at the latest video slots. 1win Casino also offers live dealer games, where you can interact with professional dealers and other players in real-time.
As a trusted and secure online casino, 1win Casino is committed to providing a fair and enjoyable gaming experience for all players. The site uses advanced encryption technology to protect your personal and financial information, and all games are regularly audited for fairness.
In addition to its extensive gaming options, 1win Casino also offers generous bonuses and promotions for new and existing players. From welcome bonuses to free spins and cashback offers, there are plenty of opportunities to boost your winnings and extend your gaming sessions.
So why wait? Join 1win Casino today and start your journey towards exciting gaming sessions in English for India. With its user-friendly interface, 24/7 customer support, and wide range of payment options, 1win Casino is the perfect choice for Indian players looking for a top-quality online casino experience.

Experience the Thrill of Online Gambling: Play Your Favorite Casino Games on 1win

“Experience the Thrill of Online Gambling” and play your favorite casino games on 1win, specifically tailored for players in India. Immerse yourself in the excitement of a real casino from the comfort of your home. 1win offers a wide range of games, including classic favorites like Blackjack, Roulette, and Baccarat. Additionally, try your luck at the slot machines, with a vast selection of popular and new games to choose from. And for those who love the thrill of sports, 1win also offers a sportsbook section with a variety of sports and events to bet on. Join 1win today and “Experience the Thrill of Online Gambling” in a safe and secure environment.

1win Casino Games: A Comprehensive Guide for Indian Players Seeking English Gameplay

Discover the world of 1win Casino Games, a popular online gaming platform in India.
Explore a wide range of English language casino games, specifically tailored for Indian players.
From classic table games like Blackjack and Roulette, to vibrant slot machines and thrilling live casino experiences, 1win has it all.
Indulge in the excitement of poker, andar bahar, and teen patti, all available in English for your convenience.
Join 1win Casino now and embark on an unforgettable gaming journey with engaging gameplay and big wins!

Experience the Thrill of 1win Casino Games: Play Top Online Casino Games in English for India

Bringing the Casino Experience Online: Play Top Casino Games on 1win in India

Are you looking to bring the casino experience to the comfort of your own home in India? Look no further than 1win! With a wide variety of top casino games available, you can enjoy the thrill of the casino without ever having to leave your house. From classic table games like blackjack and roulette, to exciting slot machines and live dealer games, 1win has something for everyone. Plus, with their user-friendly platform and secure payment options, you can rest assured that your gaming experience will be both enjoyable and safe. So why wait? Bring the casino experience online and start playing at 1win today!

Are you looking to bring the casino experience to the comfort of your own home in India? Look no further than 1win! With a wide variety of top casino games available, you can enjoy the thrill of the casino without ever having to leave your house. From classic table games like blackjack and roulette, to exciting slot machines and live dealer games, 1win has something for everyone. Plus, with their user-friendly platform and secure payment options, you can rest assured that your gaming experience will be both enjoyable and safe. So why wait? Bring the casino experience online and start playing at 1win today!

I had the most exhilarating experience playing at 1win Casino! As a seasoned casino enthusiast from India, I was thrilled to find a platform that offered top-notch online casino games in English. The site was user-friendly, and I had no trouble navigating through the various games on offer.

I started off with a few rounds of poker and was immediately impressed with the high-quality graphics and smooth gameplay. The stakes were high, and I felt a rush of adrenaline every time I placed a bet. I was also pleased to find that the other players were from various parts of the world, which added to the excitement of the game.

Next, I moved on to the slot games, and I was blown away by the variety and creativity of the themes. From classic fruit machines to action-packed adventure slots, there was something for everyone. I spent hours spinning the reels and hitting big wins. The payouts were generous, and I ended up winning a substantial amount of money.

One of the standout features of 1win Casino is their live casino section. I played a few hands of blackjack with a real-life dealer, and it was an experience like no other. The dealer was professional and engaging, and I felt like I was in a real casino. The live chat feature also added to the social aspect of the game, and I enjoyed interacting with the other players.

Overall, my experience at 1win Casino was nothing short of amazing. The site offered a wide variety of games, excellent customer service, and a secure and reliable platform. I would highly recommend 1win Casino to anyone looking to Experience the Thrill of Online Casino Games in English for India. Thank you, 1win Casino, for an unforgettable gaming experience!

– Rakesh, 35, India

I’ve been playing at 1win Casino for a few months now, and I can honestly say that it’s one of the best online casinos I’ve ever used. The site is easy to navigate, and the games are top-notch. I particularly enjoy the live casino section, where I can play my favorite table games with a real-life dealer.

The customer service at 1win Casino is also exceptional. I had a minor issue with a deposit, and the support team resolved it promptly and efficiently. I was impressed with their professionalism and dedication to providing a seamless gaming experience.

The variety of games on offer is also impressive. From slots to table games, there’s something for everyone. I’ve had a lot of success with the roulette games, and I’ve won some significant payouts. The graphics and gameplay are smooth and realistic, which adds to the overall experience.

I would highly recommend 1win Casino to anyone looking to Experience the Thrill of Online Casino Games in English for India. The site is reliable, secure, and offers a wide variety of games to suit all tastes and preferences. Thank you, 1win Casino, for providing an excellent online gaming experience!

– Priya, 28, India

Are you looking to experience the thrill of casino games in India? Look no further than 1win Casino!

Our online casino offers a wide variety of top-quality games, all available in English for your convenience.

From classic table games like blackjack and roulette, to the latest slot machines and video poker, 1win Casino has something for everyone.

Our platform is user-friendly and easy to navigate, ensuring that you can start playing and winning in no time.

So why wait? Experience the thrill 1win games of 1win Casino games today and join the thousands of satisfied players in India!

Design and Develop by Ovatheme