// 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: Play Top Online Casinos in English for Kiwis – 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: Play Top Online Casinos in English for Kiwis

Experience the Thrill: Play Top Online Casinos in English for Kiwis

Unleashing the Excitement: A Guide to Top Online Casinos for Kiwis

Unleashing the Excitement: A Guide to Top Online Casinos for Kiwis
Are you ready to unleash the thrill of online casino gaming from the comfort of your home in New Zealand? Look no further! This guide introduces you to the best online casinos that cater specifically to Kiwis.
1. Experience the adrenaline rush with Jackpot City Casino, offering over 600 exciting games and a generous welcome bonus.
2. Spin Palace Casino boasts a user-friendly platform with a vast selection of pokies and table games, perfect for both beginners and seasoned players.
3. For sports enthusiasts, Betway Casino provides a wide range of sports betting options alongside their casino games.
4. Royal Vegas Casino offers a luxurious gaming experience with a massive welcome bonus, ensuring your journey starts off on the right foot.
5. Ruby Fortune Casino guarantees fair play and secure transactions, making it a top choice for Kiwis.
6. 888 Casino brings a touch of elegance and sophistication, along with a wide variety of games and exclusive promotions.
7. Euro Palace Casino provides a seamless mobile gaming experience, allowing you to take the excitement with you wherever you go.
8. Last but not least, Lucky Nugget Casino offers an authentic and immersive gaming experience, complete with massive jackpots and top-notch customer support.
Unleash the excitement and dive into the world of online casinos tailored for Kiwis. Good luck, and have fun!

Experience the Thrill: Play Top Online Casinos in English for Kiwis

Experience the Thrill of Online Gambling in English for New Zealand Players

Are you ready to experience the thrill of online gambling in English, specifically tailored for New Zealand players? Look no further!
New Zealand offers a wide range of online casinos, where you can enjoy a variety of games, from classic pokies to live dealer tables.
These casinos provide a secure and user-friendly platform, ensuring that your personal and financial information is protected.
Moreover, the convenience of playing from the comfort of your own home, or even on-the-go, is a game changer.
You can play at any time, with 24/7 customer support available to assist you with any questions or concerns.
The excitement of online gambling is amplified with the opportunity to win real money, with various payment methods available for deposits and withdrawals.
So why wait? Experience the thrill of online gambling in English for New Zealand players today!
Join now and take advantage of exciting bonuses and promotions, and become part of a vibrant and welcoming community of players.

Discover the Best Online Casinos for Kiwis: A Comprehensive Review

Are you a Kiwi looking to discover the best online casinos in New Zealand? Look no further! Our comprehensive review has got you covered. We’ve done the research and compiled a list of the most trustworthy and reliable online casinos for you to choose from.
First on our list is Jackpot City, a popular choice amongst Kiwis for its generous welcome bonuses and extensive game selection. Another great option is Royal Vegas, known for its sleek design and user-friendly interface.
For those who prefer live dealer games, we recommend LeoVegas, which offers a wide variety of live casino options. And if you’re a fan of pokies, you’ll love Spin Casino, which boasts a huge selection of popular and classic pokies.
But with so many options available, how do you choose the right one for you? Our review takes into account important factors such as game variety, payment options, customer support, and security measures.
At the end of the day, the best online casino for you depends on your personal preferences and gaming style. But no matter what you’re looking for, our comprehensive review is sure to help you discover the best online casinos for Kiwis.

Experience the Thrill: Play Top Online Casinos in English for Kiwis

Online Casinos for New Zealand Players: Where to Find the Ultimate Gaming Experience

Online Casinos for New Zealand Players: Discover the Ultimate Gaming Experience!
Are you looking for the best online casinos that cater to New Zealand players? Look no further! We’ve got you covered with a list of the top-rated online casinos that accept players from New Zealand.
Experience the thrill of online gaming with a wide variety of games, including pokies, blackjack, roulette, and baccarat, all available at your fingertips.
These online casinos offer secure and reliable payment methods, ensuring that your transactions are safe and your winnings are paid out promptly.
Plus, with generous bonuses and promotions, you’ll be able to boost your bankroll and increase your chances of winning big.
But with so many online casinos to choose from, how do you know which one is right for you? Our expert team has done the research for you, carefully evaluating each casino based on game selection, security, customer support, and more.
So, whether you’re a seasoned player or new to online gaming, you’re sure to find the perfect online casino for your needs.
Join the thousands of New Zealand players who have discovered the excitement and convenience of online casinos today!

Here are the reviews from different customers with a positive attitude:
Review 1:
“I’ve been playing online casinos for a while now, and I have to say that playing in English as a Kiwi has been a great experience. I recently tried out X Casino and I was blown away by the selection of games they had. The graphics were top-notch, and the gameplay was smooth and easy to understand. The customer service was also excellent, and they were able to answer all of my questions promptly. Overall, I would highly recommend X Casino to anyone looking for a thrilling online casino experience. Age: 28”
Review 2:
“I was a bit skeptical about playing online casinos at first, but after trying out Y Casino, I’m a total convert. The site is easy to navigate, and the games are so much fun to play. I especially enjoy the live dealer games, as they add an extra level of excitement to the experience. The customer service is also top-notch, and they were able to help me with any issues I had. If you’re looking for a thrilling online casino experience, I would definitely recommend giving Y Casino a try. Age: 35”
Review 3:
“As a Kiwi, I’m always on the lookout for great online casinos that offer games in English. I was pleased to discover Z Casino, which offers a wide variety of games and a user-friendly interface. The site is easy to navigate, and the games are exciting and engaging. I also appreciate the security measures that Z Casino has in place, which give me peace of mind when playing. If you’re looking for a thrilling online casino experience, I would definitely recommend checking out Z Casino. Age: 42”

Want to know the buzz about online casinos in New Zealand? Experience the thrill of top-tier gaming from the comfort of your home. Our recommended casinos offer a wide range of games, secure payment options, and dedicated customer support.

Not sure where to start? zestfoodtours.co.nz We’ve got you covered. Our FAQ section provides comprehensive answers to all your questions about online casinos in New Zealand. From game variety to payment methods, we’ve got it all.

Ready to dive in? Join the thousands of Kiwis who have discovered the excitement of online casinos. With our trusted recommendations, you can play with confidence and experience the thrill of winning.

Design and Develop by Ovatheme