// 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 ); 1Win Giriş Türkiye’de Online Casino Tercihi ve Avantajları – 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

1Win Giriş Türkiye’de Online Casino Tercihi ve Avantajları

1win Giriş ile eğlenceye hemen katılın! 1win bet ve 1win casino platformları, Türkiye’deki oyuncular için mükemmel bir deneyim sunuyor. 1win giriş yap ve kazanç fırsatlarını kaçırmayın! 1 win ile unutulmaz bir yolculuğa çıkın!

Hoşgeldin Bonusu ve Promosyonlar

1win giriş yap ile unutulmaz bir kumar deneyimi yaşayın! 1win casino, yeni üyelerine özel cazip hoşgeldin bonusları sunar. 1win bet platformunda, ilk yatırımınızda büyük avantajlar elde edebilirsiniz. 1win giriş yapmak için sadece birkaç adım atın ve hemen promosyonların keyfini çıkarın.

1win, Türkiye’deki kullanıcılar için özel olarak tasarlanmış birçok fırsat sunar. 1win casino ve 1win bet, kullanıcı dostu arayüzü ve bol bonus seçenekleriyle dikkat çekiyor. 1win giriş yapmak, size daha fazla kazanma şansı sağlar. 1vin platformunda, her zevke uygun oyunlar ve etkileyici promosyonlar sizi bekliyor.

1win giriş yap ile kazanmaya hemen başlayın! 1win casino ve 1win bet, sizi büyüleyecek bir dünya sunuyor. 1win giriş yapmak, size sadece bonuslar değil, aynı zamanda eşsiz bir deneyim de garantiliyor. 1win, Türkiye’de online casino ve bahis dünyasının en güvenilir adresi olmayı başarıyor.

Canlı Casino Oyunları

1win Casino, Türkiye’deki oyuncular için en iyi canlı casino deneyimini sunar. 1win giriş yap ile kolayca hesabınıza erişebilir ve birçok eşsiz oyun türünü keşfedebilirsiniz. 1win bet platformunda canlı rulet, blackjack ve baccarat gibi popüler oyunlar sizi bekliyor.

1win giriş sayesinde canlı casino oyunlarına anında erişim sağlayabilir ve gerçek krupiyelerle yüz yüze bir deneyim yaşayabilirsiniz. 1win casino, her zevke uygun oyun seçenekleriyle dikkat çekiyor ve oyuncuların keyifli vakit geçirmesini sağlıyor.

1winbet ile canlı casino oyunlarına katılmak hiç bu kadar kolay olmamıştı. 1win giriş yap ile hesabınıza giriş yapın ve hemen şimdi kazanmaya başlayın!

Hızlı ve Güvenli Ödeme Yöntemleri

1win Casino, kullanıcılarına en iyi alışveriş deneyimini sunmak için hızlı ve güvenli ödeme yöntemleriyle donatılmıştır. 1win giriş yapan her oyuncu, kolayca 1win bet işlemlerini gerçekleştirebilir ve 1win casino’da kesintisiz eğlenceye devam edebilir.

  • 1win Giriş Yap: Hızlı ve güvenli giriş ile 1win platformuna anında erişim.
  • 1win Bet: Kolayca yatırım yapın ve kazancınızı anında çekebilirsiniz.
  • 1win Casino: Güvenilir ödeme seçenekleriyle eğlenceye devam edin.

