Changeset 8466 for extensions/edit_gmaps
- Timestamp:
- Jan 4, 2011, 2:24:50 PM (14 years ago)
- Location:
- extensions/edit_gmaps/admin
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/edit_gmaps/admin/admin_edit.php
r8456 r8466 229 229 $lat=$location[1]; 230 230 $lon=$location[0]; 231 $adresse ="Europe"; 232 if (date_default_timezone_get()) { 233 $adresse = date_default_timezone_get() ; 234 } 235 231 236 232 237 $template->assign( array('lat' => $lat , … … 235 240 array('LAT' => $lat, 236 241 'LON' => $lon, 242 'ADRESSE' => $adresse, 237 243 ) 238 244 ); … … 240 246 241 247 foreach ($collection as $id_0) { 248 $adresse ="Europe/Paris"; 249 if (date_default_timezone_get()) { 250 $adresse ="'" . date_default_timezone_get() ."'" ; 251 } 252 253 242 254 foreach ($images as $image) { 243 255 … … 251 263 array('LAT' => $lat, 252 264 'LON' => $lon, 265 'ADRESSE' => $adresse, 253 266 ) 254 267 ); -
extensions/edit_gmaps/admin/admin_edit.tpl
r8456 r8466 4 4 {known_script id="jquery" src=$ROOT_URL|@cat:"themes/default/js/jquery.packed.js" } 5 5 {known_script id="jquery.cluetip" src=$ROOT_URL|@cat:"themes/default/js/plugins/jquery.cluetip.packed.js"} 6 {known_script id="EDIT_RV_script" src=$EDIT_RV_ROOT|@cat:"js/JScript.js"} 7 6 7 {known_script id="jquery.ui" src=$ROOT_URL|@cat:"themes/default/js/ui/ui.core.js"} 8 {known_script id="jquery.ui.resizable" src=$ROOT_URL|@cat:"themes/default/js/ui/ui.resizable.js"} 9 {known_script id="EDIT_RV_script" src=$EDIT_RV_ROOT|@cat:"js/JScript.js"} 8 10 9 11 <script src="http://maps.google.com/maps/api/js?sensor=false&hl={$lang_info.code}" type="text/javascript"></script> … … 12 14 13 15 <style type="text/css">{literal} 16 #cadre{ background-color:Beige; border-width:5px; 17 left:0px; 18 width:500px; 19 height:500px; 20 21 } 14 22 15 #map2{ 16 left:0px; 17 width:250px 18 } 19 #mapPicture{ 20 21 width:100px ; 22 border:outset; 23 height:100px; 24 } 25 #map{ float:left; 26 top:20px; 27 right:0px; 28 width:500px; 23 #map{ 24 left:0px; 25 width:100%; 29 26 height:500px; 30 27 border:outset; … … 108 105 109 106 <input class="cluetip" title="{'search_title'|@translate}|{'hlp_line6'|@translate}." type="submit" name="submit" value="{'search_title'|@translate}" onclick="codeAddress()" /> 110 <input class="cluetip" title="{'lieu'|@translate}|{'hlp_line5'|@translate}." type="text" size="70" value="{$match}" name="match" />107 <input class="cluetip" title="{'lieu'|@translate}|{'hlp_line5'|@translate}." type="text" size="70" value="{$match}" name="match" id="match" /> 111 108 112 109 {if $lat} … … 119 116 120 117 <div id="map"></div> 118 121 119 {if not empty($Selectthumbnails)} 122 120 <ul class="thumbnails"> … … 146 144 <script type="text/javascript"> 147 145 {if isset($coordinates) && $coordinates.LAT != 100 } 148 var coordinates={ldelim} LAT:{$coordinates.LAT},LON:{$coordinates.LON} }; 146 var coordinates={ldelim} 147 LAT:{$coordinates.LAT}, 148 LON:{$coordinates.LON}, 149 ADRESSE:{$coordinates.ADRESSE} 150 }; 151 149 152 {else} 150 var coordinates={ldelim} LAT:100,LON:100 }; 153 var coordinates={ldelim} 154 LAT:100, 155 LON:100, 156 ADRESSE:{$coordinates.ADRESSE} 157 }; 151 158 {/if} 152 159 … … 184 191 </form> 185 192 186 187 <script type="text/javascript"> 188 jQuery().ready( 189 function(){ldelim} 190 jQuery('.cluetip').cluetip({ldelim} 191 width: 300,height:100, 192 splitTitle: '|' 193 } 194 ); 195 } 196 ); 197 </script> 198 193 -
extensions/edit_gmaps/admin/js/JScript.js
r8456 r8466 3 3 var geocoder; 4 4 var map; 5 var infowindow = new google.maps.InfoWindow();6 5 var marker; 7 8 function onLoad() 9 { 6 var markers = new Array; 7 var detect = navigator.userAgent.toLowerCase(); 8 9 function onLoad() { 10 var reg = new RegExp('/', "g"); 11 12 coordinates.ADRESSE= coordinates.ADRESSE.replace("/",", "); 13 14 document.getElementById("match").value = coordinates.ADRESSE; 10 15 geocoder = new google.maps.Geocoder(); 11 16 var mapElement = document.getElementById("map"); 12 17 if ( coordinates.LAT <= 90 ) { 13 LatLng = new google.maps.LatLng(coordinates.LAT, coordinates.LON); 18 19 n = coordinates.ADRESSE.indexOf("/"); 20 if (n>0) 21 zoom = 5; 22 else 14 23 zoom = 18 ; 15 }else { 16 LatLng = new google.maps.LatLng(49, 3); 17 zoom = 3; 24 } else { 25 coordinates.LAT=49 ;coordinates.LON = 3; 26 27 geocoder.geocode({ 'address': coordinates.ADRESSE }, function (results, status) { 28 /* Si l'adresse a pu être géolocalisée */ 29 if (status == google.maps.GeocoderStatus.OK) { 30 /* Récupération de sa latitude et de sa longitude */ 31 coordinates.LAT = results[0].geometry.location.lat(); 32 coordinates.LON = results[0].geometry.location.lng(); 33 LatLng = new google.maps.LatLng(coordinates.LAT, coordinates.LON); 34 updateMarkerPosition(LatLng); 35 geocodePosition(LatLng); 36 } 37 }); 38 39 zoom = 4; 18 40 } 19 41 20 42 LatLng = new google.maps.LatLng(coordinates.LAT, coordinates.LON); 43 21 44 22 45 /* … … 32 55 }; 33 56 34 varmap = new google.maps.Map( mapElement, mapOpts );57 map = new google.maps.Map( mapElement, mapOpts ); 35 58 36 59 … … 38 61 39 62 if (coordinates) 40 varmarker = new google.maps.Marker( {63 marker = new google.maps.Marker( { 41 64 position: map.getCenter(), 42 65 map: map, … … 70 93 71 94 95 72 96 // Update current position info. 73 97 updateMarkerPosition(LatLng); 74 98 geocodePosition(LatLng); 75 99 76 100 return false; 77 101 78 102 79 function blowupUrl(theUrl) { 80 var win = new Window({ 81 title: document.title, 82 url: theUrl, 83 classname: "alphacube", 84 left: 0, top: 0, 85 width: "640", height: "480", 86 minimizable: false, 87 maximizable: false, 88 draggable: false, 89 resizable: true, 90 destroyOnClose: true, 91 hideEffect: Element.hide, 92 showEffectOptions: { duration: 1.5 } 93 }) 94 win.setConstraint(true, { top: 20, left: 20, bottom: 30, right: 20 }); 95 win.maximize(); 96 win.showCenter(true, 20, 20); 97 98 } 99 100 101 102 103 104 infowindow = new google.maps.InfoWindow(); 105 106 function geocodePosition(pos) { 107 m = typeof geocoder; 108 if (m == "undefined" ) return; 109 geocoder.geocode({ 110 'latLng': pos }, 111 function(responses) { 112 if (responses && responses.length > 0) { 113 updateMarkerAddress(responses[0].formatted_address); 114 } else { 115 updateMarkerAddress('Cannot determine address at this location.'); 116 } 117 }); 118 } 119 103 104 105 106 } 107 120 108 function updateMarkerStatus(str) { 121 109 document.getElementById('markerStatus').innerHTML = str; … … 129 117 130 118 function updateMarkerAddress(str) { 131 message = str; 132 document.getElementById('markerAdress').innerHTML = str; 133 134 } 135 136 119 document.getElementById('markerAdress').innerHTML = str; 120 121 } 122 123 124 125 126 127 function geocodePosition(pos) { 128 geocoder.geocode({ 'latLng': pos }, 129 function (results, status) { 130 /* Si le géocodage inversé a réussi */ 131 if (status == google.maps.GeocoderStatus.OK) { 132 updateMarkerAddress(results[0].formatted_address); 133 } else { 134 updateMarkerAddress('Cannot determine address at this location.'); 135 } 136 }); 137 137 } 138 138 139 140 139 141 142 143 144 145 /* Initialisation de la carte */146 function initialize() {147 geocoder = new google.maps.Geocoder();148 var latlng = new google.maps.LatLng(40.730885, -73.997383);149 var myOptions = {150 zoom: 8,151 center: latlng,152 mapTypeId: 'roadmap'153 }154 map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);155 }156 157 158 140 /* Fonction de géocodage déclenchée en cliquant surle bouton "Geocoder" */ 159 141 function codeAddress() { 160 142 /* Récupération de la valeur de l'adresse saisie */ 143 144 /* Appel au service de geocodage avec l'adresse en paramètre */ 145 if (typeof map == "undefined") onLoad(); 146 161 147 var address = document.getElementById("match").value; 162 /* Appel au service de geocodage avec l'adresse en paramètre */ 163 geocoder.geocode({ 'address': address }, function (results, status) { 164 /* Si l'adresse a pu être géolocalisée */ 165 if (status == google.maps.GeocoderStatus.OK) { 166 /* Récupération de sa latitude et de sa longitude */ 167 document.Envoie.lat.value = results[0].geometry.location.lat(); 168 document.Envoie.lon.value = results[0].geometry.location.lng(); 169 map.setCenter(results[0].geometry.location); 170 /* Affichage du marker */ 171 var marker = new google.maps.Marker({ 172 map: map, 173 position: results[0].geometry.location 174 }); 175 /* Permet de supprimer le marker précédemment affiché */ 176 markers.push(marker); 177 if (markers.length > 1) 178 markers[(i - 1)].setMap(null); 179 i++; 180 } else { 181 alert("Le geocodage n\'a pu etre effectue pour la raison suivante: " + status); 182 } 148 149 geocoder.geocode({ 'address': address }, function (results, status) { 150 /* Si l'adresse a pu être géolocalisée */ 151 if (status == google.maps.GeocoderStatus.OK) { 152 /* Récupération de sa latitude et de sa longitude */ 153 coordinates.LAT = results[0].geometry.location.lat(); 154 coordinates.LON = results[0].geometry.location.lng(); 155 onLoad(); 156 157 158 159 } else { 160 alert("Cannot determine location at this adress.: " + status); 161 } 162 }); 163 } 164 165 166 167 168 jQuery().ready(function () { 169 170 171 jQuery('.cluetip').cluetip({ 172 width: 300, height: 100, 173 splitTitle: '|' 174 } 175 ); 176 177 // Resize possible 178 jQuery("#cadre").resizable({ 179 handles: "all", 180 animate: true, 181 animateDuration: "slow", 182 animateEasing: "swing", 183 preventDefault: true, 184 preserveCursor: true, 185 autoHide: true, 186 ghost: true 183 187 }); 184 } 185 186 187 188 /* Fonction de géocodage inversé */ 189 function codeLatLng() { 190 var lat = parseFloat(document.Envoie.lat.value); 191 var lng = parseFloat(document.Envoie.lon.value); 192 var latlng = new google.maps.LatLng(lat, lng); 193 194 geocoder.geocode({ 'latLng': latlng }, 195 function(results, status) { 196 /* Si le géocodage inversé a réussi */ 197 if (status == google.maps.GeocoderStatus.OK) { 198 if (results[1]) { 199 map.setZoom(11); 200 marker = new google.maps.Marker({ 201 position: latlng, 202 map: map 203 }); 204 /* Affichage de l'infowindow sur le marker avec l'adresse récupérée */ 205 infowindow.setContent(results[1].formatted_address); 206 infowindow.open(map, marker); 207 } 208 } else { 209 alert("Le geocodage a echoue pour la raion suivante : " + status); 210 } 211 }); 212 } 213 188 189 jQuery("#match").keydown(function (e) { 190 191 // e.target pour FireFox 192 // event.srcElement pour IE 193 var Obj = e ? e.target : event.srcElement; 194 if (Obj.tagName != "INPUT") return false; 195 196 197 var Code = e.keyCode || e.which; 198 if (Code != 13) return true; 199 coordinates.ADRESSE= document.getElementById("match").value ; 200 codeAddress(); 201 return false; 202 }); 203 204 205 }); 206
Note: See TracChangeset
for help on using the changeset viewer.