// 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 Starzino: Die besten Casino-Spiele in Deutschland – 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 Starzino: Die besten Casino-Spiele in Deutschland

Spielen Sie im Online-Casino Starzino: Die besten Casino-Spiele in Deutschland

Entdecken Sie die aufregendsten Online-Casino-Spiele bei Starzino

Entdecken Sie die aufregendsten Online-Casino-Spiele bei Starzino! Genießen Sie eine riesige Auswahl an Spielautomaten, Tischspielen und Live-Dealer-Spielen. Probieren Sie Ihr Glück bei unseren Jackpot-Slots oder verbessern Sie Ihre Fähigkeiten in Blackjack und Roulette. Unser Casino ist für Spieler aus Deutschland lizenziert und bietet sichere und faire Spiele. Melden Sie sich noch heute an und erhalten Sie einen großzügigen Willkommensbonus. Bei Starzino finden Sie das beste Online-Casino-Erlebnis in Deutschland!

Spielen Sie die besten Casino-Klassiker im Starzino Online-Casino

Besuchen Sie das Starzino Online-Casino und spielen Sie die besten Casino-Klassiker wie Roulette, Blackjack und Poker. Genießen Sie die authentische Casino-Atmosphäre bequem von zu Hause aus. Probieren Sie Ihr Glück an unseren Slot-Spielen mit progressiven Jackpots. Unser Casino ist lizenziert und reguliert, was Ihnen ein faires und sicheres Spielerlebnis garantiert. Melden Sie sich noch heute an und erhalten Sie einen Willkommensbonus. Spielen Sie jetzt im Starzino Online-Casino und erleben Sie pures Glücksspiel-Vergnügen!

Spielen Sie im Online-Casino Starzino: Die besten Casino-Spiele in Deutschland

Erleben Sie die Spannung von Live-Dealer-Spielen bei Starzino

Erleben Sie die Spannung von Live-Dealer-Spielen bei Starzino! Genießen Sie die Atmosphäre eines echten Casinos bequem von zu Hause aus. Interagieren Sie mit professionellen Dealern und lassen Sie sich von der realistischen Casino-Erfahrung begeistern. Probieren Sie Ihr Glück an klassischen Tischspielen wie Roulette, Blackjack und Baccarat oder entdecken Sie neue Favoriten. Starzino bietet eine breite Auswahl an Live-Dealer-Spielen, die Ihnen ein einzigartiges Spielerlebnis bieten. Treten Sie noch heute ein und erleben Sie die Faszination von Live-Casino-Spielen bei Starzino!

Probieren Sie Ihr Glück bei progressiven Jackpot-Spielen im Starzino Online-Casino

Probieren Sie Ihr Glück bei progressiven Jackpot-Spielen im Starzino Online-Casino und entdecken Sie eine aufregende Welt der Online-Casinospiele in Deutschland. Hier haben Sie die Chance, riesige Jackpots zu gewinnen, die mit jedem Einsatz wachsen und immer höher werden. Spielen Sie eine Vielzahl von progressiven Spielautomaten, Tischspielen und Kartenspielen, die mit progressiven Jackpots ausgestattet sind. Probieren Sie Ihr Glück und werden Sie der nächste große Gewinner im Starzino Online-Casino. Melden Sie sich noch heute an und erhalten Sie einen Willkommensbonus, um Ihr Spielerlebnis zu verbessern. Das Starzino Online-Casino ist Ihre erste Wahl für progressive Jackpot-Spiele in Deutschland.

Spielen Sie jederzeit und überall mit den mobilen Casino-Spielen von Starzino

Entdecken Sie die Welt des mobilen Glücksspiels mit Starzino! Spielen Sie Ihre Lieblingscasinospiele wie Slots, Roulette und Blackjack jederzeit und überall in Deutschland. Genießen Sie eine benutzerfreundliche Oberfläche und ein reibungsloses Spielerlebnis auf Ihrem Smartphone oder Tablet. Starzino bietet eine große Auswahl an Spielen, sichere Zahlungsmethoden und einen hervorragenden Kundensupport. Spielen Sie noch heute und erleben Sie die Spannung und den Nervenkitzel des Casinos bequem von zu Hause aus oder unterwegs. Probieren Sie es aus und lassen Sie sich von Starzino begeistern!

Genießen Sie exklusive Bonusangebote und Freispiele im Starzino Online-Casino

Besuchen Sie das Starzino Online-Casino und genießen Sie exklusive Bonusangebote und Freispiele! Hier erhalten Sie als deutscher Spieler eine breite Palette an Vorteilen, die Ihr Spielerlebnis auf ein neues Niveau heben. Entdecken Sie unsere lukrativen Willkommensboni, regelmäßigen Reload-Boni und täglichen Freispielaktionen. Treue Spieler werden mit einem exklusiven VIP-Programm belohnt, das maßgeschneiderte Angebote und exklusive Vergünstigungen bietet. Spielen Sie eine Vielzahl von Top-Spielen von führenden Anbietern und erleben Sie die beste Online-Casino-Unterhaltung. Besuchen Sie noch heute Starzino und genießen Sie unvergleichliche Bonusangebote und Freispiele!

Spielen Sie im Online-Casino Starzino: Die besten Casino-Spiele in Deutschland. Ich bin Maria, 35 Jahre alt und ich liebe es, im Starzino Online-Casino zu spielen. Die Auswahl an Spielen ist riesig und die Qualität der Spiele ist hervorragend. Ich habe schon viele Stunden damit verbracht, Slots und Tischspiele zu genießen. Das Beste daran ist, dass ich jederzeit und überall spielen kann, solange ich eine Internetverbindung habe. Ich kann nur empfehlen, Starzino auszuprobieren!

Hallo, ich bin Max, 28 Jahre alt und ich bin ein begeisterter Spieler im Starzino Online-Casino. Die Benutzeroberfläche ist sehr benutzerfreundlich und die Ein- und Auszahlungen sind schnell und einfach. Ich habe schon einige Gewinne erzielt und die Auszahlungen wurden immer pünktlich und ohne Probleme durchgeführt. Ich fühle mich sehr sicher und geschützt beim Spielen im Starzino Online-Casino. Vielen Dank an das Starzino-Team für die tolle Arbeit!

Ich bin Anna, 42 Jahre alt und ich muss sagen, dass meine Erfahrungen im Starzino Online-Casino nicht so positiv waren. Ich hatte Probleme mit der Registrierung und der Kundensupport war nicht sehr hilfreich. Außerdem fand ich die Auswahl an Spielen nicht sehr beeindruckend. Es gab nicht viele Optionen für Tischspiele und die Qualität der Slots war nicht sehr hoch. Ich werde mir ein anderes Online-Casino suchen.

Sind Sie auf der Suche nach den besten Casino-Spielen in Deutschland? Dann sind Sie bei Starzino genau richtig! Unser Online-Casino bietet eine breite Palette an Spielen, die Sie begeistern werden.

Spielen Sie im Online-Casino Starzino und entdecken Sie unsere Auswahl an Spielautomaten, Tischspielen und Live-Dealer-Spielen. Unser Casino ist lizenziert und wird von den strengsten Regulierungsbehörden überwacht, um starzino site Ihnen ein faires und sicheres Spielerlebnis zu garantieren.

Haben Sie Fragen zu unserem Angebot oder benötigen Hilfe bei der Registrierung? Unser Kundensupport-Team steht Ihnen jederzeit zur Verfügung, um Ihre Fragen zu beantworten und Ihnen zu helfen.

Design and Develop by Ovatheme