Я пытаюсь переключить отображение слоя 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».
Любые мысли? Благодаря!
Вы пытаетесь загрузить * оба * 'leaflet.js' и' cartodb.js' в свой HTML-заголовок? Это похоже на ошибку, которую вы получите, если сначала загрузите «cartodb.js», а затем переопределите ее с помощью 'leaflet.js'. –