PageSourceSearch

https://www.gironde-habitat.fr/wp-content/themes/gironde-habitat/assets/js/maps.js?ver=1.0.0

js gironde-habitat.fr collected 2026-09-24 10:27:42 UTC 12,223 bytes, 521 lines download raw bytes

1
2var type_1 = [];
3var type_2 = [];
4var type_3 = [];
5var hebergements = [];
6
7var markerClusterer = [];
8
9var map = null;
10function init_datas_hebergements() {
11  jQuery('.grid-item').each(function(){
12    var item = {
13      latitude:jQuery(this).find('.latitude').html(),
14      longitude:jQuery(this).find('.longitude').html(),
15      url:jQuery(this).find('.full_link').attr('href')
16    }
17    // console.log(jQuery(this).find('.full_link').attr('href'))
18    hebergements.push(item);
19  });
20}
21function init_datas() {
22  jQuery.post(
23      ajaxurl,
24      {
25          'action': 'get_patrimoine'
26      },
27      function(response){
28        jQuery.each(response, function (key, val) {
29          if(val.latitude.length < 2)
30            return true;
31          var item = {
32            lat:val.latitude,
33            lng:val.longitude,
34            name: val.name
35          }
36          console.log(item);
37          type_1.push(item);
38        });
39        clearClusters();
40        setMarkers(1);
41      }
42  );
43  // jQuery.getJSON("http://www.gironde-habitat.fr/data/patrimoine.json", function(json) {
44  //   jQuery.each(json, function (key, val) {
45  //     if(val.latitude.length < 2)
46  //       return true;
47  //       var item = {
48  //         lat:val.latitude,
49  //         lng:val.longitude,
50  //         info: val.residence
51  //       }
52  //       type_1.push(item);
53  //   });
54  //   clearClusters();
55  //   setMarkers(1);
56  // });
57  // console.log(type_1);
58  // jQuery('#type_1 .item').each(function(){
59  //   var item = {
60  //     latitude:jQuery(this).find('.latitude').html(),
61  //     longitude:jQuery(this).find('.longitude').html()
62  //   }
63  //   type_1.push(item);
64  // });
65  // jQuery('#type_2 .item').each(function(){
66  //   var item = {
67  //     latitude:jQuery(this).find('.latitude').html(),
68  //     longitude:jQuery(this).find('.longitude').html()
69  //   }
70  //   type_2.push(item);
71  // });
72  // jQuery('#type_3 .item').each(function(){
73  //   var item = {
74  //     latitude:jQuery(this).find('.latitude').html(),
75  //     longitude:jQuery(this).find('.longitude').html()
76  //   }
77  //   type_3.push(item);
78  // });
79}
80
81function setMarkers(marker_cat) {
82  var markers = [];
83  var infos = null;
84  var infos = "";
85  var icon_size = 0;
86  switch(marker_cat) {
87    case 1:
88        infos = type_1;
89        cat = "type1";
90        imageUrl = '/wp-content/themes/gironde-habitat/assets/images/square.png';
91        icon_size = 16;
92
93        break;
94    case 2:
95        infos = type_2;
96        cat = "type2";
97        icon_size = 18;
98
99        imageUrl = '/wp-content/themes/gironde-habitat/assets/images/circle.png';
100        break;
101    case 3:
102        infos = type_3;
103        cat = "type3";
104        icon_size = 23;
105
106        imageUrl = '/wp-content/themes/gironde-habitat/assets/images/triangle.png';
107        break;
108  }
109  // var markerImage = new google.maps.MarkerImage(imageUrl,
110    // new google.maps.Size(icon_size, icon_size));
111  // var markerImage = new google.maps.MarkerImage {
112  //   url : imageUrl,
113  //   scaledSize: new google.maps.Size(icon_size, icon_size)
114  // };
115  var markerImage = {
116    url : imageUrl,
117    scaledSize: new google.maps.Size(icon_size, icon_size)
118  };
119  var infoWin = new google.maps.InfoWindow();
120  var markers = infos.map(function(location, i) {
121    var marker = new google.maps.Marker({
122      position: new google.maps.LatLng(location.lat,location.lng),
123      draggable: false,
124      icon: markerImage
125    });
126    google.maps.event.addListener(marker, 'click', function(evt) {
127      infoWin.setContent(location.name);
128      infoWin.open(map, marker);
129    })
130    return marker;
131  });
132
133  // Add a marker clusterer to manage the markers.
134  var item = new MarkerClusterer(map, markers, {
135    maxZoom: 10,
136    gridSize: null,
137    imagePath: '/wp-content/themes/gironde-habitat/assets/images/'+cat
138  });
139
140
141  // for (var i = 0; i < infos.length; ++i) {
142  //   var latLng = new google.maps.LatLng(infos[i].latitude,
143  //       infos[i].longitude)
144  //   var marker = new google.maps.Marker({
145  //     position: latLng,
146  //     draggable: true,
147  //     icon: markerImage
148  //   });
149  //   var name = infos[i].name != undefined ? infos[i].name : "";
150  //   console.log(name)
151  //   var infoWin = new google.maps.InfoWindow();
152  //   google.maps.event.addListener(marker, 'click', function(evt) {
153  //     infoWin.setContent("<div><p class='residence_name'>"+name+"</p></div>");
154  //     infoWin.open(map, marker);
155  //   })
156  //   markers.push(marker);
157  // }
158
159
160
161  // item = new MarkerClusterer(map, markers, {
162  //   maxZoom: 10,
163  //   gridSize: null,
164  //   imagePath: '/wp-content/themes/gironde-habitat/assets/images/'+cat
165  // });
166
167  markerClusterer.push(item);
168}
169
170
171function setMarkers_hebergements(marker_cat) {
172  var markers = [];
173  var infos = null;
174  var infos = "";
175  var icon_size = 0;
176  cat = "type3";
177  imageUrl = '/wp-content/themes/gironde-habitat/assets/images/blue_marker.png';
178
179  var markerImage = {
180    url : imageUrl,
181    scaledSize: new google.maps.Size(26, 39)
182  };
183  for (var i = 0; i < hebergements.length; ++i) {
184    var latLng = new google.maps.LatLng(hebergements[i].latitude,
185        hebergements[i].longitude)
186    var marker = new google.maps.Marker({
187      position: latLng,
188      draggable: true,
189      url: hebergements[i].url,
190      icon: markerImage
191    });
192    google.maps.event.addListener(marker, 'click', function() {
193        window.location.href = this.url;
194    });
195    markers.push(marker);
196  }
197
198  item = new MarkerClusterer(map, markers, {
199    maxZoom: 10,
200    gridSize: null,
201    imagePath: '/wp-content/themes/gironde-habitat/assets/images/'+cat
202  });
203  markerClusterer.push(item);
204}
205
206function show_type_1() {
207  clearClusters();
208  setMarkers(1);
209}
210
211function show_type_2() {
212  clearClusters()
213  setMarkers(2);
214}
215function show_type_3() {
216  clearClusters()
217  setMarkers(3);
218}
219
220function refreshMapHebergements() {
221  setMarkers_hebergements();
222}
223
224
225function refreshMap() {
226  clearClusters();
227  setMarkers(1);
228  // setMarkers(2);
229  // setMarkers(3);
230}
231
232function initialize() {
233
234    if(!jQuery('#map').length) {return;}
235    jQuery('#inline-actions li').click(function(){
236        jQuery('#inline-actions li').each(function(){
237          jQuery(this).removeClass('active')
238        })
239        jQuery(this).addClass('active')
240    })
241    map = new google.maps.Map(document.getElementById('map'), {
242    center: new google.maps.LatLng(44.98012229225143, -0.4973963388672442),
243    zoomControl: true,
244    zoom: 9,
245    minZoom: 5, maxZoom: 14,
246    zoomControlOptions: {
247        position: google.maps.ControlPosition.LEFT_BOTTOM
248    },
249    mapTypeControl: false,
250    scaleControl: false,
251    streetViewControl: false,
252    rotateControl: false,
253    fullscreenControl: false,
254    styles: [
255      {
256        "elementType": "geometry",
257        "stylers": [
258          {
259            "color": "#f5f5f5"
260          }
261        ]
262      },
263      {
264        "elementType": "labels.icon",
265        "stylers": [
266          {
267            "visibility": "off"
268          }
269        ]
270      },
271      {
272        "elementType": "labels.text.fill",
273        "stylers": [
274          {
275            "color": "#616161"
276          }
277        ]
278      },
279      {
280        "elementType": "labels.text.stroke",
281        "stylers": [
282          {
283            "color": "#f5f5f5"
284          }
285        ]
286      },
287      {
288        "featureType": "administrative.land_parcel",
289        "elementType": "labels.text.fill",
290        "stylers": [
291          {
292            "color": "#bdbdbd"
293          }
294        ]
295      },
296      {
297        "featureType": "landscape",
298        "stylers": [
299          {
300            "color": "#f2f2f2"
301          }
302        ]
303      },
304      {
305        "featureType": "landscape.natural",
306        "stylers": [
307          {
308            "color": "#ffffff"
309          }
310        ]
311      },
312      {
313        "featureType": "landscape.natural.landcover",
314        "elementType": "geometry.fill",
315        "stylers": [
316          {
317            "color": "#ffffff"
318          }
319        ]
320      },
321      {
322        "featureType": "landscape.natural.terrain",
323        "stylers": [
324          {
325            "color": "#ffffff"
326          }
327        ]
328      },
329      {
330        "featureType": "landscape.natural.terrain",
331        "elementType": "geometry.fill",
332        "stylers": [
333          {
334            "color": "#ffffff"
335          }
336        ]
337      },
338      {
339        "featureType": "poi",
340        "elementType": "geometry",
341        "stylers": [
342          {
343            "color": "#eeeeee"
344          }
345        ]
346      },
347      {
348        "featureType": "poi",
349        "elementType": "labels.text.fill",
350        "stylers": [
351          {
352            "color": "#757575"
353          }
354        ]
355      },
356      {
357        "featureType": "poi.park",
358        "elementType": "geometry",
359        "stylers": [
360          {
361            "color": "#e5e5e5"
362          }
363        ]
364      },
365      {
366        "featureType": "poi.park",
367        "elementType": "labels.text.fill",
368        "stylers": [
369          {
370            "color": "#9e9e9e"
371          }
372        ]
373      },
374      {
375        "featureType": "road",
376        "stylers": [
377          {
378            "color": "#e6e6e6"
379          }
380        ]
381      },
382      {
383        "featureType": "road",
384        "elementType": "geometry",
385        "stylers": [
386          {
387            "color": "#ffffff"
388          }
389        ]
390      },
391      {
392        "featureType": "road",
393        "elementType": "geometry.fill",
394        "stylers": [
395          {
396            "color": "#e6e6e6"
397          }
398        ]
399      },
400      {
401        "featureType": "road.arterial",
402        "elementType": "labels.text.fill",
403        "stylers": [
404          {
405            "color": "#757575"
406          }
407        ]
408      },
409      {
410        "featureType": "road.highway",
411        "elementType": "geometry",
412        "stylers": [
413          {
414            "color": "#dadada"
415          }
416        ]
417      },
418      {
419        "featureType": "road.highway",
420        "elementType": "labels.text.fill",
421        "stylers": [
422          {
423            "color": "#616161"
424          }
425        ]
426      },
427      {
428        "featureType": "road.local",
429        "elementType": "labels.text.fill",
430        "stylers": [
431          {
432            "color": "#9e9e9e"
433          }
434        ]
435      },
436      {
437        "featureType": "transit.line",
438        "elementType": "geometry",
439        "stylers": [
440          {
441            "color": "#e5e5e5"
442          }
443        ]
444      },
445      {
446        "featureType": "transit.station",
447        "elementType": "geometry",
448        "stylers": [
449          {
450            "color": "#eeeeee"
451          }
452        ]
453      },
454      {
455        "featureType": "water",
456        "stylers": [
457          {
458            "color": "#a1ddd7"
459          }
460        ]
461      },
462      {
463        "featureType": "water",
464        "elementType": "geometry",
465        "stylers": [
466          {
467            "color": "#c9c9c9"
468          }
469        ]
470      },
471      {
472        "featureType": "water",
473        "elementType": "geometry.fill",
474        "stylers": [
475          {
476            "color": "#a1ddd7"
477          }
478        ]
479      },
480      {
481        "featureType": "water",
482        "elementType": "labels.text.fill",
483        "stylers": [
484          {
485            "color": "#9e9e9e"
486          }
487        ]
488      }
489    ]
490  });
491  // var opt = { minZoom: 9, maxZoom: 12 };
492  // map.setOptions(opt);
493
494  if(jQuery('#tpl_offres').length) {
495    init_datas_hebergements();
496    refreshMapHebergements();
497  }
498  else {
499    var refresh = document.getElementById('refresh');
500    // google.maps.event.addDomListener(refresh, 'click', refreshMap);
501
502    var refresh = document.getElementById('selector_type_1');
503    // google.maps.event.addDomListener(refresh, 'click', show_type_1);
504    var refresh = document.getElementById('selector_type_2');
505    // google.maps.event.addDomListener(refresh, 'click', show_type_2);
506      var refresh = document.getElementById('selector_type_3');
507    // google.maps.event.addDomListener(refresh, 'click', show_type_3);
508
509    init_datas();
510    refreshMap();
511  }
512
513}
514
515function clearClusters() {
516  for (index = 0; index < markerClusterer.length; ++index) {
517      markerClusterer[index].clearMarkers();
518  }
519}
520
521google.maps.event.addDomListener(window, 'load', initialize);

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.