{"id":12026,"date":"2025-07-18T15:35:01","date_gmt":"2025-07-18T19:35:01","guid":{"rendered":"https:\/\/mpbeauchemin.com\/job-listings\/"},"modified":"2026-06-01T16:51:12","modified_gmt":"2026-06-01T20:51:12","slug":"job-listings","status":"publish","type":"page","link":"https:\/\/mpbeauchemin.com\/en\/job-listings\/","title":{"rendered":"Job Listings"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"12026\" class=\"elementor elementor-12026 elementor-11335\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-fdef080 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"fdef080\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t\t\t\t<div class=\"elementor-background-overlay\"><\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1f7f4a5 top column-style-top\" data-id=\"1f7f4a5\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1054f7e elementor-widget__width-auto elementor-widget elementor-widget-heading\" data-id=\"1054f7e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Jobs<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b92becc elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"b92becc\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-dcc34c5 top column-style-top\" data-id=\"dcc34c5\" data-element_type=\"column\" data-e-type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1b4fb36 elementor-widget elementor-widget-formidable\" data-id=\"1b4fb36\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"formidable.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"frm_forms  with_frm_style frm_center_submit frm_style_formidable-style\" id=\"frm_form_19_container\" data-token=\"10597c467d3dfc83f4516160595b7c8c\">\n<form enctype=\"multipart\/form-data\" method=\"post\" class=\"frm-show-form search-field frm_ajax_submit  frm_pro_form \" id=\"form_filtres-et-recherches2\" data-token=\"10597c467d3dfc83f4516160595b7c8c\">\n<div class=\"frm_form_fields \">\n<fieldset>\n<legend class=\"frm_screen_reader\">Filtres et recherches En<\/legend>\r\n\r\n<div class=\"frm_fields_container\">\n<input type=\"hidden\" name=\"frm_action\" value=\"create\" \/>\n<input type=\"hidden\" name=\"form_id\" value=\"19\" \/>\n<input type=\"hidden\" name=\"frm_hide_fields_19\" id=\"frm_hide_fields_19\" value=\"\" \/>\n<input type=\"hidden\" name=\"form_key\" value=\"filtres-et-recherches2\" \/>\n<input type=\"hidden\" name=\"item_meta[0]\" value=\"\" \/>\n<input type=\"hidden\" id=\"frm_submit_entry_19\" name=\"frm_submit_entry_19\" value=\"b5044f41b2\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/en\/wp-json\/wp\/v2\/pages\/12026\" \/><div id=\"frm_field_156_container\" class=\"frm_form_field form-field  frm_top_container frm12 frm_first\">\r\n\t<label for=\"field_5r7av2\" id=\"field_5r7av2_label\" class=\"frm_primary_label\">Job title\r\n\t\t<span class=\"frm_required\" aria-hidden=\"true\"><\/span>\r\n\t<\/label>\r\n\t\t\t<select name=\"item_meta[156]\" id=\"field_5r7av2\"  data-placeholder=\"Job title\"  placeholder=\"Job title\" data-invmsg=\"Job title is invalid\" aria-invalid=\"false\"  >\n\t\t<option  class=\"frm-select-placeholder\" value=\"\" data-placeholder=\"true\">Job title<\/option><option  value=\"Vendeur(euse)\">Vendeur(euse)<\/option><option  value=\"Aide-technicien(ne)\">Aide-technicien(ne)<\/option><option  value=\"Installateur(trice)\">Installateur(trice)<\/option><option  value=\"Peintre\">Peintre<\/option><option  value=\"Chauffeur(euse)\">Chauffeur(euse)<\/option>\t<\/select>\n\t\r\n\t\r\n\t\r\n<\/div>\n<div id=\"frm_field_157_container\" class=\"frm_form_field form-field  frm_top_container frm12 frm_first\">\r\n\t<label for=\"field_wxvg62\" id=\"field_wxvg62_label\" class=\"frm_primary_label\">City\r\n\t\t<span class=\"frm_required\" aria-hidden=\"true\"><\/span>\r\n\t<\/label>\r\n\t\t\t<select name=\"item_meta[157]\" id=\"field_wxvg62\"  data-placeholder=\"Where\"  placeholder=\"Where\" data-invmsg=\"City is invalid\" aria-invalid=\"false\"  >\n\t\t<option  class=\"frm-select-placeholder\" value=\"\" data-placeholder=\"true\">Where<\/option><option  value=\"Longueuil\">Longueuil<\/option><option  value=\"Saint-Jean-sur-Richelieu\">Saint-Jean-sur-Richelieu<\/option>\t<\/select>\n\t\r\n\t\r\n\t\r\n<\/div>\n<div id=\"frm_field_158_container\" class=\"frm_form_field form-field  frm_top_container frm12 frm_first\">\r\n\t<label for=\"field_km39e2\" id=\"field_km39e2_label\" class=\"frm_primary_label\">Job type\r\n\t\t<span class=\"frm_required\" aria-hidden=\"true\"><\/span>\r\n\t<\/label>\r\n\t\t\t<select name=\"item_meta[158]\" id=\"field_km39e2\"  data-placeholder=\"Job Type\"  placeholder=\"Job Type\" data-invmsg=\"Job type is invalid\" aria-invalid=\"false\"  >\n\t\t<option  class=\"frm-select-placeholder\" value=\"\" data-placeholder=\"true\">Job Type<\/option><option  value=\"Full-time\">Full-time<\/option><option  value=\"Part-time\">Part-time<\/option>\t<\/select>\n\t\r\n\t\r\n\t\r\n<\/div>\n<div id=\"frm_field_159_container\" class=\"frm_form_field form-field  frm12 frm_first\">\r\n\t<div class=\"frm_submit frm_flex\">\r\n<button class=\"frm_button_submit frm_final_submit\" type=\"submit\"  >Search<\/button>\r\n\r\n\r\n\r\n<\/div>\r\n<\/div>\n\t<input type=\"hidden\" name=\"item_key\" value=\"\" \/>\n\t<input name=\"frm_state\" type=\"hidden\" value=\"FehkBTDWVqIfHyRIzQONEzrwnqVPHAFXY66qHyMBqZsHfEQkhM\/ImwbnGHAg9ZVc\" \/><\/div>\n<\/fieldset>\n<\/div>\n\n<p style=\"display: none !important;\" class=\"akismet-fields-container\" data-prefix=\"ak_\"><label>&#916;<textarea name=\"ak_hp_textarea\" cols=\"45\" rows=\"8\" maxlength=\"100\"><\/textarea><\/label><input type=\"hidden\" id=\"ak_js_1\" name=\"ak_js\" value=\"46\"\/><script>document.getElementById( \"ak_js_1\" ).setAttribute( \"value\", ( new Date() ).getTime() );<\/script><\/p><\/form>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3ac17da elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"3ac17da\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-ee1a837 top column-style-top\" data-id=\"ee1a837\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-8a34ff9 jobs-map-section elementor-widget elementor-widget-formidable-views\" data-id=\"8a34ff9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"formidable-views.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p><!-- FRM-VIEW 11334 state=\"dLZyabWMsHW4EieWRuI+vqd4Rp7Ui+YY1K3KgIIsJQiStwfWHFMklAaV5mfDZSbGj5zr3oTGMRhKOClFOZkXNlmCsUAupjpfpbWh0wckAbs=\" refresh=\"1\" --><\/p>\n<div class=\"job-list-container\">\n<div class=\"job-list-scrollable\">\n<div class=\"job-card\">\n<div class=\"job-image\">\n                    <img decoding=\"async\" width=\"180\" height=\"180\" src=\"https:\/\/mpbeauchemin.com\/wp-content\/uploads\/formidable\/4\/Gemini_Generated_Image_g3l9hpg3l9hpg3l9-180x180.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" srcset=\"https:\/\/mpbeauchemin.com\/wp-content\/uploads\/formidable\/4\/Gemini_Generated_Image_g3l9hpg3l9hpg3l9-180x180.jpg 180w, https:\/\/mpbeauchemin.com\/wp-content\/uploads\/formidable\/4\/Gemini_Generated_Image_g3l9hpg3l9hpg3l9-600x600.jpg 600w, https:\/\/mpbeauchemin.com\/wp-content\/uploads\/formidable\/4\/Gemini_Generated_Image_g3l9hpg3l9hpg3l9-1024x1024.jpg 1024w, https:\/\/mpbeauchemin.com\/wp-content\/uploads\/formidable\/4\/Gemini_Generated_Image_g3l9hpg3l9hpg3l9-768x768.jpg 768w, https:\/\/mpbeauchemin.com\/wp-content\/uploads\/formidable\/4\/Gemini_Generated_Image_g3l9hpg3l9hpg3l9.jpg 2048w\" sizes=\"(max-width: 180px) 100vw, 180px\" \/>\n                <\/div>\n<div class=\"job-content\">\n                    <a href=\"https:\/\/mpbeauchemin.com\/nos-emplois\/aide-installateurtrice-appareils-au-gaz-et-au-bois\/\" class=\"job-title\">Aide-installateur, Appareils au gaz et au bois<\/a><\/p>\n<div class=\"job-company\">[25]<\/div>\n<div class=\"job-details\">\n                        <span class=\"job-detail\">Saint-Jean-sur-Richelieu<\/span><br \/>\n                        <span class=\"job-type\">Temps plein<\/span>\n                    <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"job-card\">\n<div class=\"job-image\">\n                    <img decoding=\"async\" width=\"180\" height=\"180\" src=\"https:\/\/mpbeauchemin.com\/wp-content\/uploads\/formidable\/4\/emploi-e1762448543820-180x180.png\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" srcset=\"https:\/\/mpbeauchemin.com\/wp-content\/uploads\/formidable\/4\/emploi-e1762448543820-180x180.png 180w, https:\/\/mpbeauchemin.com\/wp-content\/uploads\/formidable\/4\/emploi-e1762448543820-600x600.png 600w\" sizes=\"(max-width: 180px) 100vw, 180px\" \/>\n                <\/div>\n<div class=\"job-content\">\n                    <a href=\"https:\/\/mpbeauchemin.com\/nos-emplois\/mecanicienne-de-vehicules-legers-et-lourds\" class=\"job-title\">M\u00e9canicien(ne) de v\u00e9hicules l\u00e9gers et lourds<\/a><\/p>\n<div class=\"job-company\">[25]<\/div>\n<div class=\"job-details\">\n                        <span class=\"job-detail\">Saint-Jean-sur-Richelieu<\/span><br \/>\n                        <span class=\"job-type\">Temps plein<\/span>\n                    <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"job-card\">\n<div class=\"job-image\">\n                    <img decoding=\"async\" width=\"180\" height=\"180\" src=\"https:\/\/mpbeauchemin.com\/wp-content\/uploads\/formidable\/4\/Emploi_Chauffeur-180x180.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" srcset=\"https:\/\/mpbeauchemin.com\/wp-content\/uploads\/formidable\/4\/Emploi_Chauffeur-180x180.jpg 180w, https:\/\/mpbeauchemin.com\/wp-content\/uploads\/formidable\/4\/Emploi_Chauffeur-600x600.jpg 600w\" sizes=\"(max-width: 180px) 100vw, 180px\" \/>\n                <\/div>\n<div class=\"job-content\">\n                    <a href=\"https:\/\/beauchemin.wpenginepowered.com\/nos-emplois\/chauffeureuse-classe-3\/\" class=\"job-title\">Chauffeur(euse) \u2013 Classe 3<\/a><\/p>\n<div class=\"job-company\">[25]<\/div>\n<div class=\"job-details\">\n                        <span class=\"job-detail\">Saint-Jean-sur-Richelieu<\/span><br \/>\n                        <span class=\"job-type\">Temps plein<\/span>\n                    <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"job-card\">\n<div class=\"job-image\">\n                    <img loading=\"lazy\" loading=\"lazy\" decoding=\"async\" width=\"180\" height=\"180\" src=\"https:\/\/mpbeauchemin.com\/wp-content\/uploads\/formidable\/4\/Gemini_Generated_Image_kzyhbakzyhbakzyh-180x180.png\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" srcset=\"https:\/\/mpbeauchemin.com\/wp-content\/uploads\/formidable\/4\/Gemini_Generated_Image_kzyhbakzyhbakzyh-180x180.png 180w, https:\/\/mpbeauchemin.com\/wp-content\/uploads\/formidable\/4\/Gemini_Generated_Image_kzyhbakzyhbakzyh-600x600.png 600w\" sizes=\"auto, (max-width: 180px) 100vw, 180px\" \/>\n                <\/div>\n<div class=\"job-content\">\n                    <a href=\"https:\/\/mpbeauchemin.com\/nos-emplois\/commise-dentrepot-et-support-aux-ventes\" class=\"job-title\">Commis d&#8217;entrep\u00f4t et support aux ventes<\/a><\/p>\n<div class=\"job-company\">[25]<\/div>\n<div class=\"job-details\">\n                        <span class=\"job-detail\">Terrebonne<\/span><br \/>\n                        <span class=\"job-type\">Temps plein<\/span>\n                    <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"job-card\">\n<div class=\"job-image\">\n                    <img loading=\"lazy\" loading=\"lazy\" decoding=\"async\" width=\"180\" height=\"180\" src=\"https:\/\/mpbeauchemin.com\/wp-content\/uploads\/formidable\/4\/IMG_3109-180x180.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" srcset=\"https:\/\/mpbeauchemin.com\/wp-content\/uploads\/formidable\/4\/IMG_3109-180x180.jpg 180w, https:\/\/mpbeauchemin.com\/wp-content\/uploads\/formidable\/4\/IMG_3109-600x600.jpg 600w\" sizes=\"auto, (max-width: 180px) 100vw, 180px\" \/>\n                <\/div>\n<div class=\"job-content\">\n                    <a href=\"https:\/\/mpbeauchemin.com\/nos-emplois\/sableureuse\/\" class=\"job-title\">Sableur(euse)<\/a><\/p>\n<div class=\"job-company\">[25]<\/div>\n<div class=\"job-details\">\n                        <span class=\"job-detail\">Saint-Jean-sur-Richelieu<\/span><br \/>\n                        <span class=\"job-type\">Temps plein<\/span>\n                    <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"job-card\">\n<div class=\"job-image\">\n                    <img loading=\"lazy\" loading=\"lazy\" decoding=\"async\" width=\"180\" height=\"180\" src=\"https:\/\/mpbeauchemin.com\/wp-content\/uploads\/formidable\/4\/IMG_3140-180x180.jpg\" class=\"attachment-thumbnail size-thumbnail\" alt=\"\" srcset=\"https:\/\/mpbeauchemin.com\/wp-content\/uploads\/formidable\/4\/IMG_3140-180x180.jpg 180w, https:\/\/mpbeauchemin.com\/wp-content\/uploads\/formidable\/4\/IMG_3140-600x600.jpg 600w\" sizes=\"auto, (max-width: 180px) 100vw, 180px\" \/>\n                <\/div>\n<div class=\"job-content\">\n                    <a href=\"https:\/\/mpbeauchemin.com\/nos-emplois\/peintre\/\" class=\"job-title\">Peintre<\/a><\/p>\n<div class=\"job-company\">[25]<\/div>\n<div class=\"job-details\">\n                        <span class=\"job-detail\">Saint-Jean-sur-Richelieu<\/span><br \/>\n                        <span class=\"job-type\">Temps plein<\/span>\n                    <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/div>\n<\/div>\n<div class=\"frm_pagination_cont frm_hidden\"><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7211da2 elementor-widget__width-inherit elementor-widget elementor-widget-button\" data-id=\"7211da2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#elementor-action%3Aaction%3Dpopup%3Aopen%26settings%3DeyJpZCI6MTEyMjksInRvZ2dsZSI6ZmFsc2V9\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">\u2578Unsolicited Application<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-542cac5 top column-style-top\" data-id=\"542cac5\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a11b688 sticky-map-column elementor-hidden-mobile elementor-widget elementor-widget-formidable-views\" data-id=\"a11b688\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"formidable-views.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"map-column\">\n<style>#frmgeo-map-11342 .gm-style-iw-chr {display: none;}#frmgeo-map-11342 .gm-style-iw-d p {margin-top: 1em;line-height: 1.5;}<\/style>\n<div id=\"frmgeo-map-11342\" style=\"height: 300px;\"><\/div>\n<p><script>(function() {if ( document.readyState === 'complete' ) {setTimeout( loadMap, 0 );} else {window.addEventListener( 'load', loadMap );}function loadMap() {var bounds, mapElem, latLongs, length, mapConfig, map, i, location, markerContent, marker;if ( 'function' !== typeof google.maps.LatLngBounds ) {\/*The map script loads asynchronously.If it makes it here it is because it has not loaded yet.So exit early and try again in 100ms.*\/setTimeout( loadMap, 100 );return;}bounds    = new google.maps.LatLngBounds();mapElem   = document.getElementById( 'frmgeo-map-11342' );latLongs  = [{\"lat\":\"45.3210029\",\"long\":\"-73.2915802\",\"content\":\"%3Cp%3E%3Cstrong%3EAide-installateur%2C%20Appareils%20au%20gaz%20et%20au%20bois%3C%2Fstrong%3E%3C%2Fp%3E%0A%3Cp%3E775%20Rue%20Gaudette%20%3Cbr%20%2F%3ESaint-Jean-sur-Richelieu%2C%20Qu%C3%A9bec%20J3B%207S7%20%3Cbr%20%2F%3ECanada%3C%2Fp%3E%0A%3Cp%3E%3Cscript%3E%0A%20%28function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Attendre%20que%20Google%20Maps%20soit%20charg%C3%A9%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20function%20loadMap%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20bounds%2C%20mapElem%2C%20latLongs%2C%20length%2C%20mapConfig%2C%20map%2C%20i%2C%20location%2C%20markerContent%2C%20marker%3B%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20%27function%27%20%21%3D%3D%20typeof%20google.maps.LatLngBounds%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Le%20script%20Google%20Maps%20n%27est%20pas%20encore%20charg%C3%A9%2C%20retry%20dans%20100ms%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout%28%20loadMap%2C%20100%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20bounds%20%20%20%20%3D%20new%20google.maps.LatLngBounds%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mapElem%20%20%20%3D%20document.getElementById%28%20%27frmgeo-map-11342%27%20%29%3B%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20V%C3%A9rifier%20que%20l%27%C3%A9l%C3%A9ment%20existe%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%21mapElem%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout%28%20loadMap%2C%20100%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20latLongs%20%20%3D%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22lat%22%3A%2245.5441339%22%2C%22long%22%3A%22-73.4920693%22%2C%22content%22%3A%22%253Cp%253E%253Cstrong%253EVendeur%2528euse%2529%2520de%2520foyers%253C%252Fstrong%253E%253C%252Fp%253E%253Cp%253E620%2520Bd%2520Roland-Therrien%2520%253Cbr%252F%253ELongueuil%252C%2520Qu%25C3%25A9bec%2520J4H%25203V9%2520%253Cbr%252F%253ECanada%253C%252Fp%253E%22%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22lat%22%3A%2245.3210029%22%2C%22long%22%3A%22-73.2915802%22%2C%22content%22%3A%22%253Cp%253E%253Cstrong%253EAide-technicien%2528ne%2529%252C%2520%25C3%2589quipement%2520de%2520propane%253C%252Fstrong%253E%253C%252Fp%253E%253Cp%253E775%2520Rue%2520Gaudette%2520%253Cbr%252F%253ESaint-Jean-sur-Richelieu%252C%2520Qu%25C3%25A9bec%2520J3B%25207S7%2520%253Cbr%252F%253ECanada%253C%252Fp%253E%22%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22lat%22%3A%2245.3210029%22%2C%22long%22%3A%22-73.2915802%22%2C%22content%22%3A%22%253Cp%253E%253Cstrong%253EInstallateur%2528trice%2529%252C%2520%25C3%2589quipement%2520de%2520propane%253C%252Fstrong%253E%253C%252Fp%253E%253Cp%253E775%2520Rue%2520Gaudette%2520%253Cbr%252F%253ESaint-Jean-sur-Richelieu%252C%2520Qu%25C3%25A9bec%2520J3B%25207S7%2520%253Cbr%252F%253ECanada%253C%252Fp%253E%22%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22lat%22%3A%2245.3210029%22%2C%22long%22%3A%22-73.2915802%22%2C%22content%22%3A%22%253Cp%253E%253Cstrong%253EPeintre%253C%252Fstrong%253E%253C%252Fp%253E%253Cp%253E775%2520Rue%2520Gaudette%2520%253Cbr%252F%253ESaint-Jean-sur-Richelieu%252C%2520Qu%25C3%25A9bec%2520J3B%25207S7%2520%253Cbr%252F%253ECanada%253C%252Fp%253E%22%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22lat%22%3A%2245.3210029%22%2C%22long%22%3A%22-73.2915802%22%2C%22content%22%3A%22%253Cp%253E%253Cstrong%253EChauffeur%2528euse%2529%2520%25E2%2580%2593%2520Classe%25203%253C%252Fstrong%253E%253C%252Fp%253E%253Cp%253E775%2520Rue%2520Gaudette%2520%253Cbr%252F%253ESaint-Jean-sur-Richelieu%252C%2520Qu%25C3%25A9bec%2520J3B%25207S7%2520%253Cbr%252F%253ECanada%253C%252Fp%253E%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5D%3B%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20length%20%20%20%20%3D%20latLongs.length%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mapConfig%20%3D%20%7B%20mapId%3A%20%27DEMO_MAP_ID%27%20%7D%3B%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%201%20%3D%3D%3D%20length%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mapConfig%20%3D%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20zoom%3A%209%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20center%3A%20new%20google.maps.LatLng%28%20latLongs%5B0%5D.lat%2C%20latLongs%5B0%5D.long%20%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mapId%3A%20%27DEMO_MAP_ID%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20map%20%3D%20new%20google.maps.Map%28%20mapElem%2C%20mapConfig%20%29%3B%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20function%20getPlainMarkerContent%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20markerContentDiv%20%3D%20document.createElement%28%20%27div%27%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20markerContentDiv.innerHTML%20%3D%20markerContent%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20markerContentDiv.textContent.trim%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20for%20%28%20i%20%3D%200%3B%20i%20%3C%20length%3B%20%2B%2Bi%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20location%20%20%20%20%20%20%3D%20new%20google.maps.LatLng%28%20latLongs%5Bi%5D.lat%2C%20latLongs%5Bi%5D.long%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20markerContent%20%3D%20decodeURIComponent%28%20latLongs%5Bi%5D.content%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20marker%20%20%20%20%20%20%20%20%3D%20new%20google.maps.marker.AdvancedMarkerElement%28%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position%3A%20location%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20map%3A%20map%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20title%3A%20getPlainMarkerContent%28%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20addMarkerClickListener%28%20marker%2C%20latLongs%5Bi%5D%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20bounds.extend%28%20location%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20triggerCustomEvent%28%20document%2C%20%27frmGeoAddedMapMarker%27%2C%20%7B%20map%2C%20marker%2C%20markerContent%2C%20i%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20length%20%3E%201%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20map.fitBounds%28%20bounds%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20function%20addMarkerClickListener%28%20marker%2C%20latLongData%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20content%20%3D%20decodeURIComponent%28%20latLongData.content%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20google.maps.event.addListener%28marker%2C%27click%27%2Cfunction%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20infowindow%2C%20maybeCloseInfoWindow%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20%27%27%20%3D%3D%3D%20content%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20latLongData.detailLink%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20window.location.href%20%3D%20latLongData.detailLink%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20infowindow%20%3D%20new%20google.maps.InfoWindow%28%7B%20content%3A%20content%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20infowindow.open%28%20map%2C%20marker%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20maybeCloseInfoWindow%20%3D%20function%28%20e%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20infowindowContainer%20%3D%20document.querySelector%28%20%27.gm-style-iw%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20marker.element.contains%28%20e.target%20%29%20%7C%7C%20%28%20infowindowContainer%20%26%26%20infowindowContainer.contains%28%20e.target%20%29%20%29%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20infowindow.close%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.removeEventListener%28%20%27click%27%2C%20maybeCloseInfoWindow%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.addEventListener%28%20%27click%27%2C%20maybeCloseInfoWindow%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20function%20triggerCustomEvent%28%20el%2C%20eventName%2C%20data%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20event%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20typeof%20window.CustomEvent%20%3D%3D%3D%20%27function%27%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20event%20%3D%20new%20CustomEvent%28%20eventName%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20if%20%28%20document.createEvent%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20event%20%3D%20document.createEvent%28%20%27HTMLEvents%27%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20event.initEvent%28%20eventName%2C%20false%2C%20true%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20event.frmData%20%3D%20data%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20el.dispatchEvent%28%20event%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Charger%20la%20map%20quand%20tout%20est%20pr%C3%AAt%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20document.readyState%20%3D%3D%3D%20%27complete%27%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout%28%20loadMap%2C%20100%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20window.addEventListener%28%20%27load%27%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout%28%20loadMap%2C%20100%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%28%29%3B%0A%3C%2Fscript%3E%3C%2Fp%3E%0A\"},{\"lat\":\"45.3210029\",\"long\":\"-73.2915802\",\"content\":\"%3Cp%3E%3Cstrong%3EM%C3%A9canicien%28ne%29%20de%20v%C3%A9hicules%20l%C3%A9gers%20et%20lourds%3C%2Fstrong%3E%3C%2Fp%3E%0A%3Cp%3E775%20Rue%20Gaudette%20%3Cbr%20%2F%3ESaint-Jean-sur-Richelieu%2C%20Qu%C3%A9bec%20J3B%207S7%20%3Cbr%20%2F%3ECanada%3C%2Fp%3E%0A%3Cp%3E%3Cscript%3E%0A%20%28function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Attendre%20que%20Google%20Maps%20soit%20charg%C3%A9%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20function%20loadMap%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20bounds%2C%20mapElem%2C%20latLongs%2C%20length%2C%20mapConfig%2C%20map%2C%20i%2C%20location%2C%20markerContent%2C%20marker%3B%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20%27function%27%20%21%3D%3D%20typeof%20google.maps.LatLngBounds%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Le%20script%20Google%20Maps%20n%27est%20pas%20encore%20charg%C3%A9%2C%20retry%20dans%20100ms%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout%28%20loadMap%2C%20100%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20bounds%20%20%20%20%3D%20new%20google.maps.LatLngBounds%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mapElem%20%20%20%3D%20document.getElementById%28%20%27frmgeo-map-11342%27%20%29%3B%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20V%C3%A9rifier%20que%20l%27%C3%A9l%C3%A9ment%20existe%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%21mapElem%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout%28%20loadMap%2C%20100%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20latLongs%20%20%3D%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22lat%22%3A%2245.5441339%22%2C%22long%22%3A%22-73.4920693%22%2C%22content%22%3A%22%253Cp%253E%253Cstrong%253EVendeur%2528euse%2529%2520de%2520foyers%253C%252Fstrong%253E%253C%252Fp%253E%253Cp%253E620%2520Bd%2520Roland-Therrien%2520%253Cbr%252F%253ELongueuil%252C%2520Qu%25C3%25A9bec%2520J4H%25203V9%2520%253Cbr%252F%253ECanada%253C%252Fp%253E%22%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22lat%22%3A%2245.3210029%22%2C%22long%22%3A%22-73.2915802%22%2C%22content%22%3A%22%253Cp%253E%253Cstrong%253EAide-technicien%2528ne%2529%252C%2520%25C3%2589quipement%2520de%2520propane%253C%252Fstrong%253E%253C%252Fp%253E%253Cp%253E775%2520Rue%2520Gaudette%2520%253Cbr%252F%253ESaint-Jean-sur-Richelieu%252C%2520Qu%25C3%25A9bec%2520J3B%25207S7%2520%253Cbr%252F%253ECanada%253C%252Fp%253E%22%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22lat%22%3A%2245.3210029%22%2C%22long%22%3A%22-73.2915802%22%2C%22content%22%3A%22%253Cp%253E%253Cstrong%253EInstallateur%2528trice%2529%252C%2520%25C3%2589quipement%2520de%2520propane%253C%252Fstrong%253E%253C%252Fp%253E%253Cp%253E775%2520Rue%2520Gaudette%2520%253Cbr%252F%253ESaint-Jean-sur-Richelieu%252C%2520Qu%25C3%25A9bec%2520J3B%25207S7%2520%253Cbr%252F%253ECanada%253C%252Fp%253E%22%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22lat%22%3A%2245.3210029%22%2C%22long%22%3A%22-73.2915802%22%2C%22content%22%3A%22%253Cp%253E%253Cstrong%253EPeintre%253C%252Fstrong%253E%253C%252Fp%253E%253Cp%253E775%2520Rue%2520Gaudette%2520%253Cbr%252F%253ESaint-Jean-sur-Richelieu%252C%2520Qu%25C3%25A9bec%2520J3B%25207S7%2520%253Cbr%252F%253ECanada%253C%252Fp%253E%22%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22lat%22%3A%2245.3210029%22%2C%22long%22%3A%22-73.2915802%22%2C%22content%22%3A%22%253Cp%253E%253Cstrong%253EChauffeur%2528euse%2529%2520%25E2%2580%2593%2520Classe%25203%253C%252Fstrong%253E%253C%252Fp%253E%253Cp%253E775%2520Rue%2520Gaudette%2520%253Cbr%252F%253ESaint-Jean-sur-Richelieu%252C%2520Qu%25C3%25A9bec%2520J3B%25207S7%2520%253Cbr%252F%253ECanada%253C%252Fp%253E%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5D%3B%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20length%20%20%20%20%3D%20latLongs.length%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mapConfig%20%3D%20%7B%20mapId%3A%20%27DEMO_MAP_ID%27%20%7D%3B%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%201%20%3D%3D%3D%20length%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mapConfig%20%3D%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20zoom%3A%209%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20center%3A%20new%20google.maps.LatLng%28%20latLongs%5B0%5D.lat%2C%20latLongs%5B0%5D.long%20%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mapId%3A%20%27DEMO_MAP_ID%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20map%20%3D%20new%20google.maps.Map%28%20mapElem%2C%20mapConfig%20%29%3B%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20function%20getPlainMarkerContent%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20markerContentDiv%20%3D%20document.createElement%28%20%27div%27%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20markerContentDiv.innerHTML%20%3D%20markerContent%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20markerContentDiv.textContent.trim%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20for%20%28%20i%20%3D%200%3B%20i%20%3C%20length%3B%20%2B%2Bi%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20location%20%20%20%20%20%20%3D%20new%20google.maps.LatLng%28%20latLongs%5Bi%5D.lat%2C%20latLongs%5Bi%5D.long%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20markerContent%20%3D%20decodeURIComponent%28%20latLongs%5Bi%5D.content%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20marker%20%20%20%20%20%20%20%20%3D%20new%20google.maps.marker.AdvancedMarkerElement%28%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position%3A%20location%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20map%3A%20map%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20title%3A%20getPlainMarkerContent%28%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20addMarkerClickListener%28%20marker%2C%20latLongs%5Bi%5D%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20bounds.extend%28%20location%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20triggerCustomEvent%28%20document%2C%20%27frmGeoAddedMapMarker%27%2C%20%7B%20map%2C%20marker%2C%20markerContent%2C%20i%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20length%20%3E%201%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20map.fitBounds%28%20bounds%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20function%20addMarkerClickListener%28%20marker%2C%20latLongData%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20content%20%3D%20decodeURIComponent%28%20latLongData.content%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20google.maps.event.addListener%28marker%2C%27click%27%2Cfunction%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20infowindow%2C%20maybeCloseInfoWindow%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20%27%27%20%3D%3D%3D%20content%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20latLongData.detailLink%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20window.location.href%20%3D%20latLongData.detailLink%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20infowindow%20%3D%20new%20google.maps.InfoWindow%28%7B%20content%3A%20content%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20infowindow.open%28%20map%2C%20marker%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20maybeCloseInfoWindow%20%3D%20function%28%20e%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20infowindowContainer%20%3D%20document.querySelector%28%20%27.gm-style-iw%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20marker.element.contains%28%20e.target%20%29%20%7C%7C%20%28%20infowindowContainer%20%26%26%20infowindowContainer.contains%28%20e.target%20%29%20%29%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20infowindow.close%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.removeEventListener%28%20%27click%27%2C%20maybeCloseInfoWindow%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.addEventListener%28%20%27click%27%2C%20maybeCloseInfoWindow%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20function%20triggerCustomEvent%28%20el%2C%20eventName%2C%20data%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20event%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20typeof%20window.CustomEvent%20%3D%3D%3D%20%27function%27%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20event%20%3D%20new%20CustomEvent%28%20eventName%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20if%20%28%20document.createEvent%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20event%20%3D%20document.createEvent%28%20%27HTMLEvents%27%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20event.initEvent%28%20eventName%2C%20false%2C%20true%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20event.frmData%20%3D%20data%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20el.dispatchEvent%28%20event%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Charger%20la%20map%20quand%20tout%20est%20pr%C3%AAt%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20document.readyState%20%3D%3D%3D%20%27complete%27%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout%28%20loadMap%2C%20100%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20window.addEventListener%28%20%27load%27%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout%28%20loadMap%2C%20100%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%28%29%3B%0A%3C%2Fscript%3E%3C%2Fp%3E%0A\"},{\"lat\":\"45.3210029\",\"long\":\"-73.2915802\",\"content\":\"%3Cp%3E%3Cstrong%3EChauffeur%28euse%29%20%E2%80%93%20Classe%203%3C%2Fstrong%3E%3C%2Fp%3E%0A%3Cp%3E775%20Rue%20Gaudette%20%3Cbr%20%2F%3ESaint-Jean-sur-Richelieu%2C%20Qu%C3%A9bec%20J3B%207S7%20%3Cbr%20%2F%3ECanada%3C%2Fp%3E%0A%3Cp%3E%3Cscript%3E%0A%20%28function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Attendre%20que%20Google%20Maps%20soit%20charg%C3%A9%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20function%20loadMap%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20bounds%2C%20mapElem%2C%20latLongs%2C%20length%2C%20mapConfig%2C%20map%2C%20i%2C%20location%2C%20markerContent%2C%20marker%3B%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20%27function%27%20%21%3D%3D%20typeof%20google.maps.LatLngBounds%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Le%20script%20Google%20Maps%20n%27est%20pas%20encore%20charg%C3%A9%2C%20retry%20dans%20100ms%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout%28%20loadMap%2C%20100%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20bounds%20%20%20%20%3D%20new%20google.maps.LatLngBounds%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mapElem%20%20%20%3D%20document.getElementById%28%20%27frmgeo-map-11342%27%20%29%3B%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20V%C3%A9rifier%20que%20l%27%C3%A9l%C3%A9ment%20existe%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%21mapElem%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout%28%20loadMap%2C%20100%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20latLongs%20%20%3D%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22lat%22%3A%2245.5441339%22%2C%22long%22%3A%22-73.4920693%22%2C%22content%22%3A%22%253Cp%253E%253Cstrong%253EVendeur%2528euse%2529%2520de%2520foyers%253C%252Fstrong%253E%253C%252Fp%253E%253Cp%253E620%2520Bd%2520Roland-Therrien%2520%253Cbr%252F%253ELongueuil%252C%2520Qu%25C3%25A9bec%2520J4H%25203V9%2520%253Cbr%252F%253ECanada%253C%252Fp%253E%22%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22lat%22%3A%2245.3210029%22%2C%22long%22%3A%22-73.2915802%22%2C%22content%22%3A%22%253Cp%253E%253Cstrong%253EAide-technicien%2528ne%2529%252C%2520%25C3%2589quipement%2520de%2520propane%253C%252Fstrong%253E%253C%252Fp%253E%253Cp%253E775%2520Rue%2520Gaudette%2520%253Cbr%252F%253ESaint-Jean-sur-Richelieu%252C%2520Qu%25C3%25A9bec%2520J3B%25207S7%2520%253Cbr%252F%253ECanada%253C%252Fp%253E%22%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22lat%22%3A%2245.3210029%22%2C%22long%22%3A%22-73.2915802%22%2C%22content%22%3A%22%253Cp%253E%253Cstrong%253EInstallateur%2528trice%2529%252C%2520%25C3%2589quipement%2520de%2520propane%253C%252Fstrong%253E%253C%252Fp%253E%253Cp%253E775%2520Rue%2520Gaudette%2520%253Cbr%252F%253ESaint-Jean-sur-Richelieu%252C%2520Qu%25C3%25A9bec%2520J3B%25207S7%2520%253Cbr%252F%253ECanada%253C%252Fp%253E%22%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22lat%22%3A%2245.3210029%22%2C%22long%22%3A%22-73.2915802%22%2C%22content%22%3A%22%253Cp%253E%253Cstrong%253EPeintre%253C%252Fstrong%253E%253C%252Fp%253E%253Cp%253E775%2520Rue%2520Gaudette%2520%253Cbr%252F%253ESaint-Jean-sur-Richelieu%252C%2520Qu%25C3%25A9bec%2520J3B%25207S7%2520%253Cbr%252F%253ECanada%253C%252Fp%253E%22%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%22lat%22%3A%2245.3210029%22%2C%22long%22%3A%22-73.2915802%22%2C%22content%22%3A%22%253Cp%253E%253Cstrong%253EChauffeur%2528euse%2529%2520%25E2%2580%2593%2520Classe%25203%253C%252Fstrong%253E%253C%252Fp%253E%253Cp%253E775%2520Rue%2520Gaudette%2520%253Cbr%252F%253ESaint-Jean-sur-Richelieu%252C%2520Qu%25C3%25A9bec%2520J3B%25207S7%2520%253Cbr%252F%253ECanada%253C%252Fp%253E%22%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5D%3B%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20length%20%20%20%20%3D%20latLongs.length%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mapConfig%20%3D%20%7B%20mapId%3A%20%27DEMO_MAP_ID%27%20%7D%3B%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%201%20%3D%3D%3D%20length%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mapConfig%20%3D%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20zoom%3A%209%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20center%3A%20new%20google.maps.LatLng%28%20latLongs%5B0%5D.lat%2C%20latLongs%5B0%5D.long%20%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mapId%3A%20%27DEMO_MAP_ID%27%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20map%20%3D%20new%20google.maps.Map%28%20mapElem%2C%20mapConfig%20%29%3B%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20function%20getPlainMarkerContent%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20markerContentDiv%20%3D%20document.createElement%28%20%27div%27%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20markerContentDiv.innerHTML%20%3D%20markerContent%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20markerContentDiv.textContent.trim%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20for%20%28%20i%20%3D%200%3B%20i%20%3C%20length%3B%20%2B%2Bi%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20location%20%20%20%20%20%20%3D%20new%20google.maps.LatLng%28%20latLongs%5Bi%5D.lat%2C%20latLongs%5Bi%5D.long%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20markerContent%20%3D%20decodeURIComponent%28%20latLongs%5Bi%5D.content%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20marker%20%20%20%20%20%20%20%20%3D%20new%20google.maps.marker.AdvancedMarkerElement%28%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20position%3A%20location%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20map%3A%20map%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20title%3A%20getPlainMarkerContent%28%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20addMarkerClickListener%28%20marker%2C%20latLongs%5Bi%5D%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20bounds.extend%28%20location%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20triggerCustomEvent%28%20document%2C%20%27frmGeoAddedMapMarker%27%2C%20%7B%20map%2C%20marker%2C%20markerContent%2C%20i%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20length%20%3E%201%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20map.fitBounds%28%20bounds%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20function%20addMarkerClickListener%28%20marker%2C%20latLongData%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20content%20%3D%20decodeURIComponent%28%20latLongData.content%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20google.maps.event.addListener%28marker%2C%27click%27%2Cfunction%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20infowindow%2C%20maybeCloseInfoWindow%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20%27%27%20%3D%3D%3D%20content%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20latLongData.detailLink%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20window.location.href%20%3D%20latLongData.detailLink%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20infowindow%20%3D%20new%20google.maps.InfoWindow%28%7B%20content%3A%20content%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20infowindow.open%28%20map%2C%20marker%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20maybeCloseInfoWindow%20%3D%20function%28%20e%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20infowindowContainer%20%3D%20document.querySelector%28%20%27.gm-style-iw%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20marker.element.contains%28%20e.target%20%29%20%7C%7C%20%28%20infowindowContainer%20%26%26%20infowindowContainer.contains%28%20e.target%20%29%20%29%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20infowindow.close%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.removeEventListener%28%20%27click%27%2C%20maybeCloseInfoWindow%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20document.addEventListener%28%20%27click%27%2C%20maybeCloseInfoWindow%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20function%20triggerCustomEvent%28%20el%2C%20eventName%2C%20data%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20event%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20typeof%20window.CustomEvent%20%3D%3D%3D%20%27function%27%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20event%20%3D%20new%20CustomEvent%28%20eventName%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20if%20%28%20document.createEvent%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20event%20%3D%20document.createEvent%28%20%27HTMLEvents%27%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20event.initEvent%28%20eventName%2C%20false%2C%20true%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20event.frmData%20%3D%20data%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20el.dispatchEvent%28%20event%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3C%2Fp%3E%0A%3Cp%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Charger%20la%20map%20quand%20tout%20est%20pr%C3%AAt%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20document.readyState%20%3D%3D%3D%20%27complete%27%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout%28%20loadMap%2C%20100%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20window.addEventListener%28%20%27load%27%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout%28%20loadMap%2C%20100%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%28%29%3B%0A%3C%2Fscript%3E%3C%2Fp%3E%0A\"}];length    = latLongs.length;mapConfig = { mapId: 'DEMO_MAP_ID' };if ( 1 === length ) {mapConfig = {zoom: 9,center: new google.maps.LatLng( latLongs[0].lat, latLongs[0].long ),mapId: 'DEMO_MAP_ID'};}map = new google.maps.Map( mapElem, mapConfig );function getPlainMarkerContent() {var markerContentDiv = document.createElement( 'div' );markerContentDiv.innerHTML = markerContent;return markerContentDiv.textContent.trim();}for ( i = 0; i < length; ++i ) {location      = new google.maps.LatLng( latLongs[i].lat, latLongs[i].long );markerContent = decodeURIComponent( latLongs[i].content );marker        = new google.maps.marker.AdvancedMarkerElement({position: location,map: map,title: getPlainMarkerContent()});addMarkerClickListener( marker, latLongs[i] );bounds.extend( location );triggerCustomEvent( document, 'frmGeoAddedMapMarker', { map, marker, markerContent, i });}if ( length > 1 ) {map.fitBounds( bounds );}function addMarkerClickListener( marker, latLongData ) {var content = decodeURIComponent( latLongData.content );google.maps.event.addListener(marker,'click',function() {var infowindow, maybeCloseInfoWindow;if ( '' === content ) {if ( latLongData.detailLink ) {window.location.href = latLongData.detailLink;}return;}infowindow = new google.maps.InfoWindow({ content: content });infowindow.open( map, marker );maybeCloseInfoWindow = function( e ) {var infowindowContainer = document.querySelector( '.gm-style-iw');if ( marker.element.contains( e.target ) || ( infowindowContainer && infowindowContainer.contains( e.target ) ) ) {return;}infowindow.close();document.removeEventListener( 'click', maybeCloseInfoWindow );};document.addEventListener( 'click', maybeCloseInfoWindow );});}}function triggerCustomEvent( el, eventName, data ) {var event;if ( typeof window.CustomEvent === 'function' ) {event = new CustomEvent( eventName );} else if ( document.createEvent ) {event = document.createEvent( 'HTMLEvents' );event.initEvent( eventName, false, true );} else {return;}event.frmData = data;el.dispatchEvent( event );}}());<\/script><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-9a387b1 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9a387b1\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;jet_parallax_layout_list&quot;:[]}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1929a38 top column-style-top\" data-id=\"1929a38\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6aed4ae elementor-widget elementor-widget-html\" data-id=\"6aed4ae\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>\/\/ Script pour forcer le zoom\/d\u00e9zoom sur la map au lieu du scroll (utilise l'\u00e9v\u00e9nement Formidable)\r\n        document.addEventListener('DOMContentLoaded', function() {\r\n            let mapInstance = null;\r\n            let mapElement = null;\r\n            \r\n            \/\/ \u00c9couter l'\u00e9v\u00e9nement personnalis\u00e9 de Formidable pour r\u00e9cup\u00e9rer la map\r\n            document.addEventListener('frmGeoAddedMapMarker', function(e) {\r\n                if (e.frmData && e.frmData.map && !mapInstance) {\r\n                    mapInstance = e.frmData.map;\r\n                    mapElement = document.getElementById('frmgeo-map-11342');\r\n                    \r\n                    if (mapElement && mapInstance) {\r\n                        setupMapScrollControl();\r\n                        console.log('Contr\u00f4le de scroll\/gestes de la map activ\u00e9 via \u00e9v\u00e9nement Formidable');\r\n                    }\r\n                }\r\n            });\r\n            \r\n            \/\/ Fallback : essayer de r\u00e9cup\u00e9rer la map directement\r\n            setTimeout(function() {\r\n                if (!mapInstance) {\r\n                    mapElement = document.getElementById('frmgeo-map-11342');\r\n                    if (mapElement && window.google && window.google.maps) {\r\n                        \/\/ Essayer de r\u00e9cup\u00e9rer depuis le DOM\r\n                        const mapDivs = mapElement.querySelectorAll('div');\r\n                        for (let div of mapDivs) {\r\n                            if (div.__gm && div.__gm.map) {\r\n                                mapInstance = div.__gm.map;\r\n                                setupMapScrollControl();\r\n                                console.log('Contr\u00f4le de scroll\/gestes de la map activ\u00e9 via DOM');\r\n                                break;\r\n                            }\r\n                        }\r\n                    }\r\n                }\r\n            }, 3000);\r\n            \r\n            function setupMapScrollControl() {\r\n                if (!mapElement || !mapInstance) return;\r\n                \r\n                let isScrolling = false;\r\n                \r\n                \/\/ Fonction de zoom\r\n                function performZoom(direction) {\r\n                    if (isScrolling || !mapInstance) return;\r\n                    isScrolling = true;\r\n                    \r\n                    try {\r\n                        const currentZoom = mapInstance.getZoom();\r\n                        let newZoom;\r\n                        \r\n                        if (direction > 0) {\r\n                            \/\/ D\u00e9zoom\r\n                            newZoom = Math.max(currentZoom - 1, 1);\r\n                        } else {\r\n                            \/\/ Zoom\r\n                            newZoom = Math.min(currentZoom + 1, 20);\r\n                        }\r\n                        \r\n                        mapInstance.setZoom(newZoom);\r\n                        console.log('Zoom chang\u00e9:', currentZoom, '->', newZoom);\r\n                    } catch (error) {\r\n                        console.log('Erreur zoom:', error);\r\n                    }\r\n                    \r\n                    setTimeout(function() {\r\n                        isScrolling = false;\r\n                    }, 300);\r\n                }\r\n                \r\n                \/\/ \u00c9v\u00e9nement wheel (molette et pav\u00e9 tactile)\r\n                mapElement.addEventListener('wheel', function(e) {\r\n                    console.log('\u00c9v\u00e9nement wheel d\u00e9tect\u00e9:', e.deltaY);\r\n                    e.preventDefault();\r\n                    e.stopPropagation();\r\n                    \r\n                    performZoom(e.deltaY);\r\n                }, { passive: false });\r\n                \r\n                \/\/ Gestion des gestes tactiles (pinch sur pav\u00e9 tactile)\r\n                let startDistance = 0;\r\n                \r\n                mapElement.addEventListener('touchstart', function(e) {\r\n                    if (e.touches.length === 2) {\r\n                        e.preventDefault();\r\n                        const touch1 = e.touches[0];\r\n                        const touch2 = e.touches[1];\r\n                        startDistance = Math.hypot(\r\n                            touch2.clientX - touch1.clientX,\r\n                            touch2.clientY - touch1.clientY\r\n                        );\r\n                        console.log('D\u00e9but geste tactile:', startDistance);\r\n                    }\r\n                }, { passive: false });\r\n                \r\n                mapElement.addEventListener('touchmove', function(e) {\r\n                    if (e.touches.length === 2) {\r\n                        e.preventDefault();\r\n                        const touch1 = e.touches[0];\r\n                        const touch2 = e.touches[1];\r\n                        const currentDistance = Math.hypot(\r\n                            touch2.clientX - touch1.clientX,\r\n                            touch2.clientY - touch1.clientY\r\n                        );\r\n                        \r\n                        if (startDistance > 0) {\r\n                            const direction = currentDistance > startDistance ? -1 : 1;\r\n                            console.log('Geste tactile:', direction);\r\n                            performZoom(direction);\r\n                            startDistance = currentDistance;\r\n                        }\r\n                    }\r\n                }, { passive: false });\r\n                \r\n                mapElement.addEventListener('touchend', function(e) {\r\n                    if (e.touches.length < 2) {\r\n                        startDistance = 0;\r\n                    }\r\n                }, { passive: false });\r\n                \r\n                \/\/ D\u00e9sactiver le zoom par d\u00e9faut de Google Maps\r\n                if (mapInstance.setOptions) {\r\n                    mapInstance.setOptions({\r\n                        scrollwheel: false,\r\n                        gestureHandling: 'none'\r\n                    });\r\n                }\r\n                \r\n                console.log('Contr\u00f4les de la map configur\u00e9s avec succ\u00e8s');\r\n            }\r\n        });\r\n    <\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Jobs Filtres et recherches En Job title Job titleVendeur(euse)Aide-technicien(ne)Installateur(trice)PeintreChauffeur(euse) City WhereLongueuilSaint-Jean-sur-Richelieu Job type Job TypeFull-timePart-time Search &#916; Jobs Filtres et recherches En Job title Job titleVendeur(euse)Aide-technicien(ne)Installateur(trice)PeintreChauffeur(euse) City WhereLongueuilSaint-Jean-sur-Richelieu Job type Job TypeFull-timePart-time Search &#916; Aide-installateur, Appareils au gaz et au bois [25] Saint-Jean-sur-Richelieu Temps plein M\u00e9canicien(ne) de v\u00e9hicules l\u00e9gers et lourds [25] Saint-Jean-sur-Richelieu Temps plein [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":13107,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-12026","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Job Offers in Quebec | Mazout Propane Beauchemin<\/title>\n<meta name=\"description\" content=\"Join a growing Quebec company. Open positions for motivated drivers, technicians, and administrative staff.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/mpbeauchemin.com\/en\/job-listings\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Job Offers in Quebec | Mazout Propane Beauchemin\" \/>\n<meta property=\"og:description\" content=\"Join a growing Quebec company. Open positions for motivated drivers, technicians, and administrative staff.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/mpbeauchemin.com\/en\/job-listings\/\" \/>\n<meta property=\"og:site_name\" content=\"Beauchemin\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-01T20:51:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/mpbeauchemin.com\/wp-content\/uploads\/2026\/06\/beauchemin-38-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1439\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/mpbeauchemin.com\/en\/job-listings\/\",\"url\":\"https:\/\/mpbeauchemin.com\/en\/job-listings\/\",\"name\":\"Job Offers in Quebec | Mazout Propane Beauchemin\",\"isPartOf\":{\"@id\":\"https:\/\/mpbeauchemin.com\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/mpbeauchemin.com\/en\/job-listings\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/mpbeauchemin.com\/en\/job-listings\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/mpbeauchemin.com\/wp-content\/uploads\/2026\/06\/beauchemin-38-scaled.jpg\",\"datePublished\":\"2025-07-18T19:35:01+00:00\",\"dateModified\":\"2026-06-01T20:51:12+00:00\",\"description\":\"Join a growing Quebec company. Open positions for motivated drivers, technicians, and administrative staff.\",\"breadcrumb\":{\"@id\":\"https:\/\/mpbeauchemin.com\/en\/job-listings\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/mpbeauchemin.com\/en\/job-listings\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/mpbeauchemin.com\/en\/job-listings\/#primaryimage\",\"url\":\"https:\/\/mpbeauchemin.com\/wp-content\/uploads\/2026\/06\/beauchemin-38-scaled.jpg\",\"contentUrl\":\"https:\/\/mpbeauchemin.com\/wp-content\/uploads\/2026\/06\/beauchemin-38-scaled.jpg\",\"width\":2560,\"height\":1439},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/mpbeauchemin.com\/en\/job-listings\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/mpbeauchemin.com\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Job Listings\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/mpbeauchemin.com\/en\/#website\",\"url\":\"https:\/\/mpbeauchemin.com\/en\/\",\"name\":\"Beauchemin\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/mpbeauchemin.com\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Job Offers in Quebec | Mazout Propane Beauchemin","description":"Join a growing Quebec company. Open positions for motivated drivers, technicians, and administrative staff.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/mpbeauchemin.com\/en\/job-listings\/","og_locale":"en_US","og_type":"article","og_title":"Job Offers in Quebec | Mazout Propane Beauchemin","og_description":"Join a growing Quebec company. Open positions for motivated drivers, technicians, and administrative staff.","og_url":"https:\/\/mpbeauchemin.com\/en\/job-listings\/","og_site_name":"Beauchemin","article_modified_time":"2026-06-01T20:51:12+00:00","og_image":[{"width":2560,"height":1439,"url":"https:\/\/mpbeauchemin.com\/wp-content\/uploads\/2026\/06\/beauchemin-38-scaled.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/mpbeauchemin.com\/en\/job-listings\/","url":"https:\/\/mpbeauchemin.com\/en\/job-listings\/","name":"Job Offers in Quebec | Mazout Propane Beauchemin","isPartOf":{"@id":"https:\/\/mpbeauchemin.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/mpbeauchemin.com\/en\/job-listings\/#primaryimage"},"image":{"@id":"https:\/\/mpbeauchemin.com\/en\/job-listings\/#primaryimage"},"thumbnailUrl":"https:\/\/mpbeauchemin.com\/wp-content\/uploads\/2026\/06\/beauchemin-38-scaled.jpg","datePublished":"2025-07-18T19:35:01+00:00","dateModified":"2026-06-01T20:51:12+00:00","description":"Join a growing Quebec company. Open positions for motivated drivers, technicians, and administrative staff.","breadcrumb":{"@id":"https:\/\/mpbeauchemin.com\/en\/job-listings\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/mpbeauchemin.com\/en\/job-listings\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/mpbeauchemin.com\/en\/job-listings\/#primaryimage","url":"https:\/\/mpbeauchemin.com\/wp-content\/uploads\/2026\/06\/beauchemin-38-scaled.jpg","contentUrl":"https:\/\/mpbeauchemin.com\/wp-content\/uploads\/2026\/06\/beauchemin-38-scaled.jpg","width":2560,"height":1439},{"@type":"BreadcrumbList","@id":"https:\/\/mpbeauchemin.com\/en\/job-listings\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/mpbeauchemin.com\/en\/"},{"@type":"ListItem","position":2,"name":"Job Listings"}]},{"@type":"WebSite","@id":"https:\/\/mpbeauchemin.com\/en\/#website","url":"https:\/\/mpbeauchemin.com\/en\/","name":"Beauchemin","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/mpbeauchemin.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"featured_image_src":"https:\/\/mpbeauchemin.com\/wp-content\/uploads\/2026\/06\/beauchemin-38-600x400.jpg","featured_image_src_square":"https:\/\/mpbeauchemin.com\/wp-content\/uploads\/2026\/06\/beauchemin-38-600x600.jpg","_links":{"self":[{"href":"https:\/\/mpbeauchemin.com\/en\/wp-json\/wp\/v2\/pages\/12026","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mpbeauchemin.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mpbeauchemin.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mpbeauchemin.com\/en\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/mpbeauchemin.com\/en\/wp-json\/wp\/v2\/comments?post=12026"}],"version-history":[{"count":16,"href":"https:\/\/mpbeauchemin.com\/en\/wp-json\/wp\/v2\/pages\/12026\/revisions"}],"predecessor-version":[{"id":13136,"href":"https:\/\/mpbeauchemin.com\/en\/wp-json\/wp\/v2\/pages\/12026\/revisions\/13136"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mpbeauchemin.com\/en\/wp-json\/wp\/v2\/media\/13107"}],"wp:attachment":[{"href":"https:\/\/mpbeauchemin.com\/en\/wp-json\/wp\/v2\/media?parent=12026"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}