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.