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: bazar.fonct.google.php,v 1.1 2007-06-04 15:24:00 alexandre_tb Exp $/*** Formulaire** Les fonctions et script specifique a un carto google**@package bazar//Auteur original :*@author Aleandre GRANIER <alexandre@tela-botanica.org>*@copyright Tela-Botanica 2000-2007*@version $Revision: 1.1 $// +------------------------------------------------------------------------------------------------------+*/$script = '// Variables globalesvar map = null;var geocoder = null;var marker = null;var flat = null;var flon = null;// cette fonction peut d�j� �tre pr�sente// fonction portable pour ajout de listenersfunction addListener(element, baseName, handler){if (element.addEventListener) {element.addEventListener(baseName, handler, false) ;} else if (element.attachEvent) {element.attachEvent(\'on\'+baseName, handler) ;}}addListener(window,\'load\',loadMap) ;function loadMap() {flat = document.getElementById("latitude");flon = document.getElementById("longitude");var optionsGoogleMapsv3 = {// On centre la carte sur le languedoc roussilloncenter: new google.maps.LatLng(43.84245116699036, 3.768310546875),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 nginxzoom + "/" + coord.x + "/" + coord.y + ".png";},tileSize: new google.maps.Size(256, 256),isPng: true,alt: "OpenStreetMap",name: "OSM",maxZoom: 19}));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 fondgoogle.maps.event.addListener( map, \'maptypeid_changed\', function() {if (map.getMapTypeId() == "OSM") {$("#origine-donnees").show();} else {$("#origine-donnees").hide();}});google.maps.event.addListener(map, "click", function(event) {if (marker != null) {marker.setMap(null);marker = null;}// On ajoute un marqueur a l endroit du clic et on place les coordonnees dans les champs latitude et longitudemarker = event.overlay;marker = new google.maps.Marker({position: event.latLng,draggable: true,map: map});google.maps.event.addListener(marker, "dragend", function () {coordMarker = marker.getPosition() ;flat.value = coordMarker.lat();flon.value = coordMarker.lng();});setLatLonForm(marker);});';if ($formtemplate->getElementValue ('latitude') != '' && $formtemplate->getElementValue('longitude') != '') {$script .= 'point = new google.maps.LatLng('.$formtemplate->getElementValue('latitude').', '.$formtemplate->getElementValue('longitude').');marker = new google.maps.Marker({position: point,draggable: true,map: map});google.maps.event.addListener(marker, "dragend", function () {coordMarker = marker.getPosition() ;flat.value = coordMarker.lat();flon.value = coordMarker.lng();});map.setCenter(point);' ;}$script .= 'geocoder = new google.maps.Geocoder();};function showAddress() {var adresse = document.getElementById("bf_adresse").value;if (adresse == "") {return false;}var ville = "";if (document.getElementById("bf_ville")) {ville = document.getElementById("bf_ville").value ;}var cp = document.getElementById("bf_cp_lieu_evenement").value ;var pays;if (document.getElementById("liste30")) {var selectIndex = document.getElementById("liste30").selectedIndex;pays = document.getElementById("liste30").options[selectIndex].text ;} else {pays = document.getElementById("bf_pays").value;}var address = adresse + \' \' + \' \' + cp + \' \' + ville + \' \' +pays ;if (address && geocoder) {geocoder.geocode({address: address}, function(result, status) {if (status != google.maps.GeocoderStatus.OK) {alert(address + " not found");} else {map.fitBounds(result[0].geometry.viewport);marker = new google.maps.Marker({position: result[0].geometry.location,draggable: true,map: map});google.maps.event.addListener(marker, "dragend", function () {coordMarker = marker.getPosition() ;flat.value = coordMarker.lat();flon.value = coordMarker.lng();});setLatLonForm(marker);//marker.openInfoWindowHtml(address+ "'.BAZ_GOOGLE_MSG.'");}});}}function setLatLonForm(marker) {coordMarker = marker.getPosition() ;flat.value = coordMarker.lat();flon.value = coordMarker.lng();}';/** +--Fin du code ----------------------------------------------------------------------------------------+** $Log: not supported by cvs2svn $* +-- Fin du code ----------------------------------------------------------------------------------------+*/