Changeset 12700 for extensions/rv_gmaps/trunk/template/page_linker.js
- Timestamp:
- Dec 7, 2011, 5:39:56 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/rv_gmaps/trunk/template/page_linker.js
r12698 r12700 1 1 function PageLinker(map, aElementId) 2 2 { 3 4 3 this._map = map; 4 this._elementId = aElementId; 5 5 6 7 6 google.maps.event.bind( this._map, "idle", this, this._regenerateUrl ); 7 google.maps.event.bind( this._map, "maptypeid_changed", this, this._regenerateUrl ); 8 8 } 9 9 10 10 PageLinker.getQueryVars = function() 11 11 { 12 13 14 15 16 17 18 19 20 21 22 12 var vars = {}; 13 var qString = unescape( top.location.search.substring(1) ); 14 if (qString.length==0) 15 return vars; 16 var pairs = qString.split(/\&/); 17 for (var i=0; i<pairs.length; i++ ) 18 { 19 var nameVal = pairs[i].split(/\=/); 20 vars[nameVal[0]] = nameVal[1]; 21 } 22 return vars; 23 23 }; 24 24 25 25 PageLinker.map2Url = function( map ) 26 26 { 27 28 29 30 31 32 33 27 var vars = PageLinker.getQueryVars(); 28 vars['ll'] = map.getCenter().toUrlValue(5); 29 vars['z'] = map.getZoom(); 30 if ( map.getMapTypeId()===google.maps.MapTypeId.ROADMAP ) 31 { if (vars['t']) vars['t']=null; } 32 else 33 vars['t']=map.getMapTypeId(); 34 34 35 36 37 38 39 40 41 42 43 44 45 35 var url = document.location.protocol+'//'+document.location.hostname+document.location.pathname; 36 var bFirst = true; 37 for (var key in vars) 38 { 39 url += bFirst ? "?" : "&"; 40 bFirst = false; 41 url += key; 42 if (vars[key]!=null) 43 url += "="+vars[key]; 44 } 45 return url; 46 46 }; 47 47 48 48 PageLinker.url2Map = function( mapOptions ) 49 49 { 50 51 52 50 var vars = PageLinker.getQueryVars(); 51 if ( !( (vars['z'] && vars['ll']) || vars['t'] ) ) 52 return false; 53 53 54 var mapType = google.maps.MapTypeId.ROADMAP; 55 if (vars['t']) 56 for (var i=0; i<map.getMapTypes().length; i++) 57 if ( map.getMapTypes()[i].getUrlArg()==vars['t'] ) 58 { 59 mapOptions.mapTypeId = map.getMapTypes()[i];break; 60 } 61 62 if (vars['z'] && vars['ll']) 63 { 64 mapOptions.zoom = parseFloat(vars['z']); 65 var ll = vars['ll'].split( "," ); 66 if (ll.length==2) 67 { 68 mapOptions.center = new google.maps.LatLng( ll[0], ll[1] ); 69 } 70 return true; 71 } 72 return false; 54 var mapType = google.maps.MapTypeId.ROADMAP; 55 if (vars['t']) 56 mapOptions.mapTypeId = vars['t']; 57 58 if (vars['z'] && vars['ll']) 59 { 60 mapOptions.zoom = parseFloat(vars['z']); 61 var ll = vars['ll'].split( "," ); 62 if (ll.length==2) 63 { 64 mapOptions.center = new google.maps.LatLng( ll[0], ll[1] ); 65 } 66 return true; 67 } 68 return false; 73 69 } 74 70
Note: See TracChangeset
for help on using the changeset viewer.