Subversion Repositories Applications.bazar

Rev

Rev 469 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 469 Rev 479
Line 39... Line 39...
39
include_once 'configuration/baz_config.inc.php';
39
include_once 'configuration/baz_config.inc.php';
40
include_once BAZ_CHEMIN_APPLI.'bibliotheque/bazar.fonct.php';
40
include_once BAZ_CHEMIN_APPLI.'bibliotheque/bazar.fonct.php';
41
// Inclusion d'une classe personnalise si elle existe
41
// Inclusion d'une classe personnalise si elle existe
Line 42... Line 42...
42
 
42
 
43
// Le fichier de script de google map
43
// Le fichier de script de google map
-
 
44
//GEN_stockerFichierScript('googleMapScript', 'http://maps.google.com/maps?file=api&v=2&key='.BAZ_GOOGLE_KEY);
Line 44... Line 45...
44
GEN_stockerFichierScript('googleMapScript', 'http://maps.google.com/maps?file=api&v=2&key='.BAZ_GOOGLE_KEY);
45
GEN_stockerFichierScript('googleMapScript', "http://maps.googleapis.com/maps/api/js?sensor=false&key=".BAZ_GOOGLE_KEY);
45
 
46
 
46
// Le fichier jquery pour le date picker
47
// Le fichier jquery pour le date picker
47
//GEN_stockerFichierScript('jquery', 'api/js/jquery/jquery.js');
48
//GEN_stockerFichierScript('jquery', 'api/js/jquery/jquery.js');
Line 51... Line 52...
51
 
52
 
Line 52... Line 53...
52
GEN_stockerStyleExterne( 'jquery_date_picker_style', 'api/js/jquery/ui.datepicker.css');
53
GEN_stockerStyleExterne( 'jquery_date_picker_style', 'api/js/jquery/ui.datepicker.css');
53
 
54
 
54
 
55
 
55
if (defined('PAP_VERSION')) { //si on est dans Papyrus
56
if (defined('PAP_VERSION')) { //si on est dans Papyrus
56
    GEN_stockerStyleExterne( 'bazar_interne', 'client/bazar/bazar.interne.css');
57
    GEN_stockerStyleExterne( 'bazar_interne', 'reseau/bazar/bazar.interne.css');
57
}
58
}
Line 101... Line 102...
101
$donnees = array();
102
$donnees = array();
Line 102... Line 103...
102
 
103
 
