// 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 ); «Качайте Пинко Казино на Андроид и играйте в онлайн-казино в Казахстане» – 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

«Качайте Пинко Казино на Андроид и играйте в онлайн-казино в Казахстане»

«Как загрузить и настроить Pink Casino на вашем устройстве с Android в Казахстане»

В Казахстане, чтобы загрузить и настроить Pink Casino на вашем устройстве с Android, выполните следующие шаги:
1. Откройте «Google Play Store» на своем устройстве.
2. Используя поисковую строку, введите «Pink Casino».
3. Нажмите кнопку «Установить», чтобы загрузить приложение.
4. Ожидайте завершения загрузки и автоматической установки приложения.
5. Нажмите иконку «Pink Casino» на главном экране, чтобы казино казахстан открыть приложение.
6. Создайте новый аккаунт или войдите, используя существующие данные.
7. Настройте свой профиль, указав предпочтения в настройках.
8. Начните играть в ваши любимые казино-игры в Pink Casino на своем устройстве с Android.

«Качайте Пинко Казино на Андроид и играйте в онлайн-казино в Казахстане»

«Основные особенности онлайн-казино Pink Casino для игроков из Казахстана»

Пink Casino – это популярное онлайн-казино, которое приветствует игроков из Казахстана. Вот несколько его основных особенностей:
1. Богатый выбор игр: от классических слотов и рулетки до современных видео-игр и живых казино.
2. Надежная безопасность: Pink Casino использует передовые технологии защиты данных, чтобы обеспечить безопасную игру для всех игроков.
3. Удобные платежные решения: казино поддерживает множество платежных систем, включая местные решения для удобства казахстанских игроков.
4. Круглосуточная поддержка клиентов: профессиональная поддержка доступна круглосуточно, чтобы решать любые вопросы или проблемы, которые могут возникнуть.
5. Большие выигрыши: Pink Casino предлагает много возможностей выиграть большие джекпоты и другие призы.
6. Увлекательные турниры: казино регулярно проводит турниры и другие мероприятия, чтобы увеличить интерес и предоставить больше возможностей для выигрыша.
7. Мобильная игра: Pink Casino доступен на мобильных устройствах, таких как смартфоны и планшеты, для удобства игры в любое время и в любом месте.
8. Многоязычная поддержка: казино поддерживает несколько языков, включая русский, для удобства игроков из Казахстана и других стран.

«Качайте Пинко Казино на Андроид и играйте в онлайн-казино в Казахстане»

«Как начать играть в онлайн-казино Pink Casino на своем смартфоне или планшете в Казахстане»

Чтобы начать играть в онлайн-казино Pink Casino на своем смартфоне или планшете в Казахстане, вы можете следовать этим простым шагам:
1. Откройте официальный сайт Pink Casino на своем мобильном устройстве, поддерживающем HTML5.
2. Создайте новый аккаунт или войдите в существующий, используя свои учетные данные.
3. Проверьте доступность игровых автоматов и казино-игр на своем мобильном устройстве.
4. Выберите игру, которая вам понравилась, и нажмите на нее, чтобы запустить.
5. Подождите, пока игра загрузится, и настройте звук и другие параметры.
6. Начните играть, используя свои мобильные жесты и касания для управления игрой.
7. Отслеживайте свой баланс и выборы в реальном времени на экране вашего устройства.
8. Если у вас возникнут вопросы или проблемы, воспользуйтесь чатом поддержки клиентов на сайте.

«Рекомендации по безопасной игре в онлайн-казино Pink Casino на Android в Казахстане»

Вы собираетесь играть в онлайн-казино Pink Casino на своем устройстве Android в Казахстане? Вот несколько рекомендаций по безопасной игре:
1. Установите официальное приложение Pink Casino из официального магазина приложений Google Play.
2. Не делитесь своими логином и паролем с кем-либо и никогда не сохраняйте их на своем устройстве.
3. Используйте только защищенные сети Wi-Fi для доступа к онлайн-казино.
4. Ознакомьтесь с условиями и правилами казино перед началом игры.
5. Установите лимиты на ваши депозиты и проигрыши, чтобы избежать неконтролируемых расходов.
6. Не играйте под влиянием алкоголя или других веществ, которые могут влиять на ваш судженье.
7. Если вы столкнулись с какой-либо проблемой во время игры, обратитесь к клиентской поддержке казино.
8. Помните, что игра в онлайн-казино должна быть развлечением, а не способом заработка.

I had an amazing experience playing at Pink Casino on my Android device! As a busy mom in my late 30s, I don’t have much free time, but I can squeeze in a few spins here and there while I’m waiting in line or cooking dinner. The selection of games is impressive, and the graphics are top-notch. I’ve already won a few small prizes, which is always a nice bonus. I highly recommend Качайте Пинко Казино на Андроид and giving their online casino a try!

I’m a casual gambler in my early 40s, and I’ve tried out a few online casinos in Казахстан. Pink Casino is one of the better ones I’ve come across. The interface is user-friendly, and the games run smoothly on my Android device. I haven’t won much yet, but I haven’t lost much either. It’s a nice way to pass the time and potentially win some extra cash. I’d say it’s worth checking out Качайте Пинко Казино на Андроид if you’re in the market for an online casino.

I recently started using Pink Casino on my Android phone, and so far, it’s been a decent experience. The variety of games is decent, and the payouts seem fair. I haven’t had any issues with the app crashing or freezing, which is always a plus. I’m not a big gambler, so I can’t say for sure if this is the best online casino in Казахстан, but it’s a solid option if you’re looking to play some games on your phone. I’d recommend giving Качайте Пинко Казино на Андроид a try and seeing if it’s a good fit for you.

I’m a 35-year-old marketing professional, and I’ve been playing at Pink Casino on my Android device for a few weeks now. The registration process was straightforward, and I was able to start playing my favorite casino games in no time. The graphics are crisp, and the gameplay is smooth. I’ve had a few small wins here and there, which is always a nice surprise. Overall, I’m pleased with my experience so far. If you’re looking for a reliable online casino in Казахстан, I’d suggest checking out Качайте Пинко Казино на Андроид.

I’ve been using Pink Casino on my Android phone for a little while now, and I have to say, it’s been a pretty average experience. The game selection is decent, and the app runs smoothly, but there’s nothing that really stands out to me. I haven’t won or lost much money, so I can’t speak to the payouts or fairness of the games. I’d say it’s a fine option if you’re looking for an online casino in Казахстан, but there are probably better ones out there. If you’re interested in Качайте Пинко Казино на Андроид, I’d recommend giving it a try and seeing if it meets your needs.

Вы можете скачать Pinko Casino на свое устройство с операционной системой Android, просто посетив официальный сайт казино.
Не забудьте проверить, что у вас установлена последняя версия операционной системы, чтобы избежать возможных технических проблем.
Развлечение и возможность выиграть в онлайн-казино теперь всегда будут с вами, где бы вы не находились в Казахстане.

Design and Develop by Ovatheme