You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

89 lines
2.4 KiB

/* global woodmart_settings */
(function($) {
$.each([
'frontend/element_ready/wd_google_map.default',
], function(index, value) {
woodmartThemeModule.wdElementorAddAction(value, function() {
woodmartThemeModule.googleMapInit();
});
});
woodmartThemeModule.googleMapInit = function() {
$('.google-map-container').each(function() {
var $map = $(this);
var data = $map.data('map-args');
var config = {
locations : [
{
lat : data.latitude,
lon : data.longitude,
icon : data.marker_icon,
animation: google.maps.Animation.DROP
}
],
controls_on_map: false,
map_div : '#' + data.selector,
start : 1,
map_options : {
zoom : parseInt(data.zoom),
scrollwheel: 'yes' === data.mouse_zoom
}
};
if (data.json_style && !data.elementor) {
config.styles = {};
config.styles[woodmart_settings.google_map_style_text] = $.parseJSON(data.json_style);
} else if (data.json_style && data.elementor) {
config.styles = {};
config.styles[woodmart_settings.google_map_style_text] = $.parseJSON(atob(data.json_style));
}
if ('yes' === data.marker_text_needed) {
config.locations[0].html = data.marker_text;
}
if ('button' === data.init_type) {
$map.find('.wd-init-map').on('click', function(e) {
e.preventDefault();
if ($map.hasClass('wd-map-inited')) {
return;
}
$map.addClass('wd-map-inited');
new Maplace(config).Load();
});
} else if ('scroll' === data.init_type) {
woodmartThemeModule.$window.on('scroll', function() {
if (window.innerHeight + woodmartThemeModule.$window.scrollTop() + parseInt(data.init_offset) > $map.offset().top) {
if ($map.hasClass('wd-map-inited')) {
return;
}
$map.addClass('wd-map-inited');
new Maplace(config).Load();
}
});
} else if ('interaction' === data.init_type) {
woodmartThemeModule.$window.on('wdEventStarted', function() {
new Maplace(config).Load();
});
} else {
new Maplace(config).Load();
}
});
var $gmap = $('.google-map-container-with-content');
woodmartThemeModule.$window.on('resize', function() {
$gmap.css({
'height': $gmap.find('.wd-google-map.with-content').outerHeight()
});
});
};
$(document).ready(function() {
woodmartThemeModule.googleMapInit();
});
})(jQuery);