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
											
Related articles
Session has not been configured for this application or request error in C# Razor applications
Showing code step by step
Como fazer uma tabela no C# com paginação, busca e ordenação? [vídeo]
Um passo a passo que te ajuda
 
                     Flavio G. Araujo
   Flavio G. Araujo 
                 
                       
                      