var map; function createMarker(point,icon,bubblehtml) { var marker = new GMarker(point,icon); GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(bubblehtml); }); return marker; } function load_artists_map() { var map_focus = document.getElementById('map_region').value; var map_focus_detail = map_focus.split(','); var dlat = map_focus_detail[0]; var dlng = map_focus_detail[1]; var dzoom = map_focus_detail[2]; dzoom = parseInt(dzoom*1); var myOptions = { zoom: dzoom, center: new google.maps.LatLng(dlat, dlng), mapTypeId: google.maps.MapTypeId.ROADMAP }; map = new google.maps.Map(document.getElementById('map'), myOptions); setMarkers(map, exhib_markers); } function catch_exhib_search_enter(e) { var key; if(window.event) key = window.event.keyCode; //IE else key = e.which; //firefox if (key == 13) exhib_search(); return (key != 13); } function exhib_search_result() { if (wckajax.readyState == 4) { phpresponse = wckajax.responseText; if (phpresponse == '') { alert('Aucune exposition trouvée pour ces critères'); return false; } document.getElementById('artist_search_results').innerHTML = phpresponse; } } function exhib_search() { var date_filter = document.getElementById('date_filter').value; var selected_artist = document.getElementById('selected_artist').value; var parameters = "date_filter=" + date_filter + "&selected_artist="+selected_artist; wckajax.open('POST', '/wck_ajax_exhibitions_list.php', true); wckajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); wckajax.setRequestHeader("Content-length", parameters.length); wckajax.setRequestHeader("Connection", "close"); wckajax.onreadystatechange = exhib_search_result; wckajax.send(parameters); } function exhib_focus(artist_coords, exhib_id) { var coords_detail = artist_coords.split(','); var artist_lat = coords_detail[0]; var artist_lng = coords_detail[1]; map.setCenter( new google.maps.LatLng(artist_lat, artist_lng) ); map.setZoom(13); } var infowindow; function setMarkers(map, locations) { // Add markers to the map var image = new google.maps.MarkerImage('/gfx/map/pin1.png', new google.maps.Size(32, 32), // The origin for this image is 0,0. new google.maps.Point(0,0), // The anchor for this image is the base of the flagpole at 0,32. new google.maps.Point(0, 32)); var shadow = new google.maps.MarkerImage('/gfx/map/pin_shadow.png', // The shadow image is larger in the horizontal dimension // while the position and offset are the same as for the main image. new google.maps.Size(32, 32), new google.maps.Point(0,0), new google.maps.Point(0, 32)); // Shapes define the clickable region of the icon. // The type defines an HTML <area> element 'poly' which // traces out a polygon as a series of X,Y points. The final // coordinate closes the poly by connecting to the first // coordinate. var shape = { coord: [1, 1, 1, 20, 18, 20, 18 , 1], type: 'poly' }; var infowindow = new google.maps.InfoWindow(); for (var i = 0; i < locations.length; i++) { var marker_pos = locations[i]; var myLatLng = new google.maps.LatLng(marker_pos[1], marker_pos[2]); var marker = new google.maps.Marker({ position: myLatLng, map: map, shadow: shadow, icon: image, shape: shape, title: marker_pos[0], zIndex: marker_pos[3] }); exhib_id = marker_pos[4]; if ( exhib_id == undefined ) continue; marker.html = '
'+$('#exhib_'+exhib_id).html()+'
'; google.maps.event.addListener(marker, 'click', function() { infowindow.setContent(this.html); infowindow.open(map,this); }); } } var bubble_marker;