Um ótimo exemplo de como disponibilizar um shapefile no Flex pode ser encontrado em: http://dreamingwell.com/articles/archives/2008/06/displaying-a-sh.php . Para personalizar e modificar o projeto, é preciso fazer as alterações com o FlexBuilder. Nesse exemplo um Shapefile é lido diretamente de uma pasta e é mostrado em cima de uma base de mapa disponível na web e com um simples toque no polígono selecionado é aberto um balão de informações com os dados do arquivo .dbf que acompanha o shapefile.
O primeiro passo é baixar código fonte(Source Code) e o ModestMaps Project que pode ser encontrado no site e importar o arquivo compactado do código fonte no Flex Builder. O passo seguinte é descompactar o ModestMaps Project e colocá-lo na pasta src do projeto conforme a imagem porque a aplicação irá utilizar o arquivo ModestMap.swc que está na pasta bin.
O shapefile selecionado foi o amazonas.shp e foi colocado na pasta Assets do projeto…
O passo seguinte foi abrir o arquivo principal da aplicação ShapefileExplorer.mxml e adicionar o nome do shapefile no código nas seguintes linhas…
Agora é necessário verificar o campo identificador do arquivo .dbf do arquivo shapefile para ter certeza que esteja conforme a aplicação senão o balão com as informações não será aberto. Selecione o arquivo .dbf e abra com um programa adequado como o calc do BrOffice, por exemplo…
Nesse exemplo o campo identificador a ser verificado são as duas primeiras letras antes da vírgula, no caso, “ID” …
Agora é só ir no código do arquivo ShapefileExplorer.mxml e verificar se está conforme o arquivo .dbf . Se não estiver é necessário a sua alteração conforme o arquivo .dbf…
Execute a aplicação e verifique o resultado…
Para saber mais: http://dreamingwell.com/articles/archives/2008/06/displaying-a-sh.php
É possível fazer isto Ubuntu? Saudações
Bom Dia broz, o desenvolvimento do flex é feito no FlexBuilder mas depois de pronto ele pode ser hospedado em um servidorr web no Ubuntu normalmente.
Marcelo Ito. Muito obrigado pela resposta e parabéns pelo trabalho!!!