Implementando Latitude e Longitude em sua Aplicação
Data Publicação: 21/5/2009 14:11:28
Total de visualizações:
1572
comente
|
Atualmente nossas aplicações estão demandando regras de negócios cada
vez mais inovadoras e desafiantes com objetivo de conhecer nosso
cliente agregando valor ao negócio. Com intuito de compartilhar
entre as organizações e a todos que desejarem fazer a integração em
seus aplicativos, estou disponibilizando nesse artigo passos para que
sua aplicação esteja ela disponibilizada na web e ou na intranet seja
interligada com o Google registrando a latitude e longitude de seus
clientes. Esta aplicação faz a leitura de um arquivo
texto , com dados de cadastro do cliente e registra um arquivo texto
com a latitude e longitude destes clientes que foram encontrados no
google. Lembrando que no nosso caso estamos gravando as
informações em um arquivo texto , mas nada impede que sejam atualizadas
essas informações na base dados .
1 – Passo :
Abrimos um projeto web no Visual Studio 2005 e escolhemos com linguagem o vb.net.  Clique na imagem para ampliar
2 – Passo :
2.1 - Adicionamos em nosso aplicativo um projeto de Dataset com os seguintes Atributos : Cnpjcpf , Logradouro , Bairro, Cidade , Cep . 2.2– Adicionamos os seguintes componente ao nosso layout : Button > Renomeie para Gera Informações FileUpload Label
3 – Passo :
Implementamos o método que efetua a leitura do arquivo e grava as informações no Dataset. Vejamos o código : Private Sub LerArquivoCRM()
Dim fluxoTexto As IO.StreamReader Dim linhaTexto As String
Dim arquivo As String = FileUpload1.PostedFile.FileName FileUpload1.SaveAs(arquivo)
Dim cnpjcpf As String Dim logradouro As String Dim bairro As String Dim cidade As String Dim cep As String
Dim row As DataSetLeituraArquivo.Tbl_AtualizaClienteCRMGUIDRow Dim DsLeituraArquivo As New DataSetLeituraArquivo
If IO.File.Exists(arquivo) Then
fluxoTexto = New IO.StreamReader(arquivo)
linhaTexto = fluxoTexto.ReadLine
While linhaTexto <> Nothing
cnpjcpf = CType(linhaTexto.Split(";"c).GetValue(0), String) logradouro = CType(linhaTexto.Split(";"c).GetValue(1), String) bairro = CType(linhaTexto.Split(";"c).GetValue(2), String) cidade = CType(linhaTexto.Split(";"c).GetValue(3), String) cep = CType(linhaTexto.Split(";"c).GetValue(4), String)
linhaTexto = fluxoTexto.ReadLine
row = DsLeituraArquivo.Tbl_AtualizaClienteCRMGUID.NewTbl_AtualizaClienteCRMGUIDRow() row.cnpjcpf = cnpjcpf row.ds_logradouro = logradouro row.ds_bairro = bairro row.ds_cidade = cidade row.ds_cep = cep DsLeituraArquivo.Tbl_AtualizaClienteCRMGUID.Rows.Add(row)
End While
fluxoTexto.Close() BuscaLatitudeLongitude(DsLeituraArquivo)
End If
End Sub
4 – Passo :
Declaramos uma variável que aponta para o caminho e o nome do arquivo
que será gravado com as informações de latitude e longitude.
Lembrando que em nosso artigo aponta para diretório especifico , mas
nada impende que seja implementado por parâmetros que pode ser
especificado efetuando a leitura do web.config da aplicação.
Private arquivoINSERE As String = "C:\ClientesLatitude.txt"
5 – Passo :
Implementamos agora o metodo que vai buscar os dados do dataset e
chamar a API do google para registrar as informações de latitude e
longitude gravando no arquivo texto a saida. Lembrete : Para
a utilização da API do google deve ser feito o registro , para obter a
chave de registro que será passada na url como parametro. Private Sub BuscaLatitudeLongitude(ByVal ds As DataSetLeituraArquivo)
strm = New StreamWriter(arquivoINSERE, True) For Each dr As DataSetLeituraArquivo.Tbl_AtualizaClienteGUIDRow In ds.Tbl_AtualizaClienteGUID.Rows Dim Endereco As String = dr.ds_logradouro Dim CEP As String = dr.ds_cep Dim Rua As String = dr.ds_logradouro Dim BairroLt As String = dr.ds_bairro Dim CidadeLt As String = dr.ds_cidade
Dim url As String = "http://maps.google.com/maps/geo?q=" &
HttpUtility.UrlEncode(Endereco & CEP) &
"&output=csv&key=ChaveRegistrono Google" Dim req As WebRequest = HttpWebRequest.Create(url) req.Timeout = 30000 Dim res As WebResponse = req.GetResponse() Dim sr As New StreamReader(res.GetResponseStream()) Try Dim strRetorno As String = sr.ReadToEnd() If strRetorno Is Nothing OrElse strRetorno.Equals(String.Empty) Then Throw New Exception("Not found!") End If Dim Latitude As String = strRetorno.Split(",")(2) Dim Longitude As String = strRetorno.Split(",")(3)
strmErro.WriteLine("CNPJ/CPF: " & dr.cnpjcpf & " Latitude: "
& Latitude.ToString & " Longitude: " & Longitude.ToString) Finally sr.Close() End Try Next
strmErro.Close() Label1.Text = " Informações Atualizadas " End Sub
6 – Passo :
Implementamos a chamada dos metodos pelo cliente do botão Gera
Informações e fazemos a validação para saber se antes efetuar a geração
de informações o arquivo foi selecionado.
If FileUpload1.HasFile Then LerArquivoCRM() Else Label1.Text = " Selecione um arquivo de extensão .TXT" End If
7 – Passo :
Finalmente chegamos ao final de nossa aplicação e temos um layout que
pode ser visualizado abaixo e uma inteligência integrada com Google
com um grande poder de integração de valor ao negócio.
 Clique na imagem para ampliar
Total de visualizações:
1572
|
|
voltar
comente
subir
|
Autor:
|
Por:Flavio Goncalves Araujo
|
|
|