PageSourceSearch

http://www.essonnetourisme.com/wp-content/themes/cdt91/config-apid…/apidae-interactive-map.js

js essonnetourisme.com collected 2026-09-24 23:04:49 UTC 36,579 bytes, 345 lines download raw bytes

1(function($)
2{
3    "use strict";
4
5    class ApidaeInteractiveMap {
6        constructor(mapId = 'aim_map', formId = 'aim_filters') {
7            this.locations = [];
8            this.currentPage = 1;
9            this.mapId = mapId;
10            this.formId = formId;
11            this.defaultBounds = [
12                {lat:48.779225, lng:1.922961},
13                {lat:48.779225, lng:2.657709},
14                {lat:48.284288, lng:1.922961},
15                {lat:48.284288, lng:2.657709},
16            ];
17
18            this.$form = $('#'+formId);
19            this.$map = $('#'+mapId);
20
21            this.map = null;
22            this.markers = null;
23            this.markerCluster = null;
24
25            this.searching = false;
26
27            this.url = CurrentPage.url;
28
29            this.activeIcon = {
30                url: avia_framework_globals.installedAt + 'images/icons/map-marker-active.png',
31                size: new google.maps.Size(34,43),
32                origin: new google.maps.Point(0,0),
33                anchor: new google.maps.Point(17,43),
34                scaledSize: new google.maps.Size(34,43),
35            };
36            this.inactiveIcon = {
37                url: avia_framework_globals.installedAt + 'images/icons/map-marker-inactive.png',
38                size: new google.maps.Size(34,43),
39                origin: new google.maps.Point(0,0),
40                anchor: new google.maps.Point(17,43),
41                scaledSize: new google.maps.Size(34,43),
42            };
43
44            this.currentGeolocation = null;
45
46            this.initMap();
47        }
48
49        initMap() {
50
51            if (this.$map.length > 0 ) {
52
53                let _this = this;
54
55                let data = new FormData(this.$form[0]);
56                data.append('action', 'filter_elements');
57
58                $.ajax({
59                    url: avia_framework_globals.ajaxurl,
60                    type:'POST',
61                    data: data,
62                    processData: false,
63                    contentType: false,
64                    success: function (result) {
65                        let json = JSON.parse(result);
66                        _this.locations = json.posts;
67                        _this.loadMap();
68                        _this.registerUX();
69                    }
70                });
71
72
73
74            }
75
76        }
77
78        getActiveLocations() {
79
80            let _this = this;
81
82            let formData = new FormData(this.$form[0]);
83            formData.append('action', 'filter_elements');
84
85            $.ajax({
86                url: avia_framework_globals.ajaxurl,
87                type:'POST',
88                data: formData,
89                processData: false,
90                contentType: false,
91                success: function (result) {
92                    let json = JSON.parse(result);
93                    _this.locations = json.posts;
94                }
95            });
96
97        }
98
99        loadMap() {
100            let style_color = "#E4F0D0";
101            this.map = new google.maps.Map(document.getElementById(this.mapId), {
102                zoom: 14,
103                center: {lat: 48.628891, lng: 2.429364},
104                styles: [{
105                    featureType: "all",
106                    elementType: "all",
107                    stylers: [
108                        { hue: style_color },
109                        { saturation: -50 },
110                    ],
111                }, {
112                    featureType: "poi",
113                    stylers: [
114                        { visibility: "off" }
115                    ]
116                }, {
117                    featureType:"road",
118                    elementType: "labels",
119                    stylers:[{visibility:"off"}]
120                }, {
121                    featureType:"road.highway.controlled_access",
122                    elementType: "labels",
123                    stylers:[{visibility:"on"}]
124                }, {
125                    featureType:"road",
126                    elementType: "all",
127                    stylers:[{saturation:-90}]
128                }, {
129                    featureType:"landscape.natural",
130                    elementType: "all",
131                    stylers:[{color: "#bcedaf"}]
132                }, {
133                    featureType:"water",
134                    elementType: "all",
135                    stylers:[{color: "#8dd5f4"}]
136                }],
137
138            });
139
140            // Ajoute les coordonnées du département pour dessiner le pol
140ygone
141            let dptCoords = [{lng:2.22656,lat:48.7761},{lng:2.22866,lat:48.77451},{lng:2.2304,lat:48.77395},{lng:2.23065,lat:48.77126},{lng:2.23201,lat:48.77086},{lng:2.23313,lat:48.76918},{lng:2.23298,lat:48.7662},{lng:2.23859,lat:48.76647},{lng:2.24096,lat:48.76371},{lng:2.24519,lat:48.76255},{lng:2.24702,lat:48.76083},{lng:2.24933,lat:48.76185},{lng:2.25137,lat:48.76076},{lng:2.25505,lat:48.76142},{lng:2.25939,lat:48.76101},{lng:2.26201,lat:48.75979},{lng:2.26717,lat:48.76233},{lng:2.269,lat:48.76202},{lng:2.26865,lat:48.76068},{lng:2.27092,lat:48.7607},{lng:2.26944,lat:48.75765},{lng:2.27088,lat:48.75786},{lng:2.27615,lat:48.75665},{lng:2.27501,lat:48.75525},{lng:2.27727,lat:48.75383},{lng:2.27951,lat:48.75315},{lng:2.28206,lat:48.75075},{lng:2.28242,lat:48.74986},{lng:2.2854,lat:48.74751},{lng:2.28481,lat:48.74564},{lng:2.27687,lat:48.74161},{lng:2.27535,lat:48.73974},{lng:2.27544,lat:48.73829},{lng:2.27738,lat:48.73538},{lng:2.27986,lat:48.73271},{lng:2.28128,lat:48.73358},{lng:2.28964,lat:48.73555},{lng:2.29733,lat:48.73817},{lng:2.30245,lat:48.7408},{lng:2.30154,lat:48.73623},{lng:2.30384,lat:48.72949},{lng:2.30792,lat:48.72935},{lng:2.31444,lat:48.73043},{lng:2.31537,lat:48.73341},{lng:2.31648,lat:48.73385},{lng:2.31872,lat:48.73702},{lng:2.31817,lat:48.73789},{lng:2.3146,lat:48.73686},{lng:2.31304,lat:48.7382},{lng:2.31703,lat:48.74089},{lng:2.31434,lat:48.7433},{lng:2.31848,lat:48.74504},{lng:2.32047,lat:48.74682},{lng:2.32072,lat:48.74876},{lng:2.32266,lat:48.74812},{lng:2.32479,lat:48.75055},{lng:2.32688,lat:48.75116},{lng:2.33096,lat:48.74792},{lng:2.33375,lat:48.7468},{lng:2.33771,lat:48.74324},{lng:2.33715,lat:48.74226},{lng:2.34169,lat:48.74046},{lng:2.34461,lat:48.74064},{lng:2.34549,lat:48.74168},{lng:2.34775,lat:48.74148},{lng:2.35395,lat:48.73866},{lng:2.35644,lat:48.73816},{lng:2.35934,lat:48.7424},{lng:2.36301,lat:48.74411},{lng:2.36291,lat:48.74609},{lng:2.36935,lat:48.74606},{lng:2.37,lat:48.73708},{lng:2.37071,lat:48.72018},{lng:2.37655,lat:48.71941},{lng:2.37824,lat:48.7208},{lng:2.38505,lat:48.71914},{lng:2.38675,lat:48.72098},{lng:2.39,lat:48.7208},{lng:2.39171,lat:48.72263},{lng:2.39747,lat:48.7212},{lng:2.39966,lat:48.72466},{lng:2.40155,lat:48.72462},{lng:2.40224,lat:48.72655},{lng:2.41013,lat:48.72574},{lng:2.41238,lat:48.72193},{lng:2.41582,lat:48.72086},{lng:2.41327,lat:48.71869},{lng:2.41426,lat:48.71782},{lng:2.42072,lat:48.72105},{lng:2.42554,lat:48.7227},{lng:2.43377,lat:48.72382},{lng:2.43868,lat:48.72485},{lng:2.44013,lat:48.72543},{lng:2.44116,lat:48.7241},{lng:2.44354,lat:48.72446},{lng:2.44237,lat:48.72155},{lng:2.44337,lat:48.72079},{lng:2.44624,lat:48.71692},{lng:2.4488,lat:48.71483},{lng:2.4506,lat:48.71579},{lng:2.44793,lat:48.71795},{lng:2.44752,lat:48.71949},{lng:2.44843,lat:48.7218},{lng:2.45416,lat:48.72045},{lng:2.45333,lat:48.72253},{lng:2.45423,lat:48.72468},{lng:2.45627,lat:48.72398},{lng:2.46001,lat:48.72384},{lng:2.46055,lat:48.72618},{lng:2.46281,lat:48.72632},{lng:2.46487,lat:48.7272},{lng:2.46597,lat:48.72951},{lng:2.46739,lat:48.72871},{lng:2.46793,lat:48.72658},{lng:2.47246,lat:48.72756},{lng:2.47877,lat:48.72764},{lng:2.48551,lat:48.72939},{lng:2.50354,lat:48.73521},{lng:2.5062,lat:48.73571},{lng:2.50755,lat:48.73481},{lng:2.50754,lat:48.7331},{lng:2.51026,lat:48.73457},{lng:2.51575,lat:48.72894},{lng:2.51755,lat:48.71712},{lng:2.51731,lat:48.71591},{lng:2.51915,lat:48.71469},{lng:2.52136,lat:48.71229},{lng:2.52255,lat:48.70982},{lng:2.52643,lat:48.70927},{lng:2.52642,lat:48.70806},{lng:2.52947,lat:48.70792},{lng:2.52858,lat:48.70388},{lng:2.53108,lat:48.69979},{lng:2.5359,lat:48.70081},{lng:2.53638,lat:48.69987},{lng:2.53622,lat:48.69716},{lng:2.5416,lat:48.70012},{lng:2.54431,lat:48.69845},{lng:2.5428,lat:48.69688},{lng:2.54422,lat:48.69472},{lng:2.54654,lat:48.69517},{lng:2.54565,lat:48.69319},{lng:2.54781,lat:48.69269},{lng:2.55079,lat:48.69053},{lng:2.55036,lat:48.68854},{lng:2.55387,lat:48.68832},{lng:2.56111,lat:48.68966},{lng:2.56139,lat:48.69078},{lng:2.56561,lat:48.69113},{lng:2.56616,lat:48.69181},{lng:2.57166,lat:48.69201},{lng:2.57538,lat:48.69201},{lng:2.57789,lat:48.69053},{lng:2.58196,lat:48.68961},{lng:2.58121,lat:48.68715},{lng:2.58012,lat:48.68633},{lng:2.58578,lat:48.67895},{lng:2.58407,lat:48.67715},{lng:2.58306,lat:48.67778},{lng:2.57967,lat:48.67788},{lng:2.57396,lat:48.67663},{lng:2.57104,lat:48.67489},{lng:2.57055,lat:48.67214},{lng:2.57176,lat:48.67035},{lng:2.57174,lat:48.66873},{lng:2.56847,lat:48.66675},{lng:2.56475,lat:48.66743},{lng:2.56251,lat:48.66884},{lng:2.55941,lat:48.67239},{lng:2.55732,lat:48.67576},{lng:2.55534,lat:48.67595},{lng:2.55256,lat:48.67429},{lng:2.55187,lat:48.67133},{lng:2.55098,lat:48.66989},{lng:2.54941,lat:48.66913},{lng:2.54757,lat:48.67178},{lng:2.54482,lat:48.67118},{lng:2.54551,lat:48.66964},{lng:2.54335,lat:48.66869},{lng:2.53991,lat:48.66427},{lng:2.53485,lat:48.66205},{lng:2.53824,lat:48.65966},{lng:2.53362,lat:48.65733},{lng:2.54112,lat:48.65154},{lng:2.54741,lat:48.65165},{lng:2.54797,lat:48.64966},{lng:2.54194,lat:48.64623},{lng:2.54382,lat:48.64574},{lng:2.54082,lat:48.64131},{lng:2.54089,lat:48.63782},{lng:2.54236,lat:48.63671},{lng:2.54219,lat:48.63332},{lng:2.54141,lat:48.63236},{lng:2.53766,lat:48.63323},{lng:2.53646,lat:48.63111},{lng:2.53364,lat:48.63148},{lng:2.52742,lat:48.63337},{lng:2.52532,lat:48.6331},{lng:2.52141,lat:48.63188},{lng:2.51573,lat:48.62894},{lng:2.51857,lat:48.62682},{lng:2.52513,lat:48.62142},{lng:2.52684,lat:48.62141},{lng:2.5268,lat:48.61792},{lng:2.52584,lat:48.61311},{lng:2.5407,lat:48.6114},{lng:2.54244,lat:48.60898},{lng:2.54378,lat:48.60385},{lng:2.54248,lat:48.599},{lng:2.54077,lat:48.5955},{lng:2.54089,lat:48.5942},{lng:2.53736,lat:48.59362},{lng:2.53518,lat:48.59263},{lng:2.53369,lat:48.58957},{lng:2.53002,lat:48.5876},{lng:2.52486,lat:48.58571},{lng:2.52337,lat:48.58648},{lng:2.51821,lat:48.58433},{lng:2.51949,lat:48.57948},{lng:2.52199,lat:48.57718},{lng:2.52177,lat:48.57322},{lng:2.5316,lat:48.57366},{lng:2.53063,lat:48.57092},{lng:2.52393,lat:48.57097},{lng:2.51918,lat:48.57013},{lng:2.52079,lat:48.56615},{lng:2.51984,lat:48.56252},{lng:2.51541,lat:48.56067},{lng:2.51357,lat:48.55821},{lng:2.50638,lat:48.55139},{lng:2.50528,lat:48.54843},{lng:2.50361,lat:48.54756},{lng:2.5029,lat:48.54601},{lng:2.50048,lat:48.54614},{lng:2.49932,lat:48.54538},{lng:2.49932,lat:48.54291},{lng:2.5031,lat:48.54286},{lng:2.50575,lat:48.54321},{lng:2.51082,lat:48.54312},{lng:2.5096,lat:48.54024},{lng:2.50762,lat:48.53814},{lng:2.507,lat:48.53647},{lng:2.50294,lat:48.53446},{lng:2.50537,lat:48.53305}
141,{lng:2.50381,lat:48.53148},{lng:2.50245,lat:48.53189},{lng:2.50075,lat:48.52739},{lng:2.49824,lat:48.52757},{lng:2.49736,lat:48.52542},{lng:2.49952,lat:48.52524},{lng:2.49836,lat:48.52097},{lng:2.49708,lat:48.52065},{lng:2.49781,lat:48.51908},{lng:2.49761,lat:48.51723},{lng:2.49882,lat:48.51683},{lng:2.50207,lat:48.51696},{lng:2.50444,lat:48.51655},{lng:2.50674,lat:48.51718},{lng:2.5087,lat:48.51678},{lng:2.50728,lat:48.51327},{lng:2.50888,lat:48.50936},{lng:2.50902,lat:48.50814},{lng:2.51382,lat:48.50953},{lng:2.51536,lat:48.50615},{lng:2.5146,lat:48.50264},{lng:2.51264,lat:48.50026},{lng:2.51094,lat:48.49891},{lng:2.51323,lat:48.49752},{lng:2.51297,lat:48.49657},{lng:2.50976,lat:48.49173},{lng:2.51013,lat:48.48838},{lng:2.50718,lat:48.48742},{lng:2.50189,lat:48.48477},{lng:2.50276,lat:48.48383},{lng:2.50363,lat:48.48067},{lng:2.50444,lat:48.47955},{lng:2.50119,lat:48.47793},{lng:2.50498,lat:48.4742},{lng:2.50218,lat:48.47214},{lng:2.50617,lat:48.47083},{lng:2.50718,lat:48.46969},{lng:2.50189,lat:48.46692},{lng:2.50594,lat:48.46116},{lng:2.49964,lat:48.45905},{lng:2.49794,lat:48.45727},{lng:2.50133,lat:48.45631},{lng:2.50072,lat:48.45527},{lng:2.5028,lat:48.45365},{lng:2.50658,lat:48.45203},{lng:2.50732,lat:48.45095},{lng:2.50359,lat:48.44862},{lng:2.50677,lat:48.44636},{lng:2.5002,lat:48.44053},{lng:2.50513,lat:48.43945},{lng:2.50736,lat:48.43803},{lng:2.50559,lat:48.43546},{lng:2.50728,lat:48.43515},{lng:2.50635,lat:48.43161},{lng:2.50689,lat:48.43085},{lng:2.50503,lat:48.42986},{lng:2.50914,lat:48.42941},{lng:2.51406,lat:48.42796},{lng:2.51738,lat:48.42746},{lng:2.52396,lat:48.42003},{lng:2.52746,lat:48.41572},{lng:2.53373,lat:48.41125},{lng:2.54692,lat:48.40165},{lng:2.53458,lat:48.40424},{lng:2.53054,lat:48.40452},{lng:2.52615,lat:48.40429},{lng:2.52161,lat:48.40493},{lng:2.52195,lat:48.40331},{lng:2.52094,lat:48.40174},{lng:2.51688,lat:48.39954},{lng:2.51357,lat:48.3983},{lng:2.51072,lat:48.39655},{lng:2.5087,lat:48.39587},{lng:2.50693,lat:48.39444},{lng:2.50288,lat:48.39292},{lng:2.50026,lat:48.39561},{lng:2.49856,lat:48.39678},{lng:2.49396,lat:48.39567},{lng:2.48999,lat:48.39589},{lng:2.4835,lat:48.39734},{lng:2.48215,lat:48.39433},{lng:2.47918,lat:48.39317},{lng:2.47383,lat:48.39039},{lng:2.48011,lat:48.38669},{lng:2.48481,lat:48.38345},{lng:2.47914,lat:48.38097},{lng:2.473,lat:48.37806},{lng:2.47056,lat:48.37739},{lng:2.46922,lat:48.37645},{lng:2.46044,lat:48.37628},{lng:2.45746,lat:48.37561},{lng:2.45444,lat:48.37556},{lng:2.45146,lat:48.37494},{lng:2.44761,lat:48.37265},{lng:2.44976,lat:48.3682},{lng:2.45064,lat:48.36716},{lng:2.44704,lat:48.36632},{lng:2.44706,lat:48.36806},{lng:2.44539,lat:48.36823},{lng:2.443,lat:48.36947},{lng:2.43774,lat:48.36636},{lng:2.43699,lat:48.36641},{lng:2.43234,lat:48.3639},{lng:2.42983,lat:48.36202},{lng:2.43333,lat:48.35927},{lng:2.43577,lat:48.35976},{lng:2.43766,lat:48.36075},{lng:2.44055,lat:48.35737},{lng:2.4415,lat:48.35809},{lng:2.44399,lat:48.35732},{lng:2.44257,lat:48.354},{lng:2.44068,lat:48.35162},{lng:2.43656,lat:48.3527},{lng:2.43468,lat:48.35418},{lng:2.42981,lat:48.34803},{lng:2.42927,lat:48.34664},{lng:2.43047,lat:48.34282},{lng:2.4329,lat:48.33953},{lng:2.43249,lat:48.33801},{lng:2.43383,lat:48.33454},{lng:2.43086,lat:48.33567},{lng:2.42898,lat:48.33751},{lng:2.42656,lat:48.33765},{lng:2.4246,lat:48.33684},{lng:2.42177,lat:48.33667},{lng:2.42041,lat:48.3372},{lng:2.41536,lat:48.33681},{lng:2.41394,lat:48.33631},{lng:2.41124,lat:48.33644},{lng:2.40686,lat:48.3351},{lng:2.40234,lat:48.33295},{lng:2.39742,lat:48.33371},{lng:2.39318,lat:48.33627},{lng:2.39405,lat:48.33439},{lng:2.39438,lat:48.33214},{lng:2.39344,lat:48.33102},{lng:2.39357,lat:48.32684},{lng:2.39634,lat:48.32535},{lng:2.39903,lat:48.32252},{lng:2.40233,lat:48.32166},{lng:2.40266,lat:48.32072},{lng:2.39848,lat:48.3187},{lng:2.39996,lat:48.31568},{lng:2.39747,lat:48.31456},{lng:2.39518,lat:48.31487},{lng:2.39079,lat:48.31303},{lng:2.38823,lat:48.31275},{lng:2.38634,lat:48.31177},{lng:2.38262,lat:48.31123},{lng:2.38135,lat:48.3115},{lng:2.37535,lat:48.31025},{lng:2.36995,lat:48.30867},{lng:2.36901,lat:48.30926},{lng:2.36713,lat:48.31206},{lng:2.36105,lat:48.30922},{lng:2.35823,lat:48.30849},{lng:2.3558,lat:48.31043},{lng:2.35647,lat:48.31105},{lng:2.35407,lat:48.31302},{lng:2.35347,lat:48.31441},{lng:2.3487,lat:48.31525},{lng:2.34812,lat:48.31633},{lng:2.3459,lat:48.31611},{lng:2.34601,lat:48.31733},{lng:2.34198,lat:48.31683},{lng:2.34016,lat:48.32023},{lng:2.33639,lat:48.32582},{lng:2.33478,lat:48.32739},{lng:2.32816,lat:48.3264},{lng:2.32905,lat:48.32901},{lng:2.3287,lat:48.33161},{lng:2.32755,lat:48.33297},{lng:2.32645,lat:48.32965},{lng:2.32445,lat:48.32961},{lng:2.3246,lat:48.33193},{lng:2.32365,lat:48.33238},{lng:2.31812,lat:48.33018},{lng:2.31718,lat:48.33157},{lng:2.31259,lat:48.3308},{lng:2.31306,lat:48.32896},{lng:2.31124,lat:48.32882},{lng:2.30922,lat:48.32631},{lng:2.30862,lat:48.32469},{lng:2.3074,lat:48.32424},{lng:2.30168,lat:48.31547},{lng:2.30074,lat:48.3157},{lng:2.29871,lat:48.312},{lng:2.30021,lat:48.31123},{lng:2.29569,lat:48.30808},{lng:2.29024,lat:48.30953},{lng:2.28867,lat:48.31043},{lng:2.28537,lat:48.31132},{lng:2.28314,lat:48.31262},{lng:2.28078,lat:48.31221},{lng:2.27747,lat:48.31275},{lng:2.27229,lat:48.31204},{lng:2.27222,lat:48.31384},{lng:2.26891,lat:48.31352},{lng:2.26912,lat:48.31504},{lng:2.2669,lat:48.31468},{lng:2.26259,lat:48.31037},{lng:2.26522,lat:48.30937},{lng:2.26266,lat:48.30803},{lng:2.26192,lat:48.30691},{lng:2.25888,lat:48.30721},{lng:2.25599,lat:48.30281},{lng:2.25357,lat:48.30024},{lng:2.25283,lat:48.30051},{lng:2.24516,lat:48.2984},{lng:2.24542,lat:48.3001},{lng:2.24494,lat:48.30226},{lng:2.24682,lat:48.30559},{lng:2.24661,lat:48.30887},{lng:2.24943,lat:48.31458},{lng:2.2493,lat:48.31629},{lng:2.24566,lat:48.3162},{lng:2.23805,lat:48.31637},{lng:2.24086,lat:48.32119},{lng:2.24168,lat:48.32105},{lng:2.2443,lat:48.3256},{lng:2.24631,lat:48.32996},{lng:2.24617,lat:48.33126},{lng:2.24287,lat:48.33288},{lng:2.24199,lat:48.33126},{lng:2.23983,lat:48.33094},{lng:2.23774,lat:48.33207},{lng:2.23619,lat:48.33095},{lng:2.23343,lat:48.33067},{lng:2.23546,lat:48.32932},{lng:2.23432,lat:48.32788},{lng:2.23006,lat:48.32932},{lng:2.22757,lat:48.32963},{lng:2.22925,lat:48.33134},{lng:2.22851,lat:48.33296},{lng:2.22669,lat:48.33264},{lng:2.22391,lat:48.33642},{lng:2.21961,lat:48.33552},{lng:2.21785,lat:48.33353},{lng:2.21583,lat:48.33421},{lng:2.21575,lat:48.33713},{lng:2.21312,lat:48.33757},{lng:2.2117,lat:48.33874},{lng:2.21258,lat:48.34064},{lng:2.20716,lat:48.3418},{lng:2.20709,lat:48.34494},{lng:2.20225,lat:48.3446},{lng:2.20188,lat:48.34308},{lng:2.20508,lat:48.34229},{lng:2.20286,lat:48.33891},{lng:2.19821,lat:48.33707},{lng:2.19781,lat:48.3363},{lng:2.19504,lat:48.33562},{lng:2.19148,lat:48.33385},{lng:2.19061,lat:48.3326},{lng:2.1879,lat:48.33237},{lng:2.18865,lat:48.32904},{lng:2.18812,lat:48.32805},{lng:2.18549,lat:48.32684},{lng:2.18213,lat:48.32427},{lng:2.18215,lat:48.32152},{lng:2.18457,lat:48.32278},{lng:2.1849,lat:48.32112},{lng:2.18242,lat:48.31496},{lng:2.18089,lat:48.31312},{lng:2.18069,lat:48.31168},{lng:2.17475,lat:48.31428},{lng:2.17171,lat:48.31594},{lng:2.16902,lat:48.3127},{lng:2.1548,lat:48.31493},{lng:2.15439,lat:48.31591},{lng:2.1523,lat:48.31591},{lng:2.15183,lat:48.31384},{lng:2.15436,lat:48.30715},{lng:2.15571,lat:48.3045},{lng:2.16097,lat:48.30455},{lng:2.16375,lat:48.29843},{lng:2.16031,lat:48.29853},{lng:2.15651,lat:48.29908},{lng:2.14508,lat:48.29931},{lng:2.13612,lat:48.29925},{lng:2.13221,lat:48.29878},{lng:2.1106,lat:48.29695},{lng:2.11372,lat:48.30725},{lng:2.10617,lat:48.30763},{lng:2.10463,lat:48.30731},{lng:2.09985,lat:48.30493},{lng:2.09838,lat:48.30259},{lng:2.09683,lat:48.30155},{lng:2.0938,lat:48.30051},{lng:2.09118,lat:48.2991},{lng:2.0897,lat:48.29748},{lng:2.08938,lat:48.29528},{lng:2.08534,lat:48.29401},{lng:2.0815,lat:48.2936},{lng:2.07092,lat:48.29412},{lng:2.06728,lat:48.29402},{lng:2.05864,lat:48.29463},{lng:2.05271,lat:48.29547},{lng:2.05191,lat:48.29403},{lng:2.05193,lat:48.29098},{lng:2.04937,lat:48.28975},{lng:2.04381,lat:48.28645},{lng:2.04126,lat:48.28438},{lng:2.03909,lat:48.285},{lng:2.03922,lat:48.28603},{lng:2.03694,lat:48.28638},{lng:2.0374,lat:48.28823},{lng:2.0345,lat:48.28823},{lng:2.02499,lat:48.28923},{lng:2.02433,lat:48.28788},{lng:2.02015,lat:48.2877},{lng:2.02003,lat:48.28607},{lng:2.01181,lat:48.28583},{lng:2.01155,lat:48.28483},{lng:2.00791,lat:48.28532},{lng:2.00724,lat:48.28469},{lng:2.00468,lat:48.28477},{lng:2.00333,lat:48.28625},{lng:1.99408,lat:48.28659},{lng:1.99025,lat:48.2877},{lng:1.98985,lat:48.28643},{lng:1.98134,lat:48.28821},{lng:1.98073,lat:48.28706},{lng:1.97529,lat:48.2872},{lng:1.97509,lat:48.28801},{lng:1.97272,lat:48.28822},{lng:1.97451,lat:48.29291},{lng:1.98038,lat:48.29225},{lng:1.98237,lat:48.29545},{lng:1.98029,lat:48.29599},{lng:1.97543,lat:48.29606},{lng:1.97436,lat:48.29394},{lng:1.97141,lat:48.29353},{lng:1.97273,lat:48.29672},{lng:1.96923,lat:48.29644},{lng:1.9652,lat:48.29516},{lng:1.96397,lat:48.29719},{lng:1.96114,lat:48.30478},{lng:1.96222,lat:48.30555},{lng:1.9588,lat:48.30664},{lng:1.95987,lat:48.3075},{lng:1.95923,lat:48.30869},{lng:1.96406,lat:48.31131},{lng:1.96964,lat:48.31367},{lng:1.96944,lat:48.31423},{lng:1.97346,lat:48.31591},{lng:1.97414,lat:48.31516},{lng:1.9745,lat:48.3126},{lng:1.97909,lat:48.31266},{lng:1.97874,lat:48.31387},{lng:1.97924,lat:48.31855},{lng:1.98065,lat:48.31877},{lng:1.9745,lat:48.32317},{lng:1.97871,lat:48.32628},{lng:1.98234,lat:48.32832},{lng:1.97495,lat:48.33526},{lng:1.97055,lat:48.33898},{lng:1.9687,lat:48.34131},{lng:1.97059,lat:48.34226},{lng:1.96971,lat:48.34329},{lng:1.97536,lat:48.34479},{lng:1.97447,lat:48.34699},{lng:1.97547,lat:48.34726},{lng:1.97429,lat:48.35136},{lng:1.97291,lat:48.35405},{lng:1.97331,lat:48.35581},{lng:1.97842,lat:48.35879},{lng:1.98246,lat:48.3602},{lng:1.98682,lat:48.36214},{lng:1.98903,lat:48.36358},{lng:1.98647,lat:48.36398},{lng:1.98458,lat:48.3651},{lng:1.9839,lat:48.36667},{lng:1.98415,lat:48.36834},{lng:1.98307,lat:48.36874},{lng:1.97801,lat:48.36886},{lng:1.98022,lat:48.37021},{lng:1.97988,lat:48.37183},{lng:1.98149,lat:48.3726},{lng:1.98215,lat:48.37485},{lng:1.98012,lat:48.37484},{lng:1.98031,lat:48.37826},{lng:1.97781,lat:48.37857},{lng:1.97631,lat:48.38027},{lng:1.96672,lat:48.38042},{lng:1.9676,lat:48.38168},{lng:1.96826,lat:48.38412},{lng:1.96934,lat:48.38394},{lng:1.97288,lat:48.38898},{lng:1.97416,lat:48.38979},{lng:1.9729,lat:48.3942},{lng:1.97335,lat:48.39577},{lng:1.97724,lat:48.39917},{lng:1.97651,lat:48.39952},{lng:1.97824,lat:48.402},{lng:1.97149,lat:48.40162},{lng:1.96791,lat:48.40232},{lng:1.96561,lat:48.40349},{lng:1.96223,lat:48.40433},{lng:1.95262,lat:48.40604},{lng:1.94642,lat:48.40634},{lng:1.94042,lat:48.40501},{lng:1.93549,lat:48.40423},{lng:1.93212,lat:48.40341},{lng:1.92837,lat:48.40605},{lng:1.93273,lat:48.41069},{lng:1.92589,lat:48.41274},{lng:1.92762,lat:48.41634},{lng:1.93194,lat:48.41631},{lng:1.93219,lat:48.42036},{lng:1.93847,lat:48.41994},{lng:1.93961,lat:48.41958},{lng:1.94072,lat:48.42548},{lng:1.93747,lat:48.42641},{lng:1.93698,lat:48.4278},{lng:1.93853,lat:48.42871},{lng:1.93676,lat:48.43005},{lng:1.93682,lat:48.43126},{lng:1.93911,lat:48.43199},{lng:1.93916,lat:48.43428},{lng:1.93633,lat:48.43481},{lng:1.94289,lat:48.44109},{lng:1.94033,lat:48.44166},{lng:1.93553,lat:48.4407},{lng:1.93296,lat:48.44204},{lng:1.93449,lat:48.44379},{lng:1.93144,lat:48.44482},{lng:1.93282,lat:48.44968},{lng:1.92855,lat:48.45097},{lng:1.93063,lat:48.45372},{lng:1.92792,lat:48.45461},{lng:1.92945,lat:48.45696},{lng:1.92215,lat:48.4576},{lng:1.92273,lat:48.46003},{lng:1.91807,lat:48.46073},{lng:1.91859,lat:48.46208},{lng:1.91619,lat:48.46317},{lng:1.91635,lat:48.46486},{lng:1.91808,lat:48.46888},{lng:1.91455,lat:48.46944},{lng:1.91575,lat:48.47116},{lng:1.91622,lat:48.47291},{lng:1.91519,lat:48.47404},{lng:1.92179,lat:48.4778},{lng:1.92514,lat:48.48117},{lng:1.93055,lat:48.48092},{lng:1.93258,lat:48.4803},{lng:1.93338,lat:48.48215},{lng:1.93267,lat:48.48556},{lng:1.93455,lat:48.48921},{lng:1.93298,lat:48.48952},{lng:1.93341,lat:48.49321},{lng:1.93428,lat:48.49578},{lng:1.9368,lat:48.50086},{lng:1.93895,lat:48.50366},{lng:1.94076,lat:48.50676},{lng:1.94661,lat:48.51042},{lng:1.9441,lat:48.51298},{lng:1.94761,lat:48.51396},{lng:1.94568,lat:48.51632},{lng:1.94579,lat:48.51784},{lng:1.94817,lat:48.5193},{lng:1.95229,lat:48.52039},{lng:1.95345,lat:48.52225},{lng:1.9565,lat:48.52279}
141,{lng:1.95724,lat:48.52503},{lng:1.96044,lat:48.52631},{lng:1.96306,lat:48.52843},{lng:1.96698,lat:48.52843},{lng:1.96834,lat:48.52809},{lng:1.96764,lat:48.52587},{lng:1.97005,lat:48.52593},{lng:1.97482,lat:48.52686},{lng:1.97588,lat:48.52536},{lng:1.97851,lat:48.52582},{lng:1.97755,lat:48.52874},{lng:1.97779,lat:48.53297},{lng:1.97667,lat:48.53566},{lng:1.97342,lat:48.53739},{lng:1.9712,lat:48.53796},{lng:1.96828,lat:48.53735},{lng:1.96728,lat:48.53625},{lng:1.96971,lat:48.53493},{lng:1.96919,lat:48.53222},{lng:1.96674,lat:48.53347},{lng:1.96233,lat:48.53503},{lng:1.95786,lat:48.53618},{lng:1.9571,lat:48.53717},{lng:1.95411,lat:48.53851},{lng:1.95229,lat:48.53864},{lng:1.95242,lat:48.53989},{lng:1.94957,lat:48.54065},{lng:1.94969,lat:48.54281},{lng:1.94866,lat:48.54356},{lng:1.94631,lat:48.54219},{lng:1.94349,lat:48.54227},{lng:1.94108,lat:48.54306},{lng:1.94165,lat:48.54459},{lng:1.9399,lat:48.54564},{lng:1.93842,lat:48.54538},{lng:1.93437,lat:48.54733},{lng:1.93413,lat:48.54865},{lng:1.93493,lat:48.55032},{lng:1.93685,lat:48.55685},{lng:1.93626,lat:48.5608},{lng:1.93789,lat:48.56293},{lng:1.94459,lat:48.56123},{lng:1.94829,lat:48.56104},{lng:1.94972,lat:48.5597},{lng:1.95131,lat:48.55927},{lng:1.96392,lat:48.56062},{lng:1.96723,lat:48.56027},{lng:1.97191,lat:48.55885},{lng:1.9745,lat:48.55633},{lng:1.97878,lat:48.55365},{lng:1.98182,lat:48.55555},{lng:1.98255,lat:48.55763},{lng:1.98464,lat:48.55836},{lng:1.99076,lat:48.55594},{lng:1.99482,lat:48.55708},{lng:1.9965,lat:48.55695},{lng:1.99863,lat:48.5553},{lng:2.0029,lat:48.55553},{lng:2.00451,lat:48.55527},{lng:2.00972,lat:48.55641},{lng:2.01122,lat:48.55632},{lng:2.01757,lat:48.5576},{lng:2.01653,lat:48.5615},{lng:2.01651,lat:48.5647},{lng:2.01724,lat:48.56757},{lng:2.01587,lat:48.56887},{lng:2.0177,lat:48.56955},{lng:2.01951,lat:48.57212},{lng:2.02322,lat:48.57618},{lng:2.02164,lat:48.57788},{lng:2.0232,lat:48.57869},{lng:2.02265,lat:48.57991},{lng:2.02569,lat:48.58127},{lng:2.0292,lat:48.58334},{lng:2.03034,lat:48.5847},{lng:2.02945,lat:48.58577},{lng:2.03337,lat:48.588},{lng:2.03574,lat:48.58886},{lng:2.03617,lat:48.5914},{lng:2.03449,lat:48.59348},{lng:2.03158,lat:48.59401},{lng:2.03382,lat:48.59986},{lng:2.03377,lat:48.60161},{lng:2.03451,lat:48.6035},{lng:2.03429,lat:48.6053},{lng:2.0391,lat:48.60549},{lng:2.04682,lat:48.607},{lng:2.04973,lat:48.60813},{lng:2.05183,lat:48.60736},{lng:2.05482,lat:48.60796},{lng:2.05419,lat:48.61129},{lng:2.0554,lat:48.61219},{lng:2.0569,lat:48.61143},{lng:2.05755,lat:48.61332},{lng:2.06086,lat:48.61566},{lng:2.06024,lat:48.61759},{lng:2.05435,lat:48.61781},{lng:2.05387,lat:48.62073},{lng:2.0489,lat:48.62139},{lng:2.04613,lat:48.62148},{lng:2.04604,lat:48.62489},{lng:2.0426,lat:48.62527},{lng:2.04262,lat:48.62637},{lng:2.04046,lat:48.62762},{lng:2.04064,lat:48.63085},{lng:2.03704,lat:48.63103},{lng:2.03453,lat:48.63183},{lng:2.03689,lat:48.63314},{lng:2.03492,lat:48.63579},{lng:2.03497,lat:48.63741},{lng:2.03814,lat:48.64083},{lng:2.03596,lat:48.6419},{lng:2.03358,lat:48.6419},{lng:2.03121,lat:48.64248},{lng:2.0217,lat:48.64232},{lng:2.01628,lat:48.64104},{lng:2.01884,lat:48.64506},{lng:2.01523,lat:48.64725},{lng:2.01001,lat:48.64831},{lng:2.01188,lat:48.65133},{lng:2.01131,lat:48.65708},{lng:2.01135,lat:48.65991},{lng:2.01671,lat:48.65907},{lng:2.02074,lat:48.65747},{lng:2.02248,lat:48.65859},{lng:2.02534,lat:48.65739},{lng:2.02819,lat:48.65726},{lng:2.02903,lat:48.66424},{lng:2.03198,lat:48.66973},{lng:2.03332,lat:48.67378},{lng:2.03388,lat:48.67939},{lng:2.03746,lat:48.67961},{lng:2.03764,lat:48.68022},{lng:2.04244,lat:48.68001},{lng:2.04365,lat:48.68212},{lng:2.04237,lat:48.6827},{lng:2.04566,lat:48.68757},{lng:2.05295,lat:48.68731},{lng:2.05878,lat:48.68648},{lng:2.06265,lat:48.68729},{lng:2.06496,lat:48.6864},{lng:2.06651,lat:48.6869},{lng:2.06468,lat:48.68842},{lng:2.06719,lat:48.68872},{lng:2.06846,lat:48.69022},{lng:2.07283,lat:48.68812},{lng:2.07655,lat:48.68773},{lng:2.07755,lat:48.68653},{lng:2.08208,lat:48.68545},{lng:2.08431,lat:48.68906},{lng:2.08802,lat:48.69302},{lng:2.0872,lat:48.69419},{lng:2.08564,lat:48.69464},{lng:2.08644,lat:48.69621},{lng:2.08875,lat:48.69814},{lng:2.09098,lat:48.69874},{lng:2.0912,lat:48.69698},{lng:2.09411,lat:48.69645},{lng:2.09419,lat:48.6947},{lng:2.09785,lat:48.69403},{lng:2.09676,lat:48.6974},{lng:2.09818,lat:48.6996},{lng:2.09613,lat:48.70019},{lng:2.09694,lat:48.70275},{lng:2.1008,lat:48.70281},{lng:2.10289,lat:48.70601},{lng:2.11033,lat:48.71438},{lng:2.10999,lat:48.71592},{lng:2.10627,lat:48.71888},{lng:2.10616,lat:48.71934},{lng:2.11247,lat:48.72289},{lng:2.11008,lat:48.72504},{lng:2.10892,lat:48.72711},{lng:2.10646,lat:48.72881},{lng:2.10279,lat:48.73042},{lng:2.10224,lat:48.73109},{lng:2.10366,lat:48.73266},{lng:2.09895,lat:48.73387},{lng:2.09856,lat:48.73518},{lng:2.10255,lat:48.73761},{lng:2.10322,lat:48.73749},{lng:2.1111,lat:48.73955},{lng:2.1162,lat:48.73966},{lng:2.11612,lat:48.74093},{lng:2.11949,lat:48.74231},{lng:2.12558,lat:48.74004},{lng:2.12613,lat:48.7377},{lng:2.13498,lat:48.73714},{lng:2.13741,lat:48.74015},{lng:2.13978,lat:48.74222},{lng:2.13691,lat:48.74546},{lng:2.138,lat:48.74604},{lng:2.14174,lat:48.74623},{lng:2.14227,lat:48.74838},{lng:2.14546,lat:48.75077},{lng:2.14952,lat:48.75258},{lng:2.15122,lat:48.75452},{lng:2.15647,lat:48.75228},{lng:2.15599,lat:48.7516},{lng:2.16096,lat:48.74994},{lng:2.16638,lat:48.75553},{lng:2.16801,lat:48.75684},{lng:2.17236,lat:48.75693},{lng:2.17345,lat:48.75787},{lng:2.17515,lat:48.75752},{lng:2.18065,lat:48.75856},{lng:2.18611,lat:48.75398},{lng:2.18812,lat:48.75393},{lng:2.1906,lat:48.75511},{lng:2.18998,lat:48.75668},{lng:2.19181,lat:48.75786},{lng:2.19258,lat:48.76027},{lng:2.19162,lat:48.76133},{lng:2.19314,lat:48.76467},{lng:2.19138,lat:48.76668},{lng:2.19152,lat:48.76919},{lng:2.1902,lat:48.77144},{lng:2.18598,lat:48.77251},{lng:2.18937,lat:48.77395},{lng:2.19107,lat:48.77512},{lng:2.20112,lat:48.77573},{lng:2.20068,lat:48.77213},{lng:2.20272,lat:48.77136},{lng:2.20529,lat:48.76972},{lng:2.20636,lat:48.77002},{lng:2.20993,lat:48.76919},{lng:2.21227,lat:48.77168},{lng:2.22008,lat:48.77107},{lng:2.22409,lat:48.77116},{lng:2.22511,lat:48.77022},{lng:2.22898,lat:48.77035},{lng:2.22782,lat:48.77193},{lng:2.22656,lat:48.7761}];
142
143            // Construct the polygon.
144            let dpt = new google.maps.Polygon({
145                paths: dptCoords,
146                strokeColor: '#ff2799',
147                strokeOpacity: 0.8,
148                strokeWeight: 2,
149                fillColor: '#000000',
150                fillOpacity: 0.05
151            });
152            dpt.setMap(this.map);
153
154            this.loadMarkers();
155        }
156
157        registerUX() {
158            let _this = this;
159            let timer;
160
161            // Lorsque le formulaire (filtres) est modifié, filtrer les données
162            _this.$form.find('input, select').on('change', function() {
163                if (timer) {
164                    window.clearTimeout(timer);
165                }
166                timer = window.setTimeout(function() {
167                    if (_this.searching === false) {
168                        _this.reloadObjects();
169                    }
170                }, 200);
171
172            });
173
174            // Lors du clic sur le bouton autour de moi
175            _this.$form.find('#geoloc_filter').on('change', function() {
176                let options = {
177                    enableHighAccuracy: true,
178                    timeout: 5000,
179                    maximumAge: 0
180                };
181
182                function success(pos) {
183                    let crd = pos.coords;
184                    $('#geoloc_input').val(crd.lng + ',' + crd.lat + ':' + $('#geoloc_filter').val()).trigger('change');
185                }
186
187                function error(err) {
188                    console.warn(`ERREUR (${err.code}): ${err.message}`);
189                }
190                navigator.geolocation.getCurrentPosition(success, error, options);
191            });
192
193            // Ouvrir ou fermer les filtres en plein écran (sur mobile uniquement, par défaut)
194            $('.apidae-interactive-map .toggle-filters').on('click', function() {
195                $('.apidae-interactive-map .map-filters').toggleClass('active');
196                $(this).toggleClass('active');
197
198            });
199
200            // Cocher toutes les cases du groupe de filtre lors d'un clic sur les boutons Sélectionner tout
201            $('.apidae-interactive-map .check-all').on('click', function() {
202                $(this).parents('.filter-selections').find('input').attr('checked', 'checked');
203                $(this).removeClass('check-all').addClass('uncheck-all');
204                _this.reloadObjects();
205            });
206            // Décocher toutes les cases du groupe de filtre lors d'un clic sur les boutons Désélectionner tout
207            $('.apidae-interactive-map .uncheck-all').on('click', function() {
208                $(this).parents('.filter-selections').find('input').attr('checked', null);
209                $(this).removeClass('uncheck-all').addClass('check-all');
210                _this.reloadObjects();
211            });
212
213        }
214
215        reloadMarkers() {
216
217            this.getActiveLocations();
218
219            for (let i = 0; i < this.markers.length; i++) {
220                this.markers[i].setMap(null);
221            }
222
223            this.markerCluster.clearMarkers();
224
225            this.loadMarkers();
226
227        }
228
229        loadMarkers() {
230            let _this = this;
231
232            let infowindow = new google.maps.InfoWindow();
233
234            // Add some markers to the map.
235            this.markers = this.locations.map(function(location, i) {
236                let marker =  new google.maps.Marker({
237                    position: new google.maps.LatLng(location.geoloc.lat, location.geoloc.long),
238                    icon: _this.inactiveIcon,
239                });
240
241                let content = "";
242
243                if ( location.adherent === 1 )
244                    content += "<div class='map-object-thumbnail'><img src='"+location.image.url+"' alt='"+location.title+"' /></div>";
245
246                content += "<h3 class='map-object-title'><a href='"+location.link+"' title='"+location.title+"'>"+location.title+"</a></h3>" +
247                    "<div class='map-object-address'>"+location.address+"</div>" +
248                    "<div class='map-read-more'><a href='"+location.link+"' title='"+location.title+"'></a></div>";
249
250                google.maps.event.addListener(marker, 'click', (function(marker, i) {
251                    return function() {
252                        _this.resetMarkers();
253                        _this.activeMarker(marker, location);
254                        infowindow.setContent(content);
255                        infowindow.open(_this.map, marker);
256                    }
257                })(marker, i));
258
259                return marker;
260            });
261
262            this.mapFitBounds();
263
264            // Add a marker clusterer to manage the markers.
265            this.markerCluster = new MarkerClusterer(this.map, this.markers, {
266                imagePath: avia_framework_globals.installedAt + 'js/markerclusterer/images/m',
267                maxZoom: 14,
268            });
269
270            this.markerCluster.setStyles(this.markerCluster.getStyles().map(function (style) {
271                style.textColor = '#fff';
272                return style;
273            }));
274
275        }
276
277        mapFitBounds() {
278            let bounds = new google.maps.LatLngBounds();
279            if (this.markers.length <= 0) {
280                for (let m of this.defaultBounds) {
281                    bounds.extend(m);
282                }
283            } else {
284                for (let m of this.markers) {
285                    bounds.extend(m.position);
286                }
287            }
288            this.map.fitBounds(bounds);
289        }
290
291        resetMarkers() {
292            for (let m of this.markers) {
293                m.setIcon(this.inactiveIcon);
294            }
295        }
296
297        activeMarker(marker, location) {
298
299            marker.setIcon(this.activeIcon);
300            this.map.setCenter(marker.getPosition());
301
302        }
303
304        reloadObjects() {
305            let _this = this;
306
307            _this.searching = true;
308
309            let data = new FormData(_this.$form[0]);
310            data.append('action', 'filter_elements');
311
312            $.ajax({
313                url: avia_framework_globals.ajaxurl,
314                type:'POST',
315                data: data,
316                processData: false,
317                contentType: false,
318                success: function (result) {
319                    let json = JSON.parse(result);
320                    _this.locations = json.posts;
321                    _this.reloadMarkers();
322                    _this.searching = false;
323                    $('.apidae-interactive-map .toggle-filters').trigger('click');
324                }
325            });
326
327
328        }
329
330    }
331
332    $(window).load(function() {
333
334        let map = new ApidaeInteractiveMap();
335
336        $('#geoloc_filter').on('input', function() {
337            $(this).siblings('label').find('.range-output').text($(this).val());
338        })
339
340    });
341
342
343
344
345})( jQuery );

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.