Вход Регистрация
Файл: module-assets/admin/gmaps/lib/gmaps.layers.js
Строк: 182
<?php
GMaps
.prototype.getFromFusionTables = function(options) {
  var 
events options.events;

  
delete options.events;

  var 
fusion_tables_options options,
      
layer = new google.maps.FusionTablesLayer(fusion_tables_options);

  for (var 
ev in events) {
    (function(
objectname) {
      
google.maps.event.addListener(objectname, function(e) {
        
events[name].apply(this, [e]);
      });
    })(
layerev);
  }

  
this.layers.push(layer);

  return 
layer;
};

GMaps.prototype.loadFromFusionTables = function(options) {
  var 
layer this.getFromFusionTables(options);
  
layer.setMap(this.map);

  return 
layer;
};

GMaps.prototype.getFromKML = function(options) {
  var 
url options.url,
      
events options.events;

  
delete options.url;
  
delete options.events;

  var 
kml_options options,
      
layer = new google.maps.KmlLayer(urlkml_options);

  for (var 
ev in events) {
    (function(
objectname) {
      
google.maps.event.addListener(objectname, function(e) {
        
events[name].apply(this, [e]);
      });
    })(
layerev);
  }

  
this.layers.push(layer);

  return 
layer;
};

GMaps.prototype.loadFromKML = function(options) {
  var 
layer this.getFromKML(options);
  
layer.setMap(this.map);

  return 
layer;
};

GMaps.prototype.addLayer = function(layerNameoptions) {
  
//var default_layers = ['weather', 'clouds', 'traffic', 'transit', 'bicycling', 'panoramio', 'places'];
  
options options || {};
  var 
layer;

  switch(
layerName) {
    case 
'weather'this.singleLayers.weather layer = new google.maps.weather.WeatherLayer();
      break;
    case 
'clouds'this.singleLayers.clouds layer = new google.maps.weather.CloudLayer();
      break;
    case 
'traffic'this.singleLayers.traffic layer = new google.maps.TrafficLayer();
      break;
    case 
'transit'this.singleLayers.transit layer = new google.maps.TransitLayer();
      break;
    case 
'bicycling'this.singleLayers.bicycling layer = new google.maps.BicyclingLayer();
      break;
    case 
'panoramio':
        
this.singleLayers.panoramio layer = new google.maps.panoramio.PanoramioLayer();
        
layer.setTag(options.filter);
        
delete options.filter;

        
//click event
        
if (options.click) {
          
google.maps.event.addListener(layer'click', function(event) {
            
options.click(event);
            
delete options.click;
          });
        }
      break;
      case 
'places':
        
this.singleLayers.places layer = new google.maps.places.PlacesService(this.map);

        
//search and  nearbySearch callback, Both are the same
        
if (options.search || options.nearbySearch) {
          var 
placeSearchRequest  = {
            
bounds options.bounds || null,
            
keyword options.keyword || null,
            
location options.location || null,
            
name options.name || null,
            
radius options.radius || null,
            
rankBy options.rankBy || null,
            
types options.types || null
          
};

          if (
options.search) {
            
layer.search(placeSearchRequestoptions.search);
          }

          if (
options.nearbySearch) {
            
layer.nearbySearch(placeSearchRequestoptions.nearbySearch);
          }
        }

        
//textSearch callback
        
if (options.textSearch) {
          var 
textSearchRequest  = {
            
bounds options.bounds || null,
            
location options.location || null,
            
query options.query || null,
            
radius options.radius || null
          
};

          
layer.textSearch(textSearchRequestoptions.textSearch);
        }
      break;
  }

  if (
layer !== undefined) {
    if (
typeof layer.setOptions == 'function') {
      
layer.setOptions(options);
    }
    if (
typeof layer.setMap == 'function') {
      
layer.setMap(this.map);
    }

    return 
layer;
  }
};

GMaps.prototype.removeLayer = function(layer) {
  if (
typeof(layer) == "string" && this.singleLayers[layer] !== undefined) {
     
this.singleLayers[layer].setMap(null);

     
delete this.singleLayers[layer];
  }
  else {
    for (var 
0this.layers.lengthi++) {
      if (
this.layers[i] === layer) {
        
this.layers[i].setMap(null);
        
this.layers.splice(i1);

        break;
      }
    }
  }
};
?>
Онлайн: 0
Реклама