2013-06-27 5 views
3

Я пытаюсь переключить отображение слоя CartoDb на карте листов. Я был в состоянии загрузить слой, используя этот код:Добавление слоя CartoDb в управление листовым слоем

 var layerUrl = 'http://ronh-aagis.cartodb.com/api/v1/viz/rotaryclubs_geo2/viz.json'; 

     var clubPts = cartodb.createLayer(map, layerUrl, { 
      // The ST_AsGeoJSON(ST_Simplify(the_geom,.01)) as geometry will store a simplified GeoJSON representation of each polygon as an attribute we can pick up on hover 

      query: 'select *, ST_AsGeoJSON(the_geom) as geometry from {{table_name}}', 

      interactivity: 'cartodb_id, geometry' 
     }) 

          .on('done', function(layer) { 
           map.addLayer(layer); 

          layer.on('featureOver', function(e, pos, latlng, data) { 
         $('.leaflet-container').css('cursor','pointer'); 

         if (data.cartodb_id != point.cartodb_id) { 
          drawHoverPoint(data); 
         } 
         cartodb.log.log(pos, data); 
        }); 

        layer.on('featureOut', function(e, pos, latlng, data) { 
         $('.leaflet-container').css('cursor','default') 
         removePoint(); 
        }); 

        layer.on('error', function(err) { 
         cartodb.log.log('error: ' + err); 
        }); 

       }).on('error', function() { 
        cartodb.log.log("some error occurred"); 
       }); 

Но когда я пытаюсь добавить этот слой на уровне управления:

 var clubs = new L.LayerGroup(); 
     clubs.addLayer(clubPts); 

я получаю «неперехваченный TypeError: Объект # имеет ошибка метода «onAdd».

Любые мысли? Благодаря!

+1

Вы пытаетесь загрузить * оба * 'leaflet.js' и' cartodb.js' в свой HTML-заголовок? Это похоже на ошибку, которую вы получите, если сначала загрузите «cartodb.js», а затем переопределите ее с помощью 'leaflet.js'. –

ответ

2

Отличный способ уменьшить сложность и быстро получить скорость здесь будет использовать уже построенный плагин Leaflet, такой как Vector Layers, который уже имеет встроенную поддержку CartoDB. Взгляните на демо здесь. http://jasonsanford.github.io/leaflet-vector-layers/demos/cartodb/

 Смежные вопросы

  • Нет связанных вопросов^_^