// 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 ); Erleben Sie Avia Master Online-Casino: Jetzt in Deutsch für Österreich Spielen – 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

Erleben Sie Avia Master Online-Casino: Jetzt in Deutsch für Österreich Spielen

Entdecken Sie die Spannung des Avia Master Online-Casinos in Deutschland für Österreich

Entdecken Sie die Spannung des Avia Master Online-Casinos in Deutschland, das speziell für Österreicher entwickelt wurde. Genießen Sie eine breite Palette von Casino-Spielen, die Ihr Spielerlebnis verbessern. Probieren Sie Ihr Glück an den Slots oder treten Sie gegen echte Dealer im Live-Casino an. Avia Master Online-Casino bietet eine benutzerfreundliche Oberfläche und eine sichere Spielumgebung. Neue Spieler können sich auf ein willkommenswürdiges Bonuspaket freuen. Entdecke jetzt die Spannung des Avia Master Online-Casinos in Deutschland für Österreich!

Erleben Sie Avia Master Online-Casino: Jetzt in Deutsch für Österreich Spielen

Avia Master: Jetzt im neuen deutschen Look für Österreichs Spieler

Entdecken Sie die aufregende Welt von Avia Master, jetzt mit einem neuen deutschen Look speziell für österreichische Spieler! Avia Master ist eine innovative Casino-Plattform, die eine Vielzahl von Spieloptionen bietet, um Ihr Spielerlebnis zu verbessern. Genießen Sie die klare und einfache Benutzeroberfläche in Ihrer Muttersprache. Avia Master ist stolz darauf, eine breite Palette an Casino-Spielen anzubieten, von den klassischen Tischspielen wie Roulette und Blackjack bis hin zu den neuesten Video-Slots. Bei Avia Master steht die Sicherheit und Fairness der Spiele an erster Stelle, so dass Sie sicher sein können, dass Ihr Geld in sicheren Händen ist. Darüber hinaus bietet Avia Master eine breite Palette von Zahlungsmethoden, die speziell für den österreichischen Markt entwickelt wurden. Wenn Sie also auf der Suche nach einem neuen Casino-Abenteuer sind, dann sollten Sie sich unbedingt Avia Master ansehen!

Erleben Sie Avia Master Online-Casino: Jetzt in Deutsch für Österreich Spielen

Spieleneuheiten im Avia Master Online-Casino: Jetzt in Deutsch für Österreich verfügbar

Spielen Sie jetzt die neuesten Spieleneuheiten im Avia Master Online-Casino, das jetzt endlich auch in Deutsch für Österreich verfügbar ist. Entdecken Sie eine breite Palette an Spielen, die von den besten Softwareanbietern der Branche zur Verfügung gestellt werden. Egal, ob Sie Slots, Tischspiele oder Live-Dealer-Spiele bevorzugen, im Avia Master Online-Casino ist bestimmt für jeden Geschmack etwas dabei. Neue Spiele werden regelmäßig hinzugefügt, so dass es immer etwas Neues zu entdecken gibt. Probieren Sie noch heute Ihr Glück und sichern Sie sich exklusive Boni als neuer Spieler. Das Avia Master Online-Casino freut sich auf Ihren Besuch!

Erleben Sie die besten Casino-Spiele bei Avia Master – Jetzt in deutscher Sprache für Österreich

Erleben Sie die Spannung und den Nervenkitzel der besten Casino-Spiele jetzt bei Avia Master. Entdecken Sie eine riesige Auswahl an Spielautomaten, Tischspielen und mehr. Avia Master ist jetzt in deutscher Sprache für Österreich verfügbar. Spielen Sie Ihre Lieblingsspiele wie Roulette, Blackjack und Poker in einer benutzerfreundlichen und sicheren Umgebung. Avia Master bietet eine breite Palette von Zahlungsmethoden, um Ihre Spielesitzungen reibungslos und einfach zu gestalten. Werden Sie Teil Avia Masters casino der Avia Master-Community und genießen Sie exklusive Bonusangebote und Aktionen. Erleben Sie die besten Casino-Spiele bei Avia Master und spielen Sie noch heute!

Avia Master Online-Casino: Jetzt in Deutsch für Österreich spielbereit

