Subversion Repositories Applications.papyrus

Rev

Rev 1988 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1461 alexandre_ 1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */
3
// +------------------------------------------------------------------------------------------------------+
4
// | PHP version 4.1                                                                                      |
5
// +------------------------------------------------------------------------------------------------------+
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
7
// +------------------------------------------------------------------------------------------------------+
8
// | This library is free software; you can redistribute it and/or                                        |
9
// | modify it under the terms of the GNU Lesser General Public                                           |
10
// | License as published by the Free Software Foundation; either                                         |
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
12
// |                                                                                                      |
13
// | This library is distributed in the hope that it will be useful,                                      |
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
16
// | Lesser General Public License for more details.                                                      |
17
// |                                                                                                      |
18
// | You should have received a copy of the GNU Lesser General Public                                     |
19
// | License along with this library; if not, write to the Free Software                                  |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
21
// +------------------------------------------------------------------------------------------------------+
1539 alexandre_ 22
// CVS : $Id: formulaire.fonct.google.php,v 1.3 2007-08-27 12:20:06 alexandre_tb Exp $
1461 alexandre_ 23
/**
24
* Formulaire
25
*
26
* Les fonctions et script specifique a un carto google
27
*
28
*@package api/formulaire
29
//Auteur original :
30
*@author        Aleandre GRANIER <alexandre@tela-botanica.org>
31
*@copyright     Tela-Botanica 2000-2007
1539 alexandre_ 32
*@version       $Revision: 1.3 $
1461 alexandre_ 33
// +------------------------------------------------------------------------------------------------------+
34
*/
35
 
36
$script = '
37
    // Variables globales
38
    var map = null;
39
	var geocoder = null;
1989 jpm 40
	addListener(window,\'load\',loadMap) ;
1461 alexandre_ 41
	var lat = document.getElementById("latitude");
42
    var lon = document.getElementById("longitude");
43
 
44
    function load() {
45
    if (GBrowserIsCompatible()) {
1510 alexandre_ 46
 
47
      map = new GMap2(document.getElementById("map"), G_HYBRID_MAP);
48
 
1461 alexandre_ 49
      map.addControl(new GSmallMapControl());
50
	  map.addControl(new GMapTypeControl());
51
	  map.addControl(new GScaleControl());
52
	  map.enableContinuousZoom();
53
 
54
	  // On centre la carte sur le languedoc roussillon
55
	  center = new GLatLng(43.84245116699036, 3.768310546875);
1510 alexandre_ 56
      map.setCenter(center, 7);map.setMapType(G_HYBRID_MAP);
1461 alexandre_ 57
	  //marker = new GMarker(center, {draggable: true}) ;
58
      GEvent.addListener(map, "click", function(marker, point) {
59
	    if (marker) {
60
	      map.removeOverlay(marker);
61
	      var lat = document.getElementById("latitude");
62
          var lon = document.getElementById("longitude");
63
	      lat.value = "";
64
          lon.value = "";
65
	    } else {
66
	      // On ajoute un marqueur a l endroit du clic et on place les coordonnees dans les champs latitude et longitude
67
	      marker = new GMarker(point, {draggable: true}) ;
68
	      GEvent.addListener(marker, "dragend", function () {
69
            coordMarker = marker.getPoint() ;
70
            var lat = document.getElementById("latitude");
71
            var lon = document.getElementById("longitude");
72
            lat.value = coordMarker.lat();
73
            lon.value = coordMarker.lng();
74
          });
75
          map.addOverlay(marker);
76
          setLatLonForm(marker);
77
	    }
78
    });' ;
79
	if ($formtemplate->getElementValue ('latitude') != '' && $formtemplate->getElementValue('longitude') != '') {
80
		$script .= '
81
				point = new GLatLng('.$formtemplate->getElementValue('latitude').', '.$formtemplate->getElementValue('longitude').');
82
				marker = new GMarker(point, {draggable: true});
83
				map.addOverlay(marker);' ;
84
	}
85
    $script .= 'geocoder = new GClientGeocoder();
86
  }
87
};
88
function showAddress() {
89
  var adresse = document.getElementById("bf_adresse").value ;
1539 alexandre_ 90
  if (document.getElementById("bf_ville")) {
91
  	var ville = document.getElementById("bf_ville").value ;
92
  } else {
93
  	var ville = "";
94
  }
1461 alexandre_ 95
  var cp = document.getElementById("bf_cp_lieu_evenement").value ;
1510 alexandre_ 96
  if (document.getElementById("liste30")) {
97
  	var selectIndex = document.getElementById("liste30").selectedIndex;
98
  	var pays = document.getElementById("liste30").options[selectIndex].text ;
99
  } else {
100
  	var pays = document.getElementById("bf_pays").value;
101
  }
1461 alexandre_ 102
  var address = adresse + \' \' + \' \' + cp + \' \' + ville + \' \' +pays ;
103
  if (geocoder) {
104
    geocoder.getLatLng(
105
      address,
106
      function(point) {
107
        if (!point) {
108
          alert(address + " not found");
109
        } else {
110
          map.setCenter(point, 13);
111
          var marker = new GMarker(point, {draggable: true});
112
          GEvent.addListener(marker, "dragend", function () {
113
  coordMarker = marker.getPoint() ;
114
  var lat = document.getElementById("latitude");
115
  var lon = document.getElementById("longitude");
116
  lat.value = coordMarker.lat();
117
  lon.value = coordMarker.lng();
118
});
119
 
120
          map.addOverlay(marker);
121
          setLatLonForm(marker)
122
          marker.openInfoWindowHtml(address+ "'.BAZ_GOOGLE_MSG.'");
123
        }
124
      }
125
    );
126
  }
127
}
128
function setLatLonForm(marker) {
129
  coordMarker = marker.getPoint() ;
130
  var lat = document.getElementById("latitude");
131
  var lon = document.getElementById("longitude");
132
  lat.value = coordMarker.lat();
133
  lon.value = coordMarker.lng();
134
}
135
';
136
 
137
/*
138
* +--Fin du code ----------------------------------------------------------------------------------------+
139
*
140
* $Log: not supported by cvs2svn $
1539 alexandre_ 141
* Revision 1.2  2007-07-04 11:52:55  alexandre_tb
142
* fonctionne mais en cours de développement
143
*
1510 alexandre_ 144
* Revision 1.1  2007-06-25 09:52:36  alexandre_tb
145
* version intiale -- en cours
1461 alexandre_ 146
*
1510 alexandre_ 147
*
1461 alexandre_ 148
* +-- Fin du code ----------------------------------------------------------------------------------------+
149
*/