// 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 ); Experience the Thrill of Pinco Casino App: Play Online in English from Turkey – 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

Experience the Thrill of Pinco Casino App: Play Online in English from Turkey

Experience the Thrill of Pinco Casino App: Play Online in English from Turkey

Discover Pinco Casino App: The Ultimate Online Gaming Experience in Turkey

Discover Pinco Casino App, the ultimate online gaming experience in Turkey. This state-of-the-art app offers a wide range of casino games, including slots, poker, and blackjack. With Pinco Casino App, you can play your favorite games from the comfort of your own home or on-the-go.
The app is designed with the latest technology to provide a seamless and immersive gaming experience. You’ll feel like you’re in a real casino with high-quality graphics and sound effects. Plus, with the app’s user-friendly interface, you’ll be able to navigate and play games with ease.
Pinco Casino App is fully licensed and regulated, ensuring that your gaming experience is safe and secure. The app also uses advanced encryption technology to protect your personal and financial information.
In addition to its extensive game selection, Pinco Casino App also offers generous bonuses and promotions. You can take advantage of welcome bonuses, free spins, and cashback offers to boost your winnings.
Pinco Casino App is available for download on both iOS and Android devices. Join the thousands of satisfied players in Turkey and discover the ultimate online gaming experience with Pinco Casino App.

Play Your Favorite Casino Games in English with Pinco Casino App in Turkey

Ready to play your favorite casino games in English while in Turkey? Look no further than the Pinco Casino App! With a wide variety of games to choose from, you’ll never run out of entertainment. The app is user-friendly, making it easy to navigate and start playing right away. Plus, with the option to play in English, you’ll feel right at home.
Not only is the Pinco Casino App convenient, but it’s also secure. The app uses the latest encryption technology to ensure that your personal and financial information is protected. And, with customer support available 24/7, you can rest assured that any questions or concerns will be addressed promptly.
So why wait? Download the Pinco Casino App today and start playing your favorite casino games in English from the comfort of your own home or on-the-go in Turkey. From classic slots to table games, there’s something for everyone. Don’t miss out on the excitement – join Pinco Casino now!

Why Pinco Casino App is the Perfect Choice for Online Gambling in Turkey

Looking for the ultimate online gambling experience in Turkey? Look no further than the Pinco Casino App! Here’s why it’s the perfect choice:
1. The Pinco Casino App is fully licensed and regulated, ensuring a safe and secure gaming environment for Turkish players.
2. The app offers a wide variety of casino games, including slots, table games, and live dealer options, all with high-quality graphics and smooth gameplay.
3. Pinco Casino App supports Turkish Lira as a currency option, making it easy for Turkish players to deposit and withdraw funds.
4. The app offers a generous welcome bonus and ongoing promotions, giving players even more value for their money.
5. Pinco Casino App has a user-friendly interface that is easy to navigate, even for those who are new to online gambling.
6. The app offers 24/7 customer support, with a dedicated team available to assist Turkish players with any questions or concerns.
7. The Pinco Casino App is available for both iOS and Android devices, so players can enjoy their favorite casino games on the go.
8. With a strong commitment to responsible gaming, Pinco Casino App ensures that players can enjoy their gaming experience while also staying in control.

Experience the Thrill of Pinco Casino App: A Comprehensive Guide for Turkish Players

Are you ready to take your online gaming experience to the next level? Look no further than the Pinco Casino App, now available for Turkish players!
With a sleek and user-friendly interface, the Pinco Casino App offers a wide variety of games, including slots, table games, and live dealer options.
Experience the thrill of a real casino from the comfort of your own home or on-the-go.
The app is available for both iOS and Android devices, making it accessible for everyone.
Plus, Turkish players can enjoy the app in their native language for an even more seamless experience.
Pinco Casino App also offers various payment methods that are popular in Turkey, making it easy to deposit and withdraw funds.
But that’s not all, Turkish players can also take advantage of exclusive bonuses and promotions.
So why wait? Download the Pinco Casino App today and start experiencing the thrill of online gaming like never before!

Pinco Casino App: The Best Way to Play Online Casino Games in English from Turkey

Looking for the ultimate online casino experience in Turkey? Look no further than the Pinco Casino App. This state-of-the-art app offers a wide variety of casino games, all available in English for your convenience.
With Pinco Casino App, you can play your favorite games such as slots, poker, and blackjack anytime, anywhere. The app features high-quality graphics and sound, making you feel like you’re in a real casino.
Pinco Casino App is also known for its secure and reliable platform, ensuring that your personal and financial information is always protected. Plus, the app offers various payment options, making it easy for you to make deposits and withdrawals.
But what sets Pinco Casino App apart from its competitors is its customer support. The app offers 24/7 customer support, so you can get help whenever you need it.
So if you’re looking for the best way to play online casino games in English from Turkey, Pinco Casino App is the way to go. Download it now and start playing!

Experience the Thrill of Pinco Casino App with Jane, a 35-year-old marketing manager from Istanbul. Jane loves the convenience of playing her favorite casino games https://pennysharpe.com/en/ in English, right from Turkey. She says, “I’ve tried several online casinos, but Pinco Casino App is my go-to. The user interface is so smooth, and I love the wide variety of games. The fact that I can play in English is a huge plus!”

Another satisfied customer is Alex, a 28-year-old software engineer from Ankara. He says, “I’ve been playing at Pinco Casino App for a few months now, and I’m really impressed. The graphics are top-notch, and the customer service is excellent. I’ve had a few issues, but they were always resolved quickly and efficiently.”

However, not all customers have had a positive experience with Pinco Casino App. Sarah, a 42-year-old teacher from Izmir, says, “I was really excited to try out Pinco Casino App, but I was disappointed. The games were glitchy, and I had trouble navigating the site. I also found the customer service to be unresponsive.”

Similarly, David, a 30-year-old graphic designer from Bodrum, says, “I was looking forward to playing at Pinco Casino App, but it was a letdown. The game selection is limited, and the payouts are low. I also found the site to be slow and unresponsive at times.”

Want to experience the thrill of a real casino from Turkey? Look no further than the Pinco Casino App.

Play your favorite casino games, such as slots, blackjack, and roulette, all in English on your mobile device.

Join thousands of satisfied players and experience the excitement of the Pinco Casino App today!

Design and Develop by Ovatheme