103
if ($resultat->numRows() != 0) {
104
if ($resultat->numRows() != 0) {
104
    $script_marker = '';
105
    $script_marker = '';
-
 
106
    $couleur_drapeau = array ( 1 => 'bleu', 2 => 'vert', 3 => 'orange', 4 => 'rose');
105
    $couleur_drapeau = array ( 1 => 'bleu', 2 => 'vert', 3 => 'orange', 4 => 'rose');
107
 
106
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
108
    while ($ligne = $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
107
        if ($ligne['bf_latitude'] == 0 && $ligne['bf_longitude'] == 0) continue;
109
        if ($ligne['bf_latitude'] == 0 && $ligne['bf_longitude'] == 0) continue;
108
        $cle = $ligne['bf_latitude'].'-'.$ligne['bf_longitude'];
110
        $cle = $ligne['bf_latitude'].'-'.$ligne['bf_longitude'];
109
        $donnees[$cle][] = $ligne;
111
        $donnees[$cle][] = $ligne;
-
 
112
    }
110
    }
113
 
111
    foreach ($donnees as $valeur) {
114
    foreach ($donnees as $valeur) {
112
        // cas un : une seule entree pour le point de coordonnees
115
        // cas un : une seule entree pour le point de coordonnees
113
        if (count ($valeur) == 1) {
116
        if (count ($valeur) == 1) {
114
            $chaine = $valeur[0];
117
            $chaine = $valeur[0];
115
           
118
 
116
            $script_marker .= 'var icon = new GIcon(G_DEFAULT_ICON);
119
			$script_marker .= 'var icon = {' .
117
        icon.image = "client/bazar/images/drapeau_'.$couleur_drapeau[$chaine['blv_valeur']].'.png";'."\n".'
-
 
118
        icon.shadow = "http://www.google.com/mapfiles/shadow50.png";
120
				'url: "reseau/bazar/images/drapeau_'.$couleur_drapeau[$chaine['blv_valeur']].'.png",
119
        icon.iconSize = new GSize(16, 16);
-
 
120
        icon.shadowSize = new GSize(16, 16);
121
				size: new google.maps.Size(16,16),
121
        icon.iconAnchor = new GPoint(6, 16);
122
				anchor: new google.maps.Point(6,16)'
-
 
123
			. '};' . "\n";
122
        icon.infoWindowAnchor = new GPoint(5, 1);'."\n";
124
 
123
            $script_marker .= "\t".'point = new GLatLng('.$chaine['bf_latitude'].','.$chaine['bf_longitude'].');'."\n"
125
              $script_marker .= "\t".'point = new google.maps.LatLng('.$chaine['bf_latitude'].','.$chaine['bf_longitude'].');'."\n"
124
                ."\t".'map.addOverlay(createMarker(point, \''.'<div class="BAZ_cadre_map">'.
126
                ."\t".'createMarker(point, \''.'<div class="BAZ_cadre_map">'.
125
                preg_replace ('/\n/', '', str_replace ("\r\n", '',
127
                preg_replace ('/\n/', '', str_replace ("\r\n", '',
-
 
128
                    str_replace ("'", "\'", baz_voir_fiche(0, $chaine['bf_id_fiche'])))).'</div>\',icon, new google.maps.Size(5,1));'."\n";
126
                    str_replace ("'", "\'", baz_voir_fiche(0, $chaine['bf_id_fiche'])))).'</div>\',icon));'."\n";
129
 
127
        } else { // Cas 2 plusieurs entrees
130
        } else { // Cas 2 plusieurs entrees
128
            $tableau_id = array();
131
            $tableau_id = array();
129
            foreach ($valeur as $val) {
132
            foreach ($valeur as $val) {
130
                array_push ($tableau_id, $val['bf_id_fiche']);
133
                array_push ($tableau_id, $val['bf_id_fiche']);
-
 
134
            }
131
            }
135
 
132
            $script_marker .= 'var icon = new GIcon();
136
			$script_marker .= 'var icon = {' .
133
        icon.image = "http://www.tela-botanica.org/client/bazar/images/drapeau_'.$couleur_drapeau[$chaine['blv_valeur']].'.png";
-
 
134
        icon.shadow = "http://www.google.com/mapfiles/shadow50.png";
137
				'url: "reseau/bazar/images/drapeau_'.$couleur_drapeau[$chaine['blv_valeur']].'.png",
135
        icon.iconSize = new GSize(16, 16);
-
 
136
        icon.shadowSize = new GSize(37, 34);
138
				size: new google.maps.Size(16,16),
137
        icon.iconAnchor = new GPoint(6, 34);
139
				anchor: new google.maps.Point(6,3)'
-
 
140
			. '};' . "\n";
138
        icon.infoWindowAnchor = new GPoint(5, 1);';
141
 
139
            $script_marker .= "\t".'point = new GLatLng('.$val['bf_latitude'].','.$val['bf_longitude'].');'."\n"
142
            $script_marker .= "\t".'point = new google.maps.LatLng('.$val['bf_latitude'].','.$val['bf_longitude'].');'."\n"
140
                ."\t".'map.addOverlay(createMarker(point, \''.'<div class="BAZ_cadre_map">'.
143
                ."\t".'createMarker(point, \''.'<div class="BAZ_cadre_map">'.
141
                preg_replace ('/\n/', '', str_replace ("\r\n", '',
144
                preg_replace ('/\n/', '', str_replace ("\r\n", '',
142
                    str_replace ("'", "\'", baz_voir_fiches(0, $tableau_id)))).'</div>\', icon));'."\n";
145
                    str_replace ("'", "\'", baz_voir_fiches(0, $tableau_id)))).'</div>\', icon, new google.maps.Size(5,1));'."\n";
143
        }   
146
        }
144
    }
147
    }
145
} else {
148
} else {
146
    $script_marker = '';
149
    $script_marker = '';
Line 147... Line 150...
147
}
150
}
148
 
