Mais

Como adiciono uma camada CartoDB a um mapa MapBox?

Como adiciono uma camada CartoDB a um mapa MapBox?


Estou tendo problemas para adicionar uma camada CartoDB a um L.mapbox.map, achei que era uma coisa bem simples de fazer no HTML, mas não está funcionando e não sei por quê. Minha camada CartoDB tem blocos de vetor cuja janela de informações abre para um link clicável. Meu mapa é um mapa MapBox que tem camadas de imagens e ruas da minha conta MapBox e o controle do geocodificador mapbox.places.

O código está abaixo e espero que alguém por aí possa me ajudar a descobrir meus erros, porque tudo que recebo é uma tela cinza e é um quebra-cabeça que estou tendo um pesadelo tentando resolver.

   Mapa de Azulejos          

Como mapbox.js e cartodb.js incluem o folheto, você está tentando carregar o folheto duas vezes.

A Mapbox tem uma versão "autônoma" de sua biblioteca que não carrega o folheto incluso, portanto, carregar esse mais cartodb.js faz com que tudo funcione.

Eu também adicionei um .setZIndex () à camada cartodb para fazê-lo aparecer no topo.

O código abaixo deve funcionar para você!

   Mapa de Azulejos           

Quantas camadas você tem em seu viz.json? Você está recebendo algum erro no console?

Eu acredito que usar ocartodb.createLayer ()pode ser necessário usar uma função de retorno de chamada para trazer a camada de blocos do Mapbox para trás de sua camada de dados do CartoDB. Em vez de adicionar a camada CartoDB ao mapa imediatamente, adicione a camada na função de retorno de chamada e traga a camada Mapbox para trás usando o método L.tileLayer.bringToBack () do Leaflet

Aqui está um exemplo de como fiz isso.