Jump to content
juliosilvajr

API Google maps não funciona no Servidor PHP

Recommended Posts

Estou desenvolvendo uma aplicação que calcula a distancia entre dois endereços sendo um ja pré determinado usando a API V3 do Google Maps ,porém quando vou rodar a aplicação no servidor php, ela não funciona

Segue abaixo o codigo completo

PS: Sou novato nisso tudo 


 

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" type="text/css">
  <link rel="stylesheet" href="https://v40.pingendo.com/assets/4.0.0/default/theme.css" type="text/css">
  <title>Lampada</title>
  <style type="text/css">
    .hidden {
      display: none;
    }
  </style>
  <script src="http://code.jquery.com/jquery-1.8.1.js" type="text/javascript"></script>
</head>

<body>
  <div class="py-5">
    <div class="container">
      <div class="row">
        <div class="col-md-12">
          <h1 class="display-1">PSHE
            <br> </h1>
        </div>
      </div>
    </div>
  </div>
  <div class="py-5">
    <div class="container">
      <div class="row">
        <div class="col-md-9">
          <label for="txtDestino">
            <strong>Digite seu Endereço</strong>
          </label>
        </div>
      </div>
          <div class="row">
        <div class="col-md-9">
          <input type="text" id="txtDestino" class="field" style="width: 400px;"> </div>
        <br>
        <br>
        <div class="col-md-9">
          <select name="cidade" id="cidade" type="text">
            <option>Selecione...</option>
            <option value="Sorocaba">Sorocaba</option>
            <option value="Votorantim">Votorantim</option>
          </select>
        </div>
      </div>
     </form>
      <br>
      <br>
      <div class="row">
        <div class="col-md-12">
          <input type="button" value="Calcular distância" onclick="CalculaDistancia()" class="btnNew"> </div>
      </div>
      <br>
      <br>
      <div>
        <span id="litResultado"> </span>
      </div>
      <div>
             
    </div>          
    </div>
  </div>
  
  <div class="py-5 text-white bg-warning">
    <div class="container">
      <div class="row">
        <div class="col-md-12 mt-3 text-center">
          <p>Rua Armando Caldini
            <br>Sorocaba -SP
            <br>
            <br>(15) 99614-5279
            <br>© Grupo PSHE - Todos os Direitor reservados</p>
        </div>
      </div>
    </div>
  </div>
  <script src="http://maps.google.com/maps/api/js?sensor=false"></script>
  <script type="text/javascript">
      function CalculaDistancia() {
                    $('#litResultado').html('Aguarde...');
                    //Instanciar o DistanceMatrixService
                    var service = new google.maps.DistanceMatrixService();
                    
                
                
                    //executar o DistanceMatrixService
                    service.getDistanceMatrix(
                      {
                          //Origem
                          origins: ["Rua Armando Caldini 161 Sorocaba"],
                          //Destino
                          destinations: [$("#txtDestino").val() + $("#cidade").val()],
                          //Modo (DRIVING | WALKING | BICYCLING)
                          travelMode: google.maps.TravelMode.DRIVING,
                          //Sistema de medida (METRIC | IMPERIAL)
                          unitSystem: google.maps.UnitSystem.METRIC
                          //Vai chamar o callback
                      }, callback);
                }
                //Tratar o retorno do DistanceMatrixService
                function callback(response, status) {
                    //Verificar o Status
                    if (status != google.maps.DistanceMatrixStatus.OK)
                        //Se o status não for "OK"
                        $('#litResultado').html(status);
                    else {
                        //Se o status for OK
                        //Endereço de destino = response.destinationAddresses
                        //Distância = response.rows[0].elements[0].distance.text

                        //Preco =  response.rows[0].elements[0].distance.value*0.0009).toFixed(2)
                        //Duração = response.rows[0].elements[0].duration.text
                        $('#litResultado').html(
                        
                        
                            "<strong>Destino:</strong> " + response.destinationAddresses +
                            "<br /><strong>Distância</strong>: " + response.rows[0].elements[0].distance.text +
                            "<br /><strong>Preço</strong>: " +"R$: "+(response.rows[0].elements[0].distance.value*0.0009).toFixed(2)+
                            " <br /><strong>Duração</strong>: " + response.rows[0].elements[0].duration.text
                    
                            );
                       
                       
                    }
                }
  </script>
 
</body>

</html>


 

Edited by Gabriel Heming
adicionar marcação de código

Share this post


Link to post
Share on other sites

