Ir para conteúdo
  • ×   Você colou conteúdo com formatação.   Remover formatação

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

  • Conteúdo Similar

    • Por scsrat
      Preciso de ajuda com infowindow para polygonos multiplos está abrindo popup em todos com nome do ultimo lançamento somente, não estou dando conta em java, alguém se habilita?
       
      <?php      include 'export_xml.php'; ?> <html>     <head>         <meta charset='utf-8' />         <title>Google Maps: Storing Polygons in database</title>         <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDao9cuBBnlx14GWyG8ZnfZ1WjHj9oa6DA&callback=initMap"></script>         <script>                                  function initialize() {               var mapOptions = {                 zoom: 14,                 center: new google.maps.LatLng(-22.247791, -53.348142),                 mapTypeId: google.maps.MapTypeId.ROADMAP               };               var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);               var arr = new Array();               var polygons = [];               var bounds = new google.maps.LatLngBounds();                                             var xml = xmlParse(xmlString);               var subdivision = xml.getElementsByTagName("subdivision");                                                                for (var i = 0; i < subdivision.length; i++) {                 arr = [];                 html = [];                 var name = xml.documentElement.getElementsByTagName("subdivision").getAttribute("name");                 var address = xml.documentElement.getElementsByTagName("subdivision").getAttribute("address");                 var html = "<b>" + name + "</b> <br/>" + address + "<br><a href=# target=_blank>Clique aqui";                 //Tentando pegar dados dos polygons individuais                 var coordinates = xml.documentElement.getElementsByTagName("subdivision").getElementsByTagName("coord");                 for (var j = 0; j < coordinates.length; j++) {                   arr.push(new google.maps.LatLng(                     parseFloat(coordinates[j].getAttribute("lat")),                     parseFloat(coordinates[j].getAttribute("lng"))                   ));                   bounds.extend(arr[arr.length - 1])                 }                 polygons.push(new google.maps.Polygon({                   paths: arr,                   title: html,                   strokeColor: '#FF0000',                   strokeOpacity: 0.8,                   strokeWeight: 2,                   fillColor: '#FF0000',                   fillOpacity: 0.35                                    }));                 polygons[polygons.length - 1].setMap(map);                                  var infowindow = new google.maps.InfoWindow({                                        content: html // Tentando pegar dados dos polygons individuais                 });                                  google.maps.event.addListener(polygons[polygons.length - 1], 'click', function(event) {                     infowindow.open(map);                     infowindow.setPosition(event.latLng);                 });                                }                              // });               map.fitBounds(bounds);             }                          var xmlString = '<?php echo $textolinha; ?>';                          /**              * Parses the given XML string and returns the parsed document in a              * DOM data structure. This function will return an empty DOM node if              * XML parsing is not supported in this browser.              * @param {string} str XML string.              * @return {Element|Document} DOM.              */             function xmlParse(str) {               if (typeof ActiveXObject != 'undefined' && typeof GetObject != 'undefined') {                 var doc = new ActiveXObject('Microsoft.XMLDOM');                 doc.loadXML(str);                 return doc;               }               if (typeof DOMParser != 'undefined') {                 return (new DOMParser()).parseFromString(str, 'text/xml');               }               return createElement('div', null);             }             google.maps.event.addDomListener(window, 'load', initialize);                      </script>         <style>             #map-canvas,             body,             html {               height: 100%;               width: 100%;             }                      </style>     </head>     <body>                  <div id="map-canvas"></div>     </body> </html>  
       
      O include export_xml.php: Saida do xml
       
      <subdivisions> <subdivision name="teste1" address="0" > <coord lat="-22.246906181604235" lng="-53.343656079469014" /> <coord lat="-22.246160343589366" lng="-53.34298025442864" /> <coord lat="-22.246612168987966" lng="-53.34231238438393" /> <coord lat="-22.24577306351632" lng="-53.34163110329415" /> <coord lat="-22.246309297178513" lng="-53.34088544918801" /> <coord lat="-22.24709286679633" lng="-53.34152917935158" /> <coord lat="-22.247917069182467" lng="-53.342210460441365" /> <coord lat="-22.24876923872473" lng="-53.34288149840766" /> <coord lat="-22.248292595053044" lng="-53.343581554960544" /> <coord lat="-22.247442990211773" lng="-53.34287048089961" /> </subdivision> <subdivision name="teste2" address="0" > <coord lat="-22.24744605203327" lng="-53.3428707695716" /> <coord lat="-22.24664667240292" lng="-53.34224581487113" /> <coord lat="-22.24714566457059" lng="-53.341564533781344" /> <coord lat="-22.247922698585814" lng="-53.342200217317874" /> </subdivision> </subdivisions>  
    • Por ZioNN
      Estou tentando implementar lazy loading em um mapa do Google Maps que temos na home-page do site do cliente. É um iframe padrão do Maps no formato
       
      <iframe  src="https://www.google.com/maps/d/u/1/embed?mid=1qBlmrpdrcg46Esp-C88T1AMseNdz9k" width="100%" height="530"></iframe>
      Já tentei 3 plug-ins que encontrei em pesquisas na net, e nenhum deles funcionou. 

      O mapa é o item que mais pesa no carregamento inicial da home-page e está nos custando muito tempo e peso de loading.

      Foram:

      Lazyframe master
      Lazy Maps
      Jquery Lazy Master

      Qual a melhor solução para este caso, sem remover o mapa? 

      Obrigado
    • Por naoliva
      Alguém tem uma dica de como extrair as coordenadas dos trechos que compõem o mapa da rede em http://nossarede.comgas.com.br ?
      Os arquivos ViewportInfoService.js parecem ser o caminho. Mas não consegui entender o formato.
    • Por Rodrigo Razzyel
      Eu não estou conseguindo fazer ele adicionar um valor no tempo da viagem ..tipo assim depois que eu colocar o endereço ai me gera o valor do frete mas eu quero calcular o tempo estimado sambem Ex. se o tempo for 60 minutos e o motorista demorar 120 minutos, apos os 60 minutos ja calculado somaria a cada minuto adiciona $0,05 centavos ..não sei se estou sendo especifico,
      e tambem não estou conseguindo fazer com que a posição de origem ser enviada para o banco de dados
      o banco de dados seleciona o motoboy que esta conectado mais proximo do ponto de origem, quando o motoboy chega na origem e pega o documento ele ja clica em iniciar 
      para dar o destino para ele... tem alguma maneira de fazer isso sem usar o banco de dados...
       
      poderia me ajudar
       
      o codigo é 
       <body>
            <div class="upage" id="mainpage" data-role="page" style="background:url(img/back.jpg); background-size:cover">
              <div id="moto" class="upage-content vertical-col left hidden">
                 <div class="table-thing widget uib_w_7 d-margins" data-uib="twitter%20bootstrap/input" data-ver="1">
                        <label class="narrow-control label-inline" for="txtOrigem">Retirada</label>
                        <input class="wide-control form-control default" type="text" placeholder="Digite o endereço para retirar" id="txtOrigem">
                     </div>
                     <div class="table-thing widget uib_w_8 d-margins" data-uib="twitter%20bootstrap/input" data-ver="1">
                        <label class="narrow-control label-inline" for="txtDestino">Entrega</label>
                        <input class="wide-control form-control default" type="text" placeholder="Digite  endereço de entrega" id="txtDestino">
                     </div>
                     <!-- codigo botao xdk -->
                     <button class="btn widget uib_w_9 d-margins btn-info" data-uib="twitter%20bootstrap/button" data-ver="1" onclick="CalculaDistancia()"><i class="glyphicon glyphicon-search" data-position="icon only"></i>
                     </button>
                    
                     <div class="grid grid-pad urow uib_row_3 row-height-3" data-uib="layout/row" data-ver="0">
                        <div><span id="litResultado">&nbsp;</span>
                        </div>
                        <div class="col uib_col_5 col-0_12-12" data-uib="layout/col" data-ver="0">
                           <div class="widget-container content-area vertical-col">
                              <span class="uib_shim"></span>
                           </div>
                        </div>
                        <span class="uib_shim"></span>
                     </div>
                  </div>
               </div>
            </div>
      <script src="http://code.jquery.com/jquery-1.8.1.js" type="text/javascript"></script>
      <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: [$("#txtOrigem").val()],
                            //Destino
                            destinations: [$("#txtDestino").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 origem = response.originAddresses
                          //Endereço de destino = response.destinationAddresses
                          //Distância = response.rows[0].elements[0].distance.text
                          //Duração = response.rows[0].elements[0].duration.text
       var valor = (parseFloat(response.rows[0].elements[0].distance.text.substring(0, response.rows[0].elements[0].distance.text.length - 3).split(",").join(".")) * 1.68 + 5.39).toFixed(2).toString().split(".").join(",");
      $('#litResultado').html("<strong>Origem</strong>: " + response.originAddresses +
      "<br /><strong>Destino:</strong> " + response.destinationAddresses +
      "<br /><strong>Distância</strong>: " + response.rows[0].elements[0].distance.text +
      " <br /><strong>Duração</strong>: " + response.rows[0].elements[0].duration.text +
      " <br /><strong>Preço</strong>: R$ " + valor
      );
      $("input[name='item_valor_1']").val(valor);
                          //Atualizar o mapa
                          $("#map").attr("src", "https://maps.google.com/maps?saddr=" + response.originAddresses + "&daddr=" + response.destinationAddresses + "&output=embed");
                      }
                  }
            </script>
         </body>
      </html>
    • Por juliosilvajr
      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>  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.