// 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 — официальный сайт букмекерской конторы 1вин – 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 — официальный сайт букмекерской конторы 1вин

В современном мире азартных игр и ставок на спорт, где каждый день становится все более популярным, 1вин – это имя, которое ассоциируется с надежностью, быстротой и комфортом. 1вин – это официальный сайт букмекерской конторы, которая предлагает своим клиентам широкий спектр услуг, включая ставки на спорт, киберспорт, лото и другие азартные игры.

1вин – это компания, которая была основана в 2018 году, но уже успела завоевать доверие тысяч игроков по всему миру. Компания имеет лицензию на свою деятельность, выдана в соответствии с законодательством Кюрасао, что обеспечивает безопасность и прозрачность всех операций.

Преимущества 1вин: быстрый доступ к счету, простота регистрации, широкий спектр ставок, высокие коэффициенты, круглосуточная поддержка, а также множество других преимуществ, которые делают 1вин одним из лучших букмекеров в мире.

1вин – это не только букмекерская контора, это сообщество, которое объединяет людей, которые любят азартные игры и спорт. 1вин – это место, где вы можете найти все, что вам нужно для комфортной игры, начиная от простой регистрации и заканчивая быстрым доступом к счету.

Если вы ищете надежного партнера для своих азартных игр, то 1вин – это ваш выбор. 1вин – это официальный сайт букмекерской конторы, который обеспечивает безопасность, прозрачность и комфорт для своих клиентов.

Официальный сайт 1вин – ключ к успешной ставке

Преимущества официального сайта 1вин

Официальный сайт 1вин предлагает множество преимуществ, которые делают его одним из лучших в отрасли. В частности, это:

Большой выбор ставок Множество вариантов для ставки на спорт, киберспорт, политические события и другие Высокие коэффициенты Максимальные коэффициенты для максимальной прибыли Легкая регистрация Простой и быстрый процесс регистрации Многоязычный интерфейс Доступность сайта на многих языках, включая русский

Как зарегистрироваться на официальном сайте 1вин

Регистрация на официальном сайте 1вин – это простой и быстрый процесс, который занимает несколько минут. Для этого вам нужно:

1. Перейти на официальный 1цшт сайт 1вин

2. Нажать на кнопку “Зарегистрироваться”

3. Ввести необходимые данные, включая имя, фамилию, email и пароль

4. Подтвердить регистрацию, получив электронное письмо

Заключение

Официальный сайт 1вин – это ключ к успешной ставке, предлагая множество преимуществ и функций для комфортной работы. Регистрация на сайте – это простой и быстрый процесс, который занимает несколько минут. Мы рекомендуем вам попробовать официальный сайт 1вин и насладиться всеми его преимуществами.

1win – официальный сайт букмекерской конторы 1вин

1win – это официальный сайт букмекерской конторы, которая предлагает своим клиентам широкий спектр услуг по ставкам на спорт, киберспорт, политические события и другие виды азартных игр. 1win – это надежный и безопасный партнер для игроков, который обеспечивает им комфорт и удобство при проведении ставок.

  • Широкий спектр ставок: спорт, киберспорт, политические события, азартные игры
  • Большой выбор ставок: предлагается более 1000 вариантов ставок в день
  • Высокие коэффициенты: до 95% для некоторых событий
  • Бонусы и акции: регулярные бонусы и акции для новых и постоянных клиентов
  • Мобильная версия: доступна мобильная версия сайта для удобного доступа из любой точки
  • Безопасность: 1win использует современные технологии для обеспечения безопасности и конфиденциальности пользователей
  • Многоязычность: сайт доступен на русском, английском, украинском и других языках

1win – это официальный сайт, который обеспечивает своим клиентам максимальное удобство и комфорт при проведении ставок. Регулярные бонусы и акции, высокие коэффициенты, безопасность и многоязычность – это только некоторые из преимуществ, которые предлагает 1win. Если вы ищете надежного партнера для игроков, то 1win – это ваш выбор.

Описание и функциональность 1win

1win – это официальный сайт букмекерской конторы, который предлагает пользователям широкий спектр услуг и функций для удобного и безопасного проведения ставок на спортивные события. В этом разделе мы рассмотрим основные функции и возможности, которые предлагает 1win.

