šŸ”„ Articles, eBooks, Jobs, Columnist, Forum, Podcasts, Courses šŸŽ“



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








Top