// 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

Παίξτε Καζίνο Όπου και να βρίσκεστε: Δραγονιά Καζίνο στο Κινητό

Παίξτε Καζίνο Όπου και να βρίσκεστε: Δραγονιά Καζίνο στο Κινητό

Γρήγορη οδηγία για πώς να παίξετε Dragonia Casino στο κινητό

Γρήγορη οδηγία για πώς να παίξετε Dragonia Casino στο κινητό:
1. Κατεβάστε την εφαρμογή Dragonia Casino από το App Store ή Google Play.
2. Δημιουργήστε ένα λογαριασμό ή συνδεθείτε με λογαριασμό σας τηλεφώνου.
3. Επιλέξτε το παιχνίδι Dragonia Casino που θέλετε να παίξετε και να ρίξετε τα κύβια.
4. Ακολουθήστε τις οδηγίες του παιχνιδιού και παίξτε για να κερδίσετε νικητήρια.
5. Αν χρειαστείτε βοήθεια, επικοινωνήστε με την υποστήριξη του Dragonia Casino.

Παίξτε Καζίνο Όπου και να βρίσκεστε: Δραγονιά Καζίνο στο Κινητό

Τι χρειάζεστε για να ξεκινήσετε να παίζετε Dragonia Casino στο μοβαίλ

Για να ξεκινήσετε να παίζετε στο Dragonia Casino στο μοβαίλ, πρώτα πρέπει να διαθέσετε ένα συσκευασία με ισχυρή σύνδεση διαδίκτυο.

Επιλέξτε ένα πιθανό συσκευάσιο, το οποίο μπορεί να είναι ένα σmatphone ή ταбλέτ με λειτουργικό Android ή iOS.

Δημιουργήστε ένα λογαριασμό στο Dragonia Casino για να έχετε πρόσβαση σε όλες τις διαθέσιμες παιχνídia και να δείτε τις εκπτώσεις και τις προσφορές.

Αναζητήστε το Dragonia Casino από την ιστοσελίδα του ή από την εφαρμογή του στο Google Play Store ή στο App Store.

Κάντε λήψη και εγκατάσταση της εφαρμογής, συνδεθείτε με το λογαριασμό σας και ξεκινήστε να παίζετε τα παιχνίδια που σας αρέσουν!

Πώς λειτουργούν οι παίχνιδα του Dragonia Casino στο κινητό

Αναζητάτε να γνωρίσετε πώς λειτουργούν τα παίχνιδα του Dragonia Casino στο κινητό; Εδώ έχουμε 5 σημειώσεις για την χρήση τους στην Ελλάδα:
1. Τα παίχνιδα του Dragonia Casino είναι διαθέσιμα για κινητές συσκευές, είτε Android είτε iOS.
2. Το Dragonia Casino προσφέρει μια ευέλικτη κινητή πλατφόρμα, που σάς επιτρέπει να παίζετε όλα τα παίχνιδα με εύκολη χρήση του τουcheίδιου.
3. Τα παίχνιδα του Dragonia Casino στο κινητό διαθέτουν την ίδια ποιότητα γrafikών και ήχων με την υπολογιστική πλατφόρμα.
4. Το Dragonia Casino προσφέρει ένα ευέλικτο χρήστη περιβάλλον, που σάς επιτρέπει να αλλάξετε την οριенτακή σας από κάθετο σε οριζόντιο.
5. Τα παίχνιδα του Dragonia Casino στο κινητό είναι τα ίδια παίχνιδα που βρίσκεστε στην υπολογιστική πλατφόρμα, οπότε μπορείτε να συνεχίσετε την ίδια εμπειρία παιχνιδιοπαίξης όπουδήποτε βρίσκεστε.

Τα νέα παιχνídia του Dragonia Casino στο κινητό

