Вход Регистрация
Файл: module-assets/admin/gmaps/lib/gmaps.static.js
Строк: 147
<?php
GMaps
.prototype.toImage = function(options) {
  var 
options options || {},
      
static_map_options = {};

  
static_map_options['size'] = options['size'] || [this.el.clientWidththis.el.clientHeight];
  
static_map_options['lat'] = this.getCenter().lat();
  
static_map_options['lng'] = this.getCenter().lng();

  if (
this.markers.length 0) {
    
static_map_options['markers'] = [];
    
    for (var 
0this.markers.lengthi++) {
      
static_map_options['markers'].push({
        
latthis.markers[i].getPosition().lat(),
        
lngthis.markers[i].getPosition().lng()
      });
    }
  }

  if (
this.polylines.length 0) {
    var 
polyline this.polylines[0];
    
    
static_map_options['polyline'] = {};
    
static_map_options['polyline']['path'] = google.maps.geometry.encoding.encodePath(polyline.getPath());
    
static_map_options['polyline']['strokeColor'] = polyline.strokeColor
    static_map_options
['polyline']['strokeOpacity'] = polyline.strokeOpacity
    static_map_options
['polyline']['strokeWeight'] = polyline.strokeWeight
  
}

  return 
GMaps.staticMapURL(static_map_options);
};

GMaps.staticMapURL = function(options){
  var 
parameters = [],
      
data,
      
static_root 'http://maps.googleapis.com/maps/api/staticmap';

  if (
options.url) {
    
static_root options.url;
    
delete options.url;
  }

  
static_root += '?';

  var 
markers options.markers;
  
  
delete options.markers;

  if (!
markers && options.marker) {
    
markers = [options.marker];
    
delete options.marker;
  }

  var 
polyline options.polyline;
  
delete options.polyline;

  
/** Map options **/
  
if (options.center) {
    
parameters.push('center=' options.center);
    
delete options.center;
  }
  else if (
options.address) {
    
parameters.push('center=' options.address);
    
delete options.address;
  }
  else if (
options.lat) {
    
parameters.push(['center='options.lat','options.lng].join(''));
    
delete options.lat;
    
delete options.lng;
  }
  else if (
options.visible) {
    var 
visible encodeURI(options.visible.join('|'));
    
parameters.push('visible=' visible);
  }

  var 
size options.size;
  if (
size) {
    if (
size.join) {
      
size size.join('x');
    }
    
delete options.size;
  }
  else {
    
size '630x300';
  }
  
parameters.push('size=' size);

  if (!
options.zoom) {
    
options.zoom 15;
  }

  var 
sensor options.hasOwnProperty('sensor') ? !!options.sensor true;
  
delete options.sensor;
  
parameters.push('sensor=' sensor);

  for (var 
param in options) {
    if (
options.hasOwnProperty(param)) {
      
parameters.push(param '=' options[param]);
    }
  }

  
/** Markers **/
  
if (markers) {
    var 
markerloc;

    for (var 
i=0data=markers[i]; i++) {
      
marker = [];

      if (
data.size && data.size !== 'normal') {
        
marker.push('size:' data.size);
      }
      else if (
data.icon) {
        
marker.push('icon:' encodeURI(data.icon));
      }

      if (
data.color) {
        
marker.push('color:' data.color.replace('#''0x'));
      }

      if (
data.label) {
        
marker.push('label:' data.label[0].toUpperCase());
      }

      
loc = (data.address data.address data.lat ',' data.lng);

      if (
marker.length || === 0) {
        
marker.push(loc);
        
marker marker.join('|');
        
parameters.push('markers=' encodeURI(marker));
      }
      
// New marker without styles
      
else {
        
marker parameters.pop() + encodeURI('|' loc);
        
parameters.push(marker);
      }
    }
  }

  
/** Polylines **/
  
function parseColor(coloropacity) {
    if (
color[0] === '#'){
      
color color.replace('#''0x');

      if (
opacity) {
        
opacity parseFloat(opacity);
        
opacity Math.min(1Math.max(opacity0));
        if (
opacity === 0) {
          return 
'0x00000000';
        }
        
opacity = (opacity 255).toString(16);
        if (
opacity.length === 1) {
          
opacity += opacity;
        }

        
color color.slice(0,8) + opacity;
      }
    }
    return 
color;
  }

  if (
polyline) {
    
data polyline;
    
polyline = [];

    if (
data.strokeWeight) {
      
polyline.push('weight:' parseInt(data.strokeWeight10));
    }

    if (
data.strokeColor) {
      var 
color parseColor(data.strokeColordata.strokeOpacity);
      
polyline.push('color:' color);
    }

    if (
data.fillColor) {
      var 
fillcolor parseColor(data.fillColordata.fillOpacity);
      
polyline.push('fillcolor:' fillcolor);
    }

    var 
path data.path;
    if (
path.join) {
      for (var 
j=0pospos=path[j]; j++) {
        
polyline.push(pos.join(','));
      }
    }
    else {
      
polyline.push('enc:' path);
    }

    
polyline polyline.join('|');
    
parameters.push('path=' encodeURI(polyline));
  }

  
parameters parameters.join('&');
  return 
static_root parameters;
};
?>
Онлайн: 0
Реклама