Movido: PHP -> JavaScript

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By msantino
      Bom dia.
       
      Estou desenvolvendo uma aplicação que vai acessar e gravar dados via webservice dentro do nosso crm... mas estou com um problema que quando tento fazer o acesso mostra a seguinte mensagem de erro:
       
      Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing Schema: can't import schema from 'http://dsksp015.phonoway.com.br:8051/wsDataServer/mex?xsd=xsd0' in /home/httpd/html/phonoweb.com.br/public_html/carrinhobitrix_busca/teste_soap.php:113 Stack trace: #0 /home/httpd/html/phonoweb.com.br/public_html/carrinhobitrix_busca/teste_soap.php(113): SoapClient->SoapClient('http://187.93.2...') #1 {main} thrown in /home/httpd/html/phonoweb.com.br/public_html/carrinhobitrix_busca/teste_soap.php on line 113
       
      Não sei se faz alguma diferença, mas nosso CRM é o TOTVS RM
       
      Grato.
    • By mamotinho
      Boa noite! estou com dúvidas em relação a array, eu tenho uma procedure no SQL Server e essa procedure exibe uma lista de resultados, eu gostaria de pega o valor desses resultados e lista em um array para eu comparar com outro valor que vai ser selecionado em um select , tipo abaixo:
       
      $arraySelect = $db->prepare(exec WebSite.dbo.server_value_product 2);
      $arraySelect->execute();
      $arrayExemple = $arraySelect->fetchAll();

      procedure_list = array($arrayExemple);
       
      !in_array($valorSelect, $procedure_list){
         echo 'O Valor selecionado não existe nos resultados da procedure';
      }
       
       
      alguem sabe como posso listar o resultado da procedure em array. e sabe se o valor que procuro está entre os resultados da array.
    • By asacap1000
      Galera já não sei mais onde procurar, estou configurando o processo de login com certificação digital porém não consigo ler o retorno. No site da Certisign explica em java e .Net mas utilizo em minha aplicação da intranet tudo em PHP como eu teria que fazer. Segue exemplo que eles fornecem em .Net
       
      <form action="https://autenticador.certisign.com.br/CertisignLogin/certificado/login" method="get"> <input type="hidden" value="209" id="id" name="id"> <input type="hidden" value="CHAVE CRIPTOGRAFICA INICIAL" id="nome" name="nome"> <input type="hidden" value="http://www.seusite.com.br/suaAplicacao/retorno" id="retorno" name="retorno"> <div> <input type="image" src="images/ico-certisign_30x30.png" alt="Submit" id="btnLoginCertisign"> </div> </form> O de cima envia até aí tudo bem
       
      Abaixo o retorno que é o que não consigo fazer em PHP
       
      string retorno = Request["cb"]; string encryptionKey = "<conteúdo da chave criptográfica descarregada na etapa 2>"; retorno = CryptoLogin.Instance.DecryptText(retorno,encryptionKey);</conteúdo> A variável retorno deverá mostrar as informações como o exemplo aaixo.
       
      CertificadoBean: { emissor: Certisign Autoridade Certificadora TESTE, nome: "PROPRIETARIO DO CERTIFICADO DE TESTE", cpf: "001.002.003-44", cnpj: "", OAB: "", validade: "2015-05-27 20:59:59", emissao: "2014-05-27 21:00:00", email: "proprietario.teste@certisign.com.br", certificadoBase64: "MIIFmDCCBICgAwI...... BAQUFADCCARAx" }  
    • By Luis Fernando R. Valle
      Estou desenvolvendo um site de vinhetas, mas estou com o seguinte problema. Quando o cliente clica em um áudio ele toca normalmente, mas quando clica em um segundo com o primeiro ainda em execução, ficam os dois áudios executando ao mesmo tempo no sit.
      Gostaria que um executasse por vez.
       
      Lembrando que os áudios estão inseridos separadamente.
    • By Camilavip
      Queria saber como fazer esse select e quando eu trazer um estado ele já puxa as cidades contidos nele, e ao escolher a cidade ele trazer os bairros. Consegui pela internet mas só com estados e cidades. no caso em 2 níveis, e eu precisaria em 3, faço pelo mysqli
       
      Em estados no banco está assim
      CREATE TABLE `estados` ( `id_estado` int(10) NOT NULL, `estado` varchar(30) NOT NULL ) ENGINE=Aria DEFAULT CHARSET=latin1; -- -- Extraindo dados da tabela `estados` -- INSERT INTO `estados` (`id_estado`, `estado`) VALUES (1, 'Rio de Janeiro'), (2, 'Minas Gerais'); Cidades
      CREATE TABLE `cidades` ( `id_cidade` int(10) NOT NULL, `id_estado` int(10) NOT NULL, `cidade` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Extraindo dados da tabela `cidades` -- INSERT INTO `cidades` (`id_cidade`, `id_estado`, `cidade`) VALUES (1, 1, 'Rio de Janeiro'), (2, 2, 'Belo Horizonte'); E bairros
      CREATE TABLE `bairros` ( `id_bairro` int(10) NOT NULL, `id_cidade` int(10) NOT NULL, `bairro` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Extraindo dados da tabela `bairros` -- INSERT INTO `bairros` (`id_bairro`, `id_cidade`, `bairro`) VALUES (1, 1, 'Centro'), (2, 1, 'Tijuca'), (3, 1, 'Leblon'), (4, 2, 'Pampulha');  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.