Subversion Repositories Applications.bazar

Rev

Rev 253 | Rev 471 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 253 Rev 468
Line 35... Line 35...
35
 
35
 
36
$script = '
36
$script = '
37
    // Variables globales
37
// Variables globales
38
    var map = null;
38
    var map = null;
-
 
39
	var geocoder = null;
39
	var geocoder = null;
40
	var marker = null;
40
	var lat = document.getElementById("latitude");
41
	var flat = null;
41
    var lon = document.getElementById("longitude");
42
    var flon = null;
-
 
43
 
-
 
44
 // cette fonction peut d�j� �tre pr�sente
-
 
45
                // fonction portable pour ajout de listeners
42
    
46
                function addListener(element, baseName, handler)
43
    function load() {
47
                {
-
 
48
                        if (element.addEventListener) {
44
    if (GBrowserIsCompatible()) {
49
                                element.addEventListener(baseName, handler, false) ;
-
 
50
                        } else if (element.attachEvent) {
-
 
51
                                element.attachEvent(\'on\'+baseName, handler) ;
-
 
52
                        }
45
      map = new GMap2(document.getElementById("map"));
53
                }
46
      map.addControl(new GSmallMapControl());
54
    addListener(window,\'load\',loadMap) ;
47
	  map.addControl(new GMapTypeControl());
55
    function loadMap() {
48
	  map.addControl(new GScaleControl());
56
		flat = document.getElementById("latitude");
Line -... Line 57...
-
 
57
	    flon = document.getElementById("longitude");
49
	  map.enableContinuousZoom();
58
 
50
	
59
		var optionsGoogleMapsv3 = {
51
	  // On centre la carte sur le languedoc roussillon
60
			// On centre la carte sur le languedoc roussillon
52
	  center = new GLatLng(43.84245116699036, 3.768310546875);
61
			center: new google.maps.LatLng(43.84245116699036, 3.768310546875),
53
      map.setCenter(center, 7);
-
 
54
	  //marker = new GMarker(center, {draggable: true}) ;
62
			zoom: 7,
55
      GEvent.addListener(map, "click", function(marker, point) {
63
			mapTypeId: google.maps.MapTypeId.G_HYBRID_MAP,
-
 
64
			mapTypeControl: true,
56
	    if (marker) {
65
			scaleControl: true
-
 
66
		};
57
	      map.removeOverlay(marker);
67
	    map = new google.maps.Map(document.getElementById("map"), optionsGoogleMapsv3);
58
	      var lat = document.getElementById("latitude");
68
 
59
          var lon = document.getElementById("longitude");
69
	    google.maps.event.addListener(map, "click", function(event) {
-
 
70
			if (marker != null) {
60
	      lat.value = "";
71
				marker.setMap(null);
61
          lon.value = "";
72
				marker = null;
-
 
73
	    	}
62
	    } else {
74
			// On ajoute un marqueur a l endroit du clic et on place les coordonnees dans les champs latitude et longitude
-
 
75
			marker = event.overlay;
-
 
76
	      	marker = new google.maps.Marker({
-
 
77
				position: event.latLng,
-
 
78
				draggable: true,
63
	      // On ajoute un marqueur a l endroit du clic et on place les coordonnees dans les champs latitude et longitude
79
				map: map
64
	      marker = new GMarker(point, {draggable: true}) ;
80
			});
65
	      GEvent.addListener(marker, "dragend", function () {
-
 
66
            coordMarker = marker.getPoint() ;
-
 
67
            var lat = document.getElementById("latitude");
81
	      	google.maps.event.addListener(marker, "dragend", function () {
68
            var lon = document.getElementById("longitude");
82
            	coordMarker = marker.getPosition() ;
69
            lat.value = coordMarker.lat();
83
            	flat.value = coordMarker.lat();
70
            lon.value = coordMarker.lng();
-
 
71
          });
84
            	flon.value = coordMarker.lng();
72
          map.addOverlay(marker);
-
 
73
          setLatLonForm(marker);
85
          	});
74
	    }
86
          	setLatLonForm(marker);
75
    });' ;
87
    	});';
76
	if ($formtemplate->getElementValue ('latitude') != '' && $formtemplate->getElementValue('longitude') != '') {
88
		if ($formtemplate->getElementValue ('latitude') != '' && $formtemplate->getElementValue('longitude') != '') {
77
		$script .= '
89
			$script .= '
-
 
90
				point = new google.maps.LatLng('.$formtemplate->getElementValue('latitude').', '.$formtemplate->getElementValue('longitude').');
78
				point = new GLatLng('.$formtemplate->getElementValue('latitude').', '.$formtemplate->getElementValue('longitude').');
91
				marker = new google.maps.Marker({
-
 
92
					position: point,
79
				marker = new GMarker(point, {draggable: true});
93
					draggable: true,
-
 
94
					map: map
80
				map.addOverlay(marker);' ;
95
				});
-
 
96
		      	google.maps.event.addListener(marker, "dragend", function () {
-
 
97
	            	coordMarker = marker.getPosition() ;
-
 
98
	            	flat.value = coordMarker.lat();
-
 
99
	            	flon.value = coordMarker.lng();
-
 
100
	          	});
81
	} 
101
			map.setCenter(point);
-
 
102
			' ;
82
    $script .= 'geocoder = new GClientGeocoder();
103
		} 
83
  }
104
	    $script .= 'geocoder = new google.maps.Geocoder();
84
};
105
	};
-
 
106
	function showAddress() {
-
 
107
		var adresse = document.getElementById("bf_adresse").value;
85
function showAddress() {
108
    	var ville = "";
-
 
109
	  	if (document.getElementById("bf_ville")) {
86
  var adresse = document.getElementById("bf_adresse").value ;
110
	  		ville = document.getElementById("bf_ville").value ;
-
 
111
	  	}
-
 
112
	  	var cp = document.getElementById("bf_cp_lieu_evenement").value ;
87
  var ville = document.getElementById("bf_ville").value ;
113
	    var pays;
88
  var cp = document.getElementById("bf_cp_lieu_evenement").value ;
114
	  	if (document.getElementById("liste30")) {
-
 
115
	  		var selectIndex = document.getElementById("liste30").selectedIndex;
-
 
116
	  		pays = document.getElementById("liste30").options[selectIndex].text ;
89
  var selectIndex = document.getElementById("liste30").selectedIndex;
117
	  	} else {
90
  var pays = document.getElementById("liste30").options[selectIndex].text ;
118
	  		pays = document.getElementById("bf_pays").value;
91
  
119
	  	}
92
  var address = adresse + \' \' + \' \' + cp + \' \' + ville + \' \' +pays ;
120
	  	var address = adresse + \' \' + \' \' + cp + \' \' + ville + \' \' +pays ;
93
  if (geocoder) {
121
	  	if (geocoder) {
94
    geocoder.getLatLng(
122
	    	geocoder.geocode({
95
      address,
123
	    		address: address
96
      function(point) {
124
	    	}, function(result, status) {
97
        if (!point) {
125
	    		 if (status != google.maps.GeocoderStatus.OK) {
-
 
126
    				alert(address + " not found");
-
 
127
			} else {
98
          alert(address + " not found");
128
			marker.setMap(null);
-
 
129
			marker = null;
99
        } else {
130
			//map.setCenter(point, 13);
-
 
131
			map.fitBounds(result[0].geometry.viewport);
-
 
132
			marker = new google.maps.Marker({
-
 
133
				position: result[0].geometry.location,
-
 
134
				draggable: true,
100
          map.setCenter(point, 13);
135
				map: map
101
          var marker = new GMarker(point, {draggable: true});
136
				});
102
          GEvent.addListener(marker, "dragend", function () {
-
 
103
  coordMarker = marker.getPoint() ;
-
 
104
  var lat = document.getElementById("latitude");
137
			google.maps.event.addListener(marker, "dragend", function () {
105
  var lon = document.getElementById("longitude");
138
					coordMarker = marker.getPosition() ;
106
  lat.value = coordMarker.lat();
139
					flat.value = coordMarker.lat();
107
  lon.value = coordMarker.lng();
-
 
108
});
-
 
109
 
140
					flon.value = coordMarker.lng();
110
          map.addOverlay(marker);
141
				});
111
          setLatLonForm(marker)
-
 
112
          marker.openInfoWindowHtml(address+ "'.BAZ_GOOGLE_MSG.'");
142
			setLatLonForm(marker);
113
        }
143
			//marker.openInfoWindowHtml(address+ "'.BAZ_GOOGLE_MSG.'");
114
      }
144
		}
115
    );
145
      		});
116
  }
146
  		}
117
}
147
	}
118
function setLatLonForm(marker) {
-
 
119
  coordMarker = marker.getPoint() ;
-
 
120
  var lat = document.getElementById("latitude");
148
	function setLatLonForm(marker) {
121
  var lon = document.getElementById("longitude");
149
  		coordMarker = marker.getPosition() ;
122
  lat.value = coordMarker.lat();
150
  		flat.value = coordMarker.lat();
123
  lon.value = coordMarker.lng();
151
  		flon.value = coordMarker.lng();
Line -... Line 152...
-
 
152
	}
-
 
153
';
124
}
154
 
125
';
155
 
126
 
156
 
127
/*
157
/*
128
* +--Fin du code ----------------------------------------------------------------------------------------+
158
* +--Fin du code ----------------------------------------------------------------------------------------+