151
 
149
$script = '    // Variables globales
152
$script = '    // Variables globales
150
    var map = null;
153
    var map = null;
151
    // cette fonction peut déjà être présente
154
    // cette fonction peut d�j� �tre pr�sente
152
	if (typeof(addListener) != \'function\') {
155
	if (typeof(addListener) != \'function\') {
153
		// fonction portable pour ajout de listeners
156
		// fonction portable pour ajout de listeners
154
		function addListener(element, baseName, handler)
157
		function addListener(element, baseName, handler)
Line 159... Line 162...
159
				element.attachEvent(\'on\'+baseName, handler) ;
162
				element.attachEvent(\'on\'+baseName, handler) ;
160
			}
163
			}
161
		}
164
		}
162
	}		
165
	}		
163
	addListener(window,\'load\',loadMap) ;';
166
	addListener(window,\'load\',loadMap) ;';
-
 
167
 
164
if (BAZ_GOOGLE_MAXIMISE_TAILLE) $script .= '
168
if (BAZ_GOOGLE_MAXIMISE_TAILLE) $script .= '
165
    // Pour gerer la taille  
169
    // Pour gerer la taille  
166
    var winW = 630, winH = 560;
170
    var winW = 630, winH = 560;
167
    var deltaH = 220;
171
    var deltaH = 220;
168
    var deltaW = 270;
172
    var deltaW = 270;
Line 169... Line 173...
169
 
173
 
170
    function setWinHW() {
174
    function setWinHW() {
171
	if (window.innerHeight) {
175
	if (window.innerHeight) {
172
	    winW = window.innerWidth  - deltaW;
176
			winW = window.innerWidth  - deltaW;
173
	    winH = window.innerHeight - deltaH;
177
			winH = window.innerHeight - deltaH;
174
        } else {
178
        } else {
175
	    winW = document.documentElement.offsetWidth  - 20 - deltaW;
179
			winW = document.documentElement.offsetWidth  - 20 - deltaW;
176
	    winH = document.documentElement.offsetHeight - 20 - deltaH ; 
180
			winH = document.documentElement.offsetHeight - 20 - deltaH ; 
Line 177... Line 181...
177
        }
181
        }
178
 
182
 
179
	var me = document.getElementById("map");
183
	var me = document.getElementById("map");
Line 187... Line 191...
187
	setWinHW();
191
	setWinHW();
188
	if (map)  map.checkResize();
192
	if (map)  map.checkResize();
189
    }';
193
    }';
190
$script .= '
194
$script .= '
Line 191... Line 195...
191
    
195
    
-
 
196
    function createMarker(point, chaine, icon, offset) {
-
 
197
		var marker = new google.maps.Marker({
-
 
198
			position: point,
-
 
199
			map: map,
-
 
200
			icon: icon
-
 
201
		});
-
 
202
		google.maps.event.addListener(marker, "click", function() {
-
 
203
	    	var infowindow = new google.maps.InfoWindow({
-
 
204
				content: chaine,
-
 
205
				pixelOffset: offset
-
 
206
			});
-
 
207
			infowindow.open(map, marker);
Line 192... Line -...
192
    function createMarker(point, chaine, icon) {
-
 
193
 
-
 
194
	  	var marker = new GMarker(point, icon);
-
 
195
	  	GEvent.addListener(marker, "click", function() {
-
 
196
	    	marker.openInfoWindowHtml(chaine);
208
		});
197
	  	});
209
 
198
	  	return marker;
210
	  	return marker;
199
	}
211
	}
200
    function loadMap() {';
212
    function loadMap() {';
201
if (BAZ_GOOGLE_MAXIMISE_TAILLE) $script .= '
213
if (BAZ_GOOGLE_MAXIMISE_TAILLE) $script .= '
202
    setWinHW();';
214
    setWinHW();';
203
$script .= '
215
$script .= '
-
 
216
    var optionsGoogleMapsv3 = {
-
 
217
		// On centre la carte sur le languedoc roussillon
-
 
218
		center: new google.maps.LatLng(' . BAZ_GOOGLE_CENTRE_LAT . ', ' . BAZ_GOOGLE_CENTRE_LON . '),
204
    if (GBrowserIsCompatible()) {
219
		zoom: ' . BAZ_GOOGLE_ALTITUDE . ',
-
 
220
		mapTypeId: "OSM",
-
 
221
		mapTypeControlOptions: {
-
 
222
			mapTypeIds: ["OSM", 
-
 
223
				google.maps.MapTypeId.ROADMAP,
205
      map = new GMap2(document.getElementById("map"));
224
				google.maps.MapTypeId.HYBRID,
-
 
225
				google.maps.MapTypeId.SATELLITE,
206
      map.addControl(new GSmallMapControl());
226
				google.maps.MapTypeId.TERRAIN]
207
	  map.addControl(new GMapTypeControl());
227
		},
-
 
228
		mapTypeControl: true,
208
	  map.addControl(new GScaleControl());
229
		scaleControl: true
-
 
230
	};
209
	  map.enableContinuousZoom();
231
 
-
 
232
    map = new google.maps.Map(document.getElementById("map"), optionsGoogleMapsv3);
210
	
233
	map.mapTypes.set("OSM", new google.maps.ImageMapType({
211
	  // On centre la carte sur le languedoc roussillon
234
		getTileUrl: function(coord, zoom) {
-
 
235
			return "http://osm.tela-botanica.org/tile/" + // cache de tuiles avec nginx
-
 
236
			zoom + "/" + coord.x + "/" + coord.y + ".png";
-
 
237
		},
212
	  center = new GLatLng('.BAZ_GOOGLE_CENTRE_LAT.', '.BAZ_GOOGLE_CENTRE_LON.');
238
		tileSize: new google.maps.Size(256, 256),
-
 
239
		isPng: true,
-
 
240
		alt: "OpenStreetMap",
-
 
241
		name: "OSM",
-
 
242
		maxZoom: 19
213
      map.setCenter(center, '.BAZ_GOOGLE_ALTITUDE.');
243
	}));';
214
	  map.setMapType(G_HYBRID_MAP);' ;
244
 
215
	  if (BAZ_GOOGLE_FOND_KML != '') {
245
if (BAZ_GOOGLE_FOND_KML != '') {
216
	  	$script .= 'var geoXml = new GGeoXml("'.BAZ_GOOGLE_FOND_KML.'");';
246
		$script .= 'geoXml = new google.maps.KmlLayer(' . BAZ_GOOGLE_FOND_KML . ');';
217
	  }
247
	}
218
      
248
 
219
      $script .= $script_marker;
249
	$script .= $script_marker;
220
	  if (BAZ_GOOGLE_FOND_KML != '') {
250
	if (BAZ_GOOGLE_FOND_KML != '') {
-
 
251
		$script .= 'geoXml.setMap(map);';
221
	  	$script .= 'map.addOverlay(geoXml);';
252
	}
222
	  }
-
 
223
	  $script .= '
-
 
224
   }
-
 
Line 225... Line 253...
225
	};	
253
 
226
';
254
$script .= '};';
227
 
255
 
Line 277... Line 305...
277
*
305
*
278
* Revision 1.1  2007-06-04 15:26:57  alexandre_tb
306
* Revision 1.1  2007-06-04 15:26:57  alexandre_tb
279
* version initiale
307
* version initiale
280
*
308
*
281
* +-- Fin du code ----------------------------------------------------------------------------------------+
309
* +-- Fin du code ----------------------------------------------------------------------------------------+
282
*/
310
*/
283
311