//Autres auteurs : *@copyright Tela-Botanica 2000-2008 *@version $Revision: 1.1.2.1 $ // +------------------------------------------------------------------------------------------------------+ */ include_once PAP_CHEMIN_API_PEAR.'PEAR.php'; class Bazar_carte_google extends PEAR { var $option = array(); function Bazar_carte_google($options) { unset ($options['nom_bdd']); // fout la merde avec google maps v2 $this->options = $options; } function toHTML($valeur) { if ($GLOBALS['pas_de_carte']) return; $html = ''; $val = $this->options['nom_bdd']; $script = ' // Variables globales // cette fonction peut d�j� �tre pr�sente if (typeof(addListener) != \'function\') { // fonction portable pour ajout de listeners function addListener(element, baseName, handler) { if (element.addEventListener) { element.addEventListener(baseName, handler, false) ; } else if (element.attachEvent) { element.attachEvent(\'on\'+baseName, handler) ; } } } var map = null; addListener(window,\'load\',loadMap) ; var geocoder = null; var lat = document.getElementById("latitude"); var lon = document.getElementById("longitude"); function loadMap() { var point = new google.maps.LatLng('.$GLOBALS['_BAZAR_']['ligne_resultat']['bf_latitude'].', '.$GLOBALS['_BAZAR_']['ligne_resultat']['bf_longitude'].'); var optionsGoogleMapsv3 = { // On centre la carte sur le languedoc roussillon center: point, zoom: 7, mapTypeId: "OSM", mapTypeControlOptions: { mapTypeIds: ["OSM", google.maps.MapTypeId.ROADMAP, google.maps.MapTypeId.HYBRID, google.maps.MapTypeId.SATELLITE, google.maps.MapTypeId.TERRAIN] }, mapTypeControl: true, scaleControl: true }; map = new google.maps.Map(document.getElementById("map"), optionsGoogleMapsv3); map.mapTypes.set("OSM", new google.maps.ImageMapType({ getTileUrl: function(coord, zoom) { return "http://osm.tela-botanica.org/tile/" + // cache de tuiles avec nginx zoom + "/" + coord.x + "/" + coord.y + ".png"; }, tileSize: new google.maps.Size(256, 256), isPng: true, alt: "OpenStreetMap", name: "OSM", maxZoom: 19 })); marker = new google.maps.Marker({ position: point, map: map }); var mention = \'
\'; $("#map").append(mention); // ecouteur sur changement de fond google.maps.event.addListener( map, \'maptypeid_changed\', function() { if (map.getMapTypeId() == "OSM") { $("#origine-donnees").show(); } else { $("#origine-donnees").hide(); } }); };' ; GEN_stockerCodeScript($script); //GEN_stockerFichierScript('googleMapScript', $this->options['nom_bdd']); GEN_stockerFichierScript('googleMapScript', "http://maps.googleapis.com/maps/api/js?sensor=false&key=".BAZ_GOOGLE_KEY); // On ajoute l attribut load a la balise body //GEN_AttributsBody('onload', 'load()'); $html = ''; return $html; } } /* +--Fin du code ----------------------------------------------------------------------------------------+ * * $Log: not supported by cvs2svn $ * * +-- Fin du code ----------------------------------------------------------------------------------------+ */ ?>