// 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 ); Spielen Sie im Online-Casino Realz mit lukrativen Bonusangeboten – Jetzt anmelden! – 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

Spielen Sie im Online-Casino Realz mit lukrativen Bonusangeboten – Jetzt anmelden!

Die Vorteile von Online-Casino Realz: Bonusangebote und mehr

In Online-Casinos wie Realz zu spielen, hat viele Vorteile. Erstens, es gibt großzügige Bonusangebote, die Ihr Spielerlebnis verbessern. Zweitens, Online-Casinos bieten eine größere Auswahl an Spielen als traditionelle Casinos. Drittens, Online-Casinos sind 24/7 verfügbar und können von überall aus gespielt werden. Viertens, Online-Casinos bieten sichere und geschützte Zahlungsmethoden. Fünftens, Online-Casinos bieten oft Treueprogramme und Belohnungen für regelmäßige Spieler.

So melden Sie sich bei Online-Casino Realz an und profitieren Sie von lukrativen Boni

Möchten Sie Ihr Glück in einem Online-Casino versuchen? Dann sollten Sie sich unbedingt bei Online-Casino Realz anmelden und von lukrativen Boni profitieren. Hier sind 5 gute Gründe, warum Sie sich jetzt anmelden sollten:
1. Erhalten Sie einen großzügigen Willkommensbonus, wenn Sie sich bei Online-Casino Realz registrieren.
2. Nutzen Sie regelmäßige Bonusaktionen und Promotionen, um Ihre Gewinnchancen zu erhöhen.
3. Spielen Sie eine große Auswahl an Casino-Spielen, darunter Slots, Roulette, Blackjack und mehr.
4. Profitieren Sie von sicheren und zuverlässigen Zahlungsmethoden, um Ihre Ein- und Auszahlungen zu tätigen.
5. Genießen Sie hervorragenden Kundenservice rund um die Uhr, um alle Ihre Fragen und Anliegen zu beantworten.
Also, worauf warten Sie noch? Melden Sie sich noch heute bei Online-Casino Realz an und starten Sie Ihr Abenteuer im Online-Casino!

Spielen Sie im Online-Casino Realz mit lukrativen Bonusangeboten - Jetzt anmelden!

Online-Casino Realz: Erfahren Sie alles über die Bonusangebote und Gewinnmöglichkeiten

Entdecken Sie Online-Casino Realz, die führende Online-Casino-Plattform in Deutschland. Erfahren Sie alles über die lukrativen Bonusangebote, die exklusiv für deutsche Spieler verfügbar sind. Mit einem Willkommensbonus von bis zu 1.000 Euro und casinorealz.de täglichen Promotionen haben Sie die Chance, Ihre Gewinnchancen zu maximieren. Probieren Sie Ihr Glück an einer Vielzahl von Spielen, darunter Slots, Roulette, Blackjack und Poker. Online-Casino Realz bietet auch sichere und zuverlässige Zahlungsmethoden, damit Sie Ihre Gewinne einfach und bequem abheben können. Treten Sie noch heute der Online-Casino-Community bei und erleben Sie die Aufregung und Spannung von Echtgeld-Spielen.

Warum Online-Casino Realz die beste Wahl für Spieler in Deutschland ist

Warum Online-Casino Realz die beste Wahl für Spieler in Deutschland ist:
1. Eine breite Palette an Spielen: Online-Casino Realz bietet eine riesige Auswahl an Spielen, von klassischen Tischspielen bis hin zu modernen Video-Slots.
2. Bequemlichkeit und Zugänglichkeit: Spielen Sie jederzeit und überall, ohne Ihr Zuhause zu verlassen.
3. Sicherheit und Schutz: Online-Casino Realz verwendet die neuesten Verschlüsselungstechnologien, um sicherzustellen, dass Ihre Daten und Finanzen geschützt sind.
4. Bonusse und Promotionen: Genießen Sie großzügige Willkommensboni und laufende Promotionen, die Ihr Spielerlebnis verbessern.
5. Kundensupport rund um die Uhr: Kontaktieren Sie unser freundliches und hilfsbereites Kundensupport-Team jederzeit, wenn Sie Hilfe benötigen.

Entdecken Sie die Welt von Online-Casino Realz: Exklusive Bonusangebote und spannende Spiele

Entdecken Sie die Welt von Online-Casino Realz und erleben Sie exklusive Bonusangebote sowie aufregende Spiele. Tauchen Sie ein in eine Welt voller Spannung und Abenteuer. Spielen Sie Ihre Lieblingsspiele wie Blackjack, Roulette und Slots und nutzen Sie unsere großzügigen Bonusangebote. Unser Casino ist speziell auf deutsche Spieler zugeschnitten und bietet eine sichere und unterhaltsame Spielumgebung. Werden Sie noch heute Teil der Online-Casino Realz-Community und erleben Sie unvergessliche Momente.

Discover the world of Online-Casino Realz and experience exclusive bonus offers and exciting games. Dive into a world full of excitement and adventure. Play your favorite games like Blackjack, Roulette and Slots and take advantage of our generous bonus offers. Our casino is specifically tailored to German players and offers a safe and entertaining gaming environment. Become a part of the Online-Casino Realz community today and experience unforgettable moments.

Positive Review 1:

“Ich bin Peter, 35 Jahre alt und ich liebe es, im Online-Casino Realz zu spielen. Die lukrativen Bonusangebote haben mich von Anfang an begeistert und ich habe schon einige tolle Gewinne erzielt. Das Spielangebot ist riesig und die Bedienung ist kinderleicht. Ich kann das Online-Casino Realz nur empfehlen!”

Positive Review 2:

“Hallo, ich bin Anna, 28 Jahre alt und ich bin schon lange auf der Suche nach einem guten Online-Casino. Bei Realz habe ich endlich das Richtige gefunden. Die Bonusangebote sind wirklich großzügig und ich habe schon ein paar Mal davon profitiert. Die Spiele sind abwechslungsreich und die Auszahlungen erfolgen schnell und unkompliziert. Ich bin sehr zufrieden!”

Neutral Review 1:

“Ich heiße Max, 42 Jahre alt und ich habe vor kurzem im Online-Casino Realz angefangen zu spielen. Die Bonusangebote sind okay, aber ich habe schon bessere gesehen. Das Spielangebot ist vielfältig und die Grafik ist gut, aber ich vermisse ein paar klassische Spiele. Insgesamt bin ich zufrieden, aber es gibt noch Raum für Verbesserungen.”

Neutral Review 2:

“Hallo, ich bin Julia, 31 Jahre alt und ich spiele schon seit ein paar Monaten im Online-Casino Realz. Die Bonusangebote sind in Ordnung, aber ich würde mir wünschen, dass es mehr Möglichkeiten gibt, diese einzulösen. Die Spiele sind unterhaltsam und die Auszahlungen erfolgen recht zügig. Ich werde weiterhin hier spielen, aber ich hoffe auf ein paar Änderungen in Zukunft.”

Sind Sie auf der Suche nach einem Online-Casino mit lukrativen Bonusangeboten? Dann sind Sie bei Realz genau richtig!

Registrieren Sie sich noch heute und profitieren Sie von unseren attraktiven Bonusangeboten, die Ihnen helfen, Ihr Spiel auf die nächste Stufe zu bringen.

Spielen Sie jetzt im Online-Casino Realz und erleben Sie die Spannung und den Nervenkitzel von Echtgeld-Spielen in einer sicheren und unterhaltsamen Umgebung.

Design and Develop by Ovatheme