No Leaflet existem duas formas bem usuais de se obter os dados tabulares de uma feição através do clique do usuário em uma determinada camada. Uma delas é através do uso de marcadores (Markers), que é mais utilizada para a representação de pontos. A outra é o formato GeoJSON, que é uma excelente opção para exibir camadas de polígonos e de linhas neste aplicativo.
Porém, quando uma camada GeoJSON possui muitas feições ou uma grande quantidade de vértices, seu carregamento pode comprometer o desempenho do aplicativo. Uma saída para este problema é utilizar o formato WMS habilitando a requisição GetFeatureInfo como é mostrado no exemplo a seguir.
1 - Configuração do Mapfile como Servidor WMS:
A configuração do servidor WMS é feita através da definição dos itens obrigatórios para o seu funcionamento, a nível de MAP e de LAYER, definidos na documentação do MapServer no item "Setting Up a WMS Server Using MapServer".
2 - Configuração do Template HTML para a requisição GetFeatureInfo:
Neste arquivo são definidos os dados que serão exibidos na janela de atributos através do GetFeatureInfo WMS Request.
3 - Configuração do Leaflet:
Para habilitar esta funcionalidade é necessário configurar a camada WMS no Leaflet, como é exibido a seguir:
Já com a função IDENTIFY abaixo, é possível associar ao clique do mouse uma requisição GetFeatureInfo, através da obtenção das variáveis BBOX, WIDTH, HEIGHT, X e Y. Com elas é definida a variável URL que fará esta requisição ao servidor WMS e trará o resultado de forma assíncrona com método $.ajax do jQuery.
4 - Resultado:
Ao clicar em um município, é exibido uma janela contendo os atributos, como mostra a figura abaixo:
Você pode baixar os códigos deste exemplo neste link.