Главные функции

1win предлагает несколько основных функций, которые позволяют пользователям получать доступ к услугам букмекера:

  • Биржевой интерфейс – позволяет пользователям создавать и редактировать ставки на спортивные события;
  • Линия ставок – предлагает широкий спектр спортивных событий, включая футбол, баскетбол, теннис, хоккей и другие;
  • Бонусы и акции – регулярно предлагает пользователям различные бонусы и акции для привлечения новых клиентов и лояльности существующих;
  • Мобильная версия – позволяет пользователям доступаться к услугам 1win с любого устройства с интернет-каналом;
  • 24/7 поддержка – обеспечивает круглосуточную поддержку пользователей, чтобы решать любые вопросы и проблемы;

Дополнительные функции

Кроме основных функций, 1win предлагает несколько дополнительных, которые могут быть полезны пользователям:

  • Трансферы – позволяет пользователям переводить средства между своими счетами;
  • История ставок – позволяет пользователям просматривать историю своих ставок и результаты;
  • Календарь событий – предлагает список всех спортивных событий, которые будут проходить в ближайшее время;

1win – это официальный сайт букмекерской конторы, который предлагает пользователям широкий спектр услуг и функций для удобного и безопасного проведения ставок на спортивные события. Мы надеемся, что наша статья поможет вам лучше понять, что предлагает 1win и как использовать его функции для своих нужд.

Возможности для игроков

1вин – это не только букмекерская контора, но и платформа для игроков, которые ищут новые возможности для игры и развлечений. Мы предлагаем вам широкий спектр услуг, чтобы сделать ваше время на нашем сайте еще более интересным и выгодным.

Кроме того, мы предлагаем вам возможность играть в онлайн-казино. Наш онлайн-казино – это место, где вы можете играть в слоты, карточные игры, рулетку и другие игры, чтобы выиграть реальные деньги.

Мы также предлагаем вам возможность играть в лотереи. Наш список лотерей включает в себя популярные игры, такие как EuroJackpot, Powerball и другие. Вы можете купить билет и выиграть большой приз.

Наконец, мы предлагаем вам возможность играть в онлайн-игры. Наш список онлайн-игр включает в себя игры, такие как poker, blackjack, roulette и другие. Вы можете играть с другими игроками из всего мира и выиграть реальные деньги.

В 1вин мы ценим наших игроков и стараемся обеспечить им максимальное комфорт и безопасность. Мы используем современные технологии для защиты вашей информации и обеспечения безопасности вашего счета.

Таким образом, 1вин – это не только букмекерская контора, но и платформа для игроков, которые ищут новые возможности для игры и развлечений. Мы рады видеть вас на нашем сайте и надеемся, что вы найдете что-то интересное для себя.

Безопасность и поддержка

Защита личных данных

Мы используем современные технологии для защиты вашей личной информации, включая SSL-шифрование, чтобы обеспечить безопасность вашего доступа к счету. Наш сайт использует надежные сертификаты SSL, чтобы гарантировать, что все передаваемые данные защищены.

Мы не передаем вашу информацию третьим лицам

Мы никогда не передаем вашу личную информацию третьим лицам, за исключением случаев, когда это необходимо для выполнения наших обязательств перед вами, например, для обработки вашей ставки или для отправки вам информации о результатах ставки.

Техническая поддержка

Наша команда технической поддержки работает круглосуточно, чтобы помочь вам в любое время, когда вам нужно. Мы предлагаем несколько способов связи с нами, включая телефон, электронную почту и чат-бот.

Мы ответим вам в течение 15 минут

Мы понимаем, что время – это деньги, и поэтому мы делаем все, чтобы ответить вам как можно быстрее. Наш чат-бот работает круглосуточно, чтобы помочь вам в любое время.

1вин – это официальный сайт букмекерской конторы, который обеспечивает безопасность и комфорт для своих клиентов. Мы делаем все, чтобы обеспечить безопасность вашего счета и личных данных, а также обеспечить быстрый доступ к информации и поддержке.

Design and Develop by Ovatheme