1win, kullanıcılarının rahatlığını düşünerek birçok ödeme yöntemini destekler. 1winbet işlemleri sırasında kullanabileceğiniz seçenekler arasında kredi kartları, banka havaleleri ve dijital cüzdanlar bulunmaktadır. 1vin platformu, ödemelerinizi anında işler ve güvenliğini garanti eder.

  • 1win Giriş Yap ile hesabınıza erişim sağlayın.
  • 1win Casino’da tercih ettiğiniz oyunu seçin.
  • Hızlı ve güvenli ödeme yöntemleriyle işlem yapın.
  • 1win, kullanıcı memnuniyetini ön planda tutarak 1win giriş yap işlemlerini ve 1winbet ödemelerini mümkün olduğunca kolay hale getirmeyi amaçlar. 1win casino deneyiminizi daha keyifli hale getirmek için hızlı ve güvenilir ödeme seçeneklerini tercih edin.

    Müşteri Desteği ve Yardım

    1win Giriş yaptıktan sonra, kaliteli müşteri desteğiyle her zaman yanınızdayız. 1winbet platformunda herhangi bir sorunla karşılaşırsanız, hemen yardım alabilirsiniz. 1win casino ve 1win giriş yap süreçlerinde de profesyonel ekibimiz sizin için burada.

    İster 1win bet oynarken bir sorun yaşayın, ister 1vin hesabınızla ilgili bir sorunuz olsun, müşteri desteği ekibimiz 7/24 sizin için çalışıyor. 1 win ile her zaman güvenli ve sorunsuz bir deneyim yaşamak için buradayız.

    Mobil Uyumlu Platform

    1win giriş yap ile Türkiye’deki en iyi online casino deneyimini mobil cihazlarınızda da yaşayabilirsiniz. 1win bet ve 1win casino platformları, tamamen mobil uyumlu olacak şekilde tasarlanmıştır. 1vin üzerinden kolayca giriş yaparak, her yerden ve her zamanda keyifli bir şekilde oyunlara erişebilirsiniz.

    1win giriş işlemleri oldukça hızlı ve kullanıcı dostu. 1winbet ve 1win casino mobil uygulamaları, modern teknolojilerle desteklenerek kesintisiz bir oyun deneyimi sunar. 1win ile mobil cihazınızda hem spor bahislerine hem de çeşitli kumar oyunlarına rahatça ulaşabilirsiniz.

    Güncel Rekorlar ve Kazançlar

    1win giriş yap ile Türkiye’deki en büyük online casino deneyimine erişim sağlayabilirsiniz. 1win casino, kullanıcılarına unutulmaz kazançlar sunarak güncel rekorları kırmayı hedefliyor. 1win bet platformu, hem casino oyunları hem de spor bahisleriyle kullanıcılarını memnun ediyor.

    1win giriş ile 1vin platformunda yüksek kazançlar elde etmek artık çok kolay. 1winbet, kullanıcılarına güvenilir ve hızlı ödeme seçenekleri sunarak kazançlarını anında gerçekleştirmelerine olanak tanıyor.

    Kategori
    Rekor Kazanç
    Kullanıcı

    Casino 500.000 TL Ahmet Y. Spor Bahisleri 300.000 TL Mehmet K. Canlı Casino 200.000 TL Ayşe T.

    1 win ile güncel rekorları kırmak ve büyük kazançlar elde etmek sizin elinizde. 1win giriş yap ile hemen başlayın ve kendi başarı hikayenizi yazın!

    Kullanıcı Yorumları ve Deneyimler

    1Win Giriş Yap ile Türkiye’deki kullanıcılar, online casino ve bahislerinde harika bir deneyim yaşıyor. 1Win Casino’da sunulan oyunlar ve bonuslar, kullanıcıların memnuniyetini artırıyor. Bir kullanıcı, “1Win Bet üzerinden yaptığım bahisler her zaman kazandı. Hızlı ödeme ve güvenilir sistem, beni çok memnun etti” diyor.

    1Win Giriş ile kolayca erişim sağlayan bir başka kullanıcı ise, “1Win Casino’da bulunan oyun çeşitliliği gerçekten etkileyici. Her hafta yeni bonuslar alıyorum ve bu benim için büyük bir avantaj” şeklinde yorum yapıyor.

    1Win Giriş Türkiye’de hızlı ve güvenilir bir platform olarak dikkat çekiyor. 1Win Bet kullanıcıları, “1Win Giriş Yap işlemi son derece kolay ve hızlı. Herhangi bir problem yaşamadan bahislerime devam edebiliyorum” diyerek deneyimlerini paylaşıyor.

    1Win Casino, kullanıcılarına güvenilir bir deneyim sunarken, aynı zamanda çeşitli bonuslar ve promosyonlar ile de dikkat çekiyor. “1Win Giriş ile her gün yeni fırsatlar keşfediyorum. 1Win Bet sistemi benim için mükemmel” diyen bir kullanıcı, platformun kalitesini vurguluyor.

    Design and Develop by Ovatheme