Ignore:
Timestamp:
Dec 7, 2011, 5:39:56 AM (12 years ago)
Author:
rvelices
Message:

rv_gmaps towards full maps api v3 migration

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/rv_gmaps/trunk/template/page_linker.js

    r12698 r12700  
    11function PageLinker(map, aElementId)
    22{
    3   this._map = map;
    4   this._elementId = aElementId;
     3        this._map = map;
     4        this._elementId = aElementId;
    55
    6   google.maps.event.bind( this._map, "idle", this, this._regenerateUrl );
    7   google.maps.event.bind( this._map, "maptypeid_changed", this, this._regenerateUrl );
     6        google.maps.event.bind( this._map, "idle", this, this._regenerateUrl );
     7        google.maps.event.bind( this._map, "maptypeid_changed", this, this._regenerateUrl );
    88}
    99
    1010PageLinker.getQueryVars = function()
    1111{
    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;
     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;
    2323};
    2424
    2525PageLinker.map2Url = function( map )
    2626{
    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();
     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();
    3434
    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;
     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;
    4646};
    4747
    4848PageLinker.url2Map = function( mapOptions )
    4949{
    50   var vars = PageLinker.getQueryVars();
    51   if ( !( (vars['z'] && vars['ll']) || vars['t'] ) )
    52     return false;
     50        var vars = PageLinker.getQueryVars();
     51        if ( !( (vars['z'] && vars['ll']) || vars['t'] ) )
     52                return false;
    5353
    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;
    7369}
    7470
Note: See TracChangeset for help on using the changeset viewer.