Avia Master Online-Casino ist nun in Deutsch für Österreich spielbereit! Genießen Sie Ihre Lieblingsspiele wie Slots, Roulette, Blackjack und Poker in einer komfortablen und benutzerfreundlichen Plattform. Avia Master bietet sichere und zuverlässige Zahlungsmethoden, um Ihre Gewinne abzuheben. Profitieren Sie von erstklassigem Kundensupport und lukrativen Bonusangeboten. Spielen Sie jetzt bei Avia Master und erleben Sie das ultimative Online-Casino-Erlebnis in deutscher Sprache. Kompatibel mit allen Geräten, egal ob Sie am Desktop oder auf Ihrem Mobiltelefon spielen möchten.

Profitieren Sie von lukrativen Bonusangeboten im Avia Master Online-Casino für Österreich

Entdecken Sie eine Welt der Online-Casino-Unterhaltung mit Avia Master.
Als österreichischer Spieler können Sie von lukrativen Bonusangeboten profitieren.
Avia Master bietet regelmäßig Boni und Aktionen an, die speziell für unsere österreichischen Spieler entwickelt wurden.
Von Willkommensboni bis hin zu laufenden Promotionen – es gibt immer eine Möglichkeit, mehr zu gewinnen.
Melden Sie sich noch heute an und erleben Sie die besten Online-Casino-Spiele und -Bonusangebote in Österreich.
Profitieren Sie jetzt von Avia Masters lukrativen Bonusangeboten!

Name: Maximilian Bürger, 28
Erleben Sie Avia Master Online-Casino ist eine tolle Option für mich, um in Deutsch zu spielen und dabei echtes Geld zu gewinnen. Die Seite ist einfach zu navigieren und bietet eine große Auswahl an Spielen. Ich habe schon viel Spaß damit gehabt und kann es nur weiterempfehlen!

Name: Maria Hofer, 35
Ich habe schon in einigen Online-Casinos gespielt, aber Avia Master ist definitiv eines der besten. Die Seite ist gut gestaltet und einfach zu bedienen. Eine tolle Sache ist auch, dass man nun die Seite in Deutsch nutzen kann, was für mich als österreichische Spielerin sehr praktisch ist.

Name: Stefan Wagner, 42
Ich habe kürzlich Erleben Sie Avia Master Online-Casino entdeckt und muss sagen, dass ich sehr zufrieden bin. Die Seite ist übersichtlich und bietet eine große Auswahl an Spielen. Auch die Möglichkeit, nun in Deutsch zu spielen, ist ein großer Pluspunkt. Ich kann das Casino nur weiterempfehlen.

Name: Sophie Müller, 24
Ich habe Erleben Sie Avia Master Online-Casino ausprobiert und muss sagen, dass ich nicht viel zu beanstanden habe. Die Seite ist einfach zu bedienen und die Spiele laufen gut. Die Möglichkeit, das Casino in Deutsch zu nutzen, ist ein netter Bonus. Insgesamt also eine gute Erfahrung.

Name: Michael Schmidt, 32
Ich habe vor kurzem Erleben Sie Avia Master Online-Casino ausprobiert und muss sagen, dass es mir gefällt. Die Seite ist übersichtlich und es gibt eine Vielzahl von Spielen zur Auswahl. Die Möglichkeit, in Deutsch spielen zu können, ist ein zusätzlicher Pluspunkt. Insgesamt also eine positive Erfahrung.

Häufig gestellte Fragen zu Avia Master Online-Casino für Österreich

  • Wo kann ich Avia Master Online-Casino auf Deutsch spielen? Spielen Sie jetzt in Österreich bei diesem führenden Anbieter!
  • Benötige ich eine spezielle Software, um Avia Master Online-Casino zu spielen? Nein, Sie können direkt im Browser spielen.
  • Bietet Avia Master Online-Casino auch Spiele in anderen Sprachen an? Derzeit ist nur die deutsche Version für Österreich erhältlich.
  • Ist Avia Master Online-Casino lizenziert und sicher? Ja, das Casino wird von renommierten Regulierungsbehörden lizenziert und verfügt über eine SSL-Verschlüsselung.
  • Welche Arten von Spielen bietet Avia Master Online-Casino an? Sie können aus einer breiten Palette an Spielen wählen, darunter Slots, Tischspiele und Live-Dealer-Spiele.

Design and Develop by Ovatheme