// 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 ); Découvrez notre Avis sur l’Application 1win : Jouez au Casino en Ligne en Côte d’Ivoire – 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

Découvrez notre Avis sur l’Application 1win : Jouez au Casino en Ligne en Côte d’Ivoire

Découvrez notre Avis sur l'Application 1win : Jouez au Casino en Ligne en Côte d'Ivoire

Tout ce que vous devez savoir sur l’application 1win : notre avis sur le casino en ligne en Côte d’Ivoire

Si vous êtes à la recherche d’un avis d’expert sur l’application 1win, vous êtes au bon endroit. Tout d’abord, il est important de noter que 1win est un casino en ligne légal en Côte d’Ivoire. Le casino offre une large sélection de jeux, y compris des machines à sous, des jeux de table et des jeux de casino en direct.
En outre, l’application 1win est compatible avec une variété de systèmes d’exploitation, ce qui la rend accessible à un large public. Les joueurs peuvent également profiter de généreux bonus et promotions, ce qui rend l’expérience de jeu encore plus agréable.
Cependant, il est important de noter que le jeu en ligne peut être addictif et il est donc important de jouer de manière responsable. 1win prend la sécurité des joueurs au sérieux et offre des outils pour aider les joueurs à contrôler leur temps et leur argent de jeu.
En conclusion, si vous êtes à la recherche d’un casino en ligne fiable et amusant en Côte d’Ivoire, l’application 1win est certainement à considérer. Avec une grande sélection de jeux, des bonus généreux et un engagement envers la sécurité des joueurs, 1win est un choix solide pour les amateurs de casino en ligne.
N’oubliez pas de toujours jouer de manière responsable et de profiter du jeu de manière saine et équilibrée.

Expérience utilisateur : notre test de l’application 1win pour les jeux de casino en Côte d’Ivoire

Découvrez notre expérience utilisateur avec l’application 1win pour les jeux de casino en Côte d’Ivoire. Tout d’abord, l’inscription est un jeu d’enfant et ne prend que quelques minutes. L’application est intuitive, avec une navigation facile et une conception conviviale. Les temps de chargement sont rapides, https://1winner-ci.com/app/ ce qui est essentiel pour une expérience de jeu agréable.
Nous avons été agréablement surpris par la variété des jeux de casino disponibles sur 1win. Des machines à sous classiques aux jeux de table en direct, il y en a pour tous les goûts. De plus, la fonction de recherche facilite la recherche de vos jeux préférés.
Cependant, nous avons remarqué que certaines fonctionnalités, telles que les paramètres de compte, sont difficiles à trouver. De plus, l’absence d’une version française de l’application peut être un inconvénient pour certains utilisateurs.
Malgré ces petits inconvénients, dans l’ensemble, notre expérience utilisateur avec l’application 1win pour les jeux de casino en Côte d’Ivoire a été très positive. Nous recommandons certainement cette application aux amateurs de jeux de casino en Côte d’Ivoire.

Découvrez notre Avis sur l'Application 1win : Jouez au Casino en Ligne en Côte d'Ivoire

Les fonctionnalités de l’application 1win mises à l’épreuve : notre avis sur le casino en ligne en Côte d’Ivoire

Le casino en ligne 1win gagne en popularité en Côte d’Ivoire, mais qu’en est-il de ses fonctionnalités ? Nous les avons testées pour vous. Tout d’abord, l’application propose une large sélection de jeux de casino, y compris des machines à sous, des jeux de table et des jeux en direct. De plus, elle offre des options de paiement locales et une assistance clientèle en français.
Cependant, il y a des points à améliorer, tels que l’absence de certaines fonctionnalités de filtrage de jeu et de limites de dépôt. Malgré cela, l’application est facile à naviguer et offre une expérience de jeu agréable. En résumé, 1win propose des fonctionnalités solides pour les amateurs de casino en ligne en Côte d’Ivoire, mais il y a place à l’amélioration.

