Implementando Latitude e Longitude em sua Aplicação
aprenda com o artigo a implementar latitude e longitude
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
Subscribe ecode10.com
Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.
You can cancel anytime.
Log In