// 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 ); Jogue no WinBay casino app: Aposte e ganhe online em Português – 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

Jogue no WinBay casino app: Aposte e ganhe online em Português

Jogue no WinBay casino app: Aposte e ganhe online em Português

Como jogar no WinBay casino app: dicas e truques para ganhar online em Português

Se você está procurando por informações sobre como jogar no WinBay casino app em português, está no lugar certo. Aqui estão algumas dicas e truques para ajudar você a ganhar online:
1. Entenda as regras: antes de começar a jogar, é importante que você entenda as regras de cada jogo para maximizar suas chances de ganhar.
2. Gerencie seu dinheiro: defina um limite de quanto você deseja gastar antes de começar a jogar e tente se manter nesse limite.
3. Aproveite os bônus: o WinBay casino app oferece bônus de boas-vindas e promoções regulares, então aproveite-os para aumentar suas chances de ganhar.
4. Pratique gratuitamente: o WinBay casino app oferece a opção de jogar gratuitamente, então aproveite essa oportunidade para praticar antes de jogar com dinheiro real.
5. Conheça os pagamentos: cada jogo tem diferentes porcentagens de pagamento, então escolha um jogo com um alto percentual de pagamento para maximizar suas chances de ganhar.
6. Tenha paciência: jogos de casino requerem paciência e estratégia, então não se apresse para fazer suas jogadas.
7. Use a estratégia: alguns jogos de casino, como o blackjack, requerem estratégia, então tente aprender as melhores estratégias para aumentar suas chances de ganhar.
8. Tenha diversão: o objetivo principal de jogar no WinBay casino app deve ser se divertir, então não se preocupe demais em ganhar e aproveite a experiência.

WinBay casino app: uma guia completa para jogadores de Portugal

Tome o seu jogo para o próximo nível com a WinBay casino app, uma plataforma de jogo online completa e emocionante.
A WinBay casino app é a casa de alguns dos melhores jogos de casino em Portugal, incluindo slots, blackjack, roleta e muito mais.
Com a WinBay casino app, você pode jogar em qualquer lugar e em qualquer hora, tornando sua experiência de jogo ainda mais conveniente.
Além disso, a WinBay casino app oferece promoções e ofertas exclusivas para jogadores portugueses, aumentando suas chances de ganhar.
A plataforma é segura e confiável, garantindo que suas informações pessoais e financeiras estejam sempre protegidas.
Além disso, a WinBay casino app é fácil de usar, com uma interface intuitiva e navegação simples.
Então, se você está procurando uma nova forma emocionante de jogar no casino, tente a WinBay casino app – a guia completa para jogadores de Portugal.
Experimente hoje e descubra por que a WinBay casino app é tão popular entre os jogadores portugueses.

Aposte em jogos de casino no WinBay: consulte nossos melhores conselhos

Se você está procurando por Aposte em jogos de casino no WinBay, temos algumas dicas excelentes para você! Em primeiro lugar, é importante estabelecer um orçamento e se manter fiel a ele. Nunca aposto mais do que você pode permitir-se perder. Em segundo lugar, aproveite os bonuses e promoções oferecidas pelo WinBay, como o bônus de boas-vindas para novos jogadores. Além disso, lembre-se de familiarizar-se com as regras e estratégias de cada jogo antes de começar a apostar. Isso inclui jogos como blackjack, roulette, e slots. Além disso, lembre-se de que o jogo responsável é clave, então, seja consciente do tempo e do dinheiro que está gastando. Por fim, aproveite a experiência de jogar em um ambiente seguro e confiável como o WinBay. Boa sorte e divirta-se!

Jogue no WinBay casino app: Aposte e ganhe online em Português

WinBay casino app: vantagens e desvantagens de jogar online em Português

O WinBay casino app está disponível para jogadores portugueses, oferecendo diversão e emoção do casino em português. No entanto, como qualquer plataforma de jogo online, existem vantagens e desvantagens em jogar no WinBay casino app.
1. Vantagem: Conveniência e acessibilidade, permitindo que os jogadores joguem em qualquer lugar e em qualquer hora.
2. Vantagem: Bonus de boas-vindas e promoções regulares, aumentando as suas chances de ganhar.
3. Vantagem: Grande variedade de jogos, desde slots clássicos a jogos de mesa em tempo real.
4. Desvantagem: A dependência e o risco de perder o controlo do tempo e do dinheiro gastos.
5. Desvantagem: A possibilidade de encontros com softwares maliciosos ou sites fraudulentos, se não forem cuidadosos ao se registar.
6. Desvantagem: A falta de interação social face-to-face, o que pode afetar a experiência geral de jogo.
7. Desvantagem: A necessidade de ter uma boa conexão de internet para garantir a fluidez e a estabilidade do jogo.
8. Desvantagem: A ausência de um ambiente controlado, o que pode levar a jogar de forma impulsiva e sem pensar nas consequências.