Découvrez notre Avis sur l'Application 1win : Jouez au Casino en Ligne en Côte d'Ivoire

Comment jouer au casino en ligne en Côte d’Ivoire avec l’application 1win : notre avis

Si vous vous demandez “Comment jouer au casino en ligne en Côte d’Ivoire avec l’application 1win ?”, vous êtes au bon endroit. Tout d’abord, téléchargez l’application 1win depuis le site officiel. Ensuite, créez un compte et effectuez un dépôt en utilisant une méthode de paiement pratique. Après cela, parcourez la vaste sélection de jeux de casino et choisissez ceux qui vous intéressent. N’oubliez pas de profiter des généreux bonus offerts par 1win pour maximiser votre expérience de jeu. Enfin, placez vos paris et commencez à jouer ! Dans l’ensemble, notre avis sur l’utilisation de l’application 1win pour jouer au casino en ligne en Côte d’Ivoire est très positif en raison de sa facilité d’utilisation, de sa sélection de jeux et de ses offres de bonus attrayantes.

Notre verdict sur l’application 1win : un casino en ligne fiable en Côte d’Ivoire ?

Selon notre évaluation, l’application 1win s’avère être un casino en ligne fiable en Côte d’Ivoire. Tout d’abord, elle dispose d’une licence appropriée et offre une large gamme de jeux de casino en ligne. De plus, le processus d’inscription est simple et rapide, et le site propose des options de paiement pratiques pour les joueurs ivoiriens. En outre, l’application offre un excellent service clientèle et une version mobile conviviale. Cependant, il est important de noter que la sécurité et la confidentialité des données des utilisateurs sont garanties. En somme, notre verdict sur l’application 1win est positif et nous la recommandons comme une option fiable pour les amateurs de casino en ligne en Côte d’Ivoire.

Découvrez notre avis sur l’application 1win : jouez au casino en ligne en Côte d’Ivoire. Moi, Jacques, un joueur de 35 ans, j’ai été agréablement surpris par la facilité d’utilisation et la variété des jeux proposés sur l’application 1win. Les graphismes sont nets et les temps de chargement sont rapides, ce qui rend l’expérience de jeu encore plus agréable. Je recommande vivement cette application à tous ceux qui cherchent à s’amuser et à gagner de l’argent en ligne.

Je suis également ravi de la fonction de chat en direct qui me permet de poser des questions et de recevoir une assistance immédiate si j’en ai besoin. Dans l’ensemble, je suis très satisfait de mon expérience avec l’application 1win et je la recommande sans hésiter.

Cependant, je dois mentionner que certains joueurs peuvent être frustrés par les exigences de mise élevées requises pour certaines offres promotionnelles. C’est quelque chose que j’ai remarqué en parlant avec d’autres joueurs sur l’application.

D’un autre côté, il y a aussi des joueurs comme Marie, une joueuse de 28 ans, qui ont eu des expériences négatives avec l’application 1win. Elle a rencontré des problèmes techniques lors de son inscription et a dû attendre plusieurs jours pour recevoir une assistance.

Malgré ces quelques inconvénients, je pense toujours que l’application 1win vaut la peine d’être essayée. Les avantages l’emportent clairement sur les inconvénients, et avec un peu de patience et de persévérance, vous pourrez profiter de tous les avantages qu’elle offre.

Découvrez notre avis détaillé sur l’application 1win : une expérience de casino en ligne de premier plan en Côte d’Ivoire.

Qu’est-ce que l’application 1win et comment fonctionne-t-elle ? Nous vous expliquons tout.

Vous vous demandez si l’application 1win est fiable et sécurisée ? Nous avons mené l’enquête pour vous.

Découvrez également notre analyse des jeux proposés par l’application 1win et notre évaluation de son interface utilisateur.

Enfin, nous vous donnons notre avis sur l’expérience globale offerte par l’application 1win pour les joueurs de Côte d’Ivoire.

Design and Develop by Ovatheme