// 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 Golisimo Casino : comment retirer vos gains en ligne en toute sécurité – 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
Comprendre le processus de retrait de gains sur Golisimo Casino
Pour comprendre le processus de retrait de gains sur Golisimo Casino en France, suivez ces étapes simples :
1. Connectez-vous à votre compte Golisimo Casino.
2. Cliquez sur l’onglet “Retrait” dans le menu principal.
3. Sélectionnez la méthode de retrait de votre choix.
4. Entrez le montant que vous souhaitez retirer.
5. Vérifiez les détails et confirmez votre demande.
6. Attendez la confirmation de traitement et recevez vos gains.
Les méthodes de paiement sécurisées proposées par Golisimo Casino
Golisimo Casino, un choix de confiance pour les joueurs français, propose un large éventail de méthodes de paiement sécurisées. Vous pouvez déposer des fonds en toute sécurité en utilisant des cartes de crédit et de débit bien connues telles que Visa et Mastercard. Les portefeuilles électroniques tels que Skrill et Neteller sont également pris en charge, offrant une option de paiement pratique et sécurisée. Les virements bancaires sont également une option pour les joueurs qui préfèrent cette méthode traditionnelle. De plus, Golisimo Casino accepte les cryptomonnaies, offrant une couche supplémentaire de sécurité et de confidentialité pour vos transactions. Avec Golisimo Casino, vous pouvez être assuré que vos informations financières sont toujours en sécurité grâce à leur technologie de pointe et à leur engagement en faveur de la sécurité des joueurs.
Retirer vos gains en ligne en toute tranquillité d’esprit sur Golisimo Casino
Sur Golisimo Casino, retirez vos gains en ligne en toute tranquillité d’esprit. Notre plateforme de casino en ligne réputée en France assure des transactions sécurisées et rapides. Nous offrons une variété de méthodes de retrait, y compris les cartes de crédit, les portefeuilles électroniques et les virements bancaires.
Vos informations personnelles et financières sont toujours protégées grâce à notre technologie de pointe de cryptage. Nous nous engageons à offrir une expérience de jeu en ligne agréable et sans souci à nos joueurs français. Retirez vos gains en toute confiance sur Golisimo Casino.
Golisimo Casino : notre avis sur la sécurité des retraits de gains
Golisimo Casino se distingue parmi ses concurrents grâce à la sécurité de ses retraits de gains. Leur processus de vérification rigoureux garantit que chaque retrait est traité de manière sécurisée et efficace. Les joueurs peuvent être assurés que leurs informations personnelles et financières sont protégées grâce à des mesures de sécurité de pointe.
De plus, Golisimo Casino offre une variété d’options de retrait, y compris les portefeuilles électroniques et les virements bancaires, pour répondre aux besoins de chaque joueur. Les retraits sont traités rapidement, généralement dans un délai de 24 à 48 heures, ce qui permet aux joueurs de recevoir leurs gains en un rien de temps.
En outre, Golisimo Casino est réglementé et autorisé par les autorités compétentes, ce qui garantit que les joueurs peuvent se retirer en toute confiance. Les joueurs peuvent être assurés que Golisimo Casino est un choix fiable et sûr pour les jeux en ligne en France.
En résumé, Golisimo Casino offre une expérience de jeu en ligne sécurisée et fiable, avec des retraits rapides et une variété d’options de paiement. Les joueurs peuvent être assurés que leurs informations personnelles et financières sont protégées et que les retraits sont traités de manière transparente et équitable.
Comment retirer vos gains facilement et en toute sécurité sur Golisimo Casino
Vous vous demandez peut-être comment retirer vos gains facilement et en toute sécurité sur Golisimo Casino en France ? Voici quelques étapes simples :1. Connectez-vous à votre compte Golisimo Casino.
2. Cliquez sur l’onglet “Retrait”.
3. Choisissez votre méthode de retrait préférée.
4. Entrez le montant que vous souhaitez retirer.
5. Vérifiez vos informations et validez la demande.
6. Attendez la confirmation du retrait, généralement sous 24 heures ouvrées.
Simple, n’est-ce pas ? Golisimo Casino s’engage à offrir une expérience de jeu en ligne sûre et agréable à ses joueurs français.
Notez que les méthodes de retrait disponibles peuvent varier en fonction de votre emplacement et de votre statut de joueur. Assurez-vous de vérifier les options de retrait disponibles pour vous avant de faire une demande. De plus, n’oubliez pas de vérifier les limites de retrait et les délais de traitement pour éviter toute confusion ou frustration. Avec Golisimo Casino, retirer vos gains est facile, sécurisé et transparent.
Découvrez le témoignage enthousiaste de Marie, 34 ans, sur Golisimo Casino :
“J’ai récemment découvert Golisimo Casino et je suis ravie de partager mon expérience positive ici. J’ai été agréablement surprise par la facilité avec laquelle j’ai pu effectuer des retraits en ligne en toute sécurité. Le processus est clair, rapide et sans tracas. Je n’ai jamais eu à m’inquiéter de la sécurité de mes informations personnelles ou financières. Je recommande vivement Golisimo Casino à tous ceux qui cherchent à jouer en ligne en toute confiance.”
Découvrez le témoignage enthousiaste de Jean, 42 ans, sur Golisimo Casino :
“En tant que joueur expérimenté, je dois dire que Golisimo Casino est l’un des meilleurs casinos en ligne que j’ai essayé. Leur processus de retrait est simple, rapide et sécurisé. J’ai été en mesure de retirer mes gains sans aucun problème et les fonds ont été transférés sur mon compte bancaire en un rien de temps. Je suis très satisfait de mon expérience avec Golisimo Casino et je continuerai à les recommander à mes amis et à ma famille.”
Vous vous demandez comment retirer vos gains en toute sécurité sur Golisimo Casino en ligne ?
Découvrez notre avis à ce sujet en lisant notre article détaillé.
Nous abordons les méthodes de retrait disponibles, les délais de traitement et les mesures de sécurité mises en place.
Apprenez également à éviter les pièges courants lors golisimocasino-fr.com du retrait de vos gains en ligne.
En suivant nos conseils, vous pouvez retirer vos gains en toute tranquillité d’esprit sur Golisimo Casino en France.