Subversion Repositories Applications.bazar

Rev

Rev 479 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1                                                                                      |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
// +------------------------------------------------------------------------------------------------------+
// | This library is free software; you can redistribute it and/or                                        |
// | modify it under the terms of the GNU Lesser General Public                                           |
// | License as published by the Free Software Foundation; either                                         |
// | version 2.1 of the License, or (at your option) any later version.                                   |
// |                                                                                                      |
// | This library is distributed in the hope that it will be useful,                                      |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
// | Lesser General Public License for more details.                                                      |
// |                                                                                                      |
// | You should have received a copy of the GNU Lesser General Public                                     |
// | License along with this library; if not, write to the Free Software                                  |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: carte_google.php,v 1.1.2.1 2008-04-16 12:35:25 alexandre_tb Exp $
/**
* 
*@package bazar
//Auteur original :
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
//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 = \'<div id="origine-donnees">Tuiles : <a href="http://www.openstreetmap.fr" target="_blank">OsmFr</a><br/>\';
        mention += \'Carte : <a href="http://www.openstreetmap.org/copyright" target="_blank">© les contributeurs d\\\'OpenStreetMap</a></div>\';
        $("#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 = '<div id="map" style="width: 600px; height: 300px"></div>';
                return $html;
        }
}

/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>