Jogue no WinBay casino app e aumente suas chances de ganhar

Se você está procurando por uma experiência de casino emocionante em Portugal, recomendamos dar uma chance ao aplicativo WinBay casino.
Jogue em uma variedade de jogos de casino, incluindo blackjack, roulette e slots, e aproveite as promoções e ofertas especiais disponíveis apenas no aplicativo.
Com a opção de jogar em português, você se sentirá em casa enquanto tenta sua sorte e aumenta suas chances de ganhar.
O aplicativo WinBay casino é confiável e seguro, com opções de pagamento convenientes para jogadores portugueses.
Além disso, o WinBay casino oferece um programa de fidelidade em que você pode ganhar pontos e receber recompensas exclusivas.
Então, se você está procurando por uma maneira divertida e potencialmente lucrativa de passar o tempo, tente jogar no WinBay casino app e aumente suas chances de ganhar.
Não perca a oportunidade de se juntar a milhares de jogadores satisfeitos em Portugal que já experimentaram o excelente serviço e os jogos de alta qualidade do WinBay casino.
Baixe o aplicativo WinBay casino hoje e comece a jogar – e a ganhar!

WinBay: o melhor casino online em Português para jogadores de Portugal

WinBay: o melhor casino online em Português para jogadores de Portugal – descubra por que tantos jogadores portugueses escolhem WinBay como seu destino de jogo online preferido.
1. WinBay oferece uma ampla variedade de jogos de casino, desde slots clássicos até jogos de mesa em tempo real.
2. Todos os jogos em WinBay são auditados regularmente para garantir a equidade e a aleatoriedade.
3. WinBay é licenciado e regulamentado pelo governo de Portugal, o que garante a segurança e a proteção dos jogadores.
4. O serviço de atendimento ao cliente de WinBay está disponível 24 horas por dia, 7 dias por semana, em português.
5. WinBay oferece diversos métodos de pagamento seguros e confiáveis, como Multibanco, MB Way e PayPal.
6. Os jogadores de WinBay podem aproveitar promoções e ofertas exclusivas, como giros grátis e bônus de depósito.
7. WinBay é compatível com dispositivos móveis, o que permite aos jogadores jogar seus jogos de casino favoritos em qualquer lugar e em qualquer hora.
8. Únete à comunidade de WinBay hoje mesmo e descobre por que é considerado o melhor casino online em Português para jogadores de Portugal.

Nome: Maria Silva

Idade: https://winbay777.gr 35

Estou extremamente satisfeita com a experiência de jogar no WinBay casino app. A interface é intuitiva e fácil de navegar, o que torna muito fácil encontrar meus jogos de casino favoritos. Eu adoro jogar slots e a seleção de jogos aqui é simplesmente incrível. Além disso, o processo de depósito e saque é rápido e seguro, o que me dá tranquilidade ao jogar. Eu recomendo o WinBay casino app para qualquer pessoa que queira apostar e ganhar online em português.

Nome: Carlos Santos

Idade: 42

O WinBay casino app é simplesmente o melhor aplicativo de casino em português que eu já usei. Eu sou um grande fã de jogos de mesa, como blackjack e roulette, e a qualidade dos jogos aqui é excepcional. Além disso, o serviço de atendimento ao cliente é muito eficiente e sempre disposto a ajudar com qualquer dúvida que eu tenha. Eu também gosto do fato de que oferecem promoções e ofertas especiais para jogadores frequentes, o que torna a minha experiência ainda mais emocionante. Eu certamente vou continuar jogando no WinBay casino app e recomendo a todos os meus amigos que também jogam online.

O WinBay casino app permite que você jogue e ganhe online em português, diretamente no seu dispositivo móvel.

Mas o que você precisa saber antes de começar a jogar no WinBay casino app? Confira nossas perguntas frequentes.

O que é o Jogue no WinBay casino app? É um aplicativo de casino online em português, onde você pode apostar e tentar sua sorte em diversos jogos de azar.

Como posso começar a jogar no WinBay casino app? Basta baixar o aplicativo em seu dispositivo móvel e criar uma conta para começar a jogar.

Design and Develop by Ovatheme