Τα νέα παιχνídia του Dragonia Casino στο κινητό έχουν ξεκινήσει με θρύλο!
Με την ενημέρωση της εφαρμογής του Casino, οι παίχτες μπορούν να δοκιμάσουν νέα και ενδιαφάνεια παιχνídia στο πλαίσιο της κινητής τους συσκευής.
Έχουν προστεθεί καινούργια συναίσθημα στα παιχνídia Roulette, Blackjack και Baccarat, προσφέροντας ένα νέο επίπεδο παιχνιδιοποίησης.
Ένας νέος προσθήκη που θα σας ενchant είναι το παιχνίδι Dragon’s Fire, ένα slot game που σας προσφέρει φωτεινές γρáφικες και εκπληκτικά δωρεάν γύρους.
Αναβαθμίστε την εφαρμογή Dragonia Casino στο κινητό σας σήμερα και αναπτύξτε την εμπειρία παιχνιδιοποίησης σας!

Πώς να κάνετε εγγραφή και να πληρώσετε στο Dragonia Casino στο μοβαίλ

Θέλετε να γίνετε μέλος του Dragonia Casino και να πληρώσετε μέσω του κινητού σας; Εδώ βρείτε 5 βήματα για να εγγραφείτε και να πληρώσετε εύκολα:
1. Επισκεφθείτε την ιστοσελίδα του Dragonia Casino στο κινητό σας και πατήστε το κουμπί “Εγγραφή”.
2. Συμπληρώστε τα απαιτούμενα στοιχεία εγγραφής σας, όπως ονοματεπώνυμο, ψευδώνυμο χρήστη και κωδικός πρόσβασης.
3. Επιβεβαιώστε την εγγραφή σας μέσω του e-mail που στείλαμε στην διεύθυνσή σας ηλεκτρονικou ταχυδρομείου.
4. Για να πληρώσετε, πατήστε το κουμπί “Πληρωμή” και επιλέξτε το διαθέσιμο τρόπο πληρωμής σας.
5. Συμπληρώστε τα απαιτούμενα στοιχεία πληρωμής και ολοκληρώστε την πληρωμή σας. Τώρα είστε έτοιμοι να παίξετε!

Τιplά στρατégia για να παίξετε Dragonia Casino στο κινητό

Εάν ζητάτε να παίξετε Dragonia Casino στο κινητό, εδώ βρείτε τις κορυφαίες στρατηγικές:

1. Χρησιμοποιήστε την τεχνητή νοημοσynthετική του Dragonia Casino, η οποία σας βοηθά να λαμβάνετε πιο καλά απόδοση.
2. Το χρήσιμο των bonus και προσφορών είναι σημαντικό. Μην αγνοήσετε τις εκπτώσεις και τα δωροδόκανα, επειδή μπορούν να σας δώσουν περισσότερες πι Delta για τον ίδιο εντόπιση.
3. Διατηρήστε την συντήρηση σας στο επίπεδο γνώσεων σχετικά με τις νέες ρολικές παιχνídia του Dragonia Casino. Έχετε πάντα υπόψη τις τελευταίες τροποποιήσεις και νέες προσθήκες.
4. Έχετε πάντα υπόψη το ποσό που είστε έτοιμοι να χάσετε και μην υπερβαίνετε το όριο σας. Η ανεπτυγμένη στρατηγική σας πρέπει να σας βοηθή να ελέγξετε τα επιθέσεις σας.
5. Προσεχήστε την πολιτική ασφαλείας του Dragonia Casino και μην ανταποκρίνεστε σε αιτήματα πληροφοριών πολιτικής προστασίας μέσω μηνυμάτων ηλεκτρονικού ταχυδρομείου ή κλήσεων.

dragonia casino

Παίξτε Καζίνο Από Καμία Τοποθεσία: Σε Ποιο Κινητό Μπορείτε να Παίξετε το Dragonia Casino;

Το Dragonia Casino είναι διαθέσιμο για παίξιμο σε κινητά σκληρά και ν tablets. Μπορείτε να παίξετε το καζίνο σας τον καιρό που είστε σε κίνηση, είτε στο σπίτι σας ή σε κάποιο διακοπές.

Το Dragonia Casino σάς προσφέρει την ίδια εμπειρία παιχνιδιοποίησης με την υψηλή λειτουργία και την αξιόπιστη περιγραφή που περιμένετε από ένα επαγελμένο καζίνο, όπου και να βρίσκεστε.

Design and Develop by Ovatheme