Jump to content
oscar009

ler json usando jquery.

Recommended Posts

Olá pessoal ,

 

sou iniciante nos estudos de linguagem e estou fazendo uma página simples com um mapa.

eu criei um arquivo json com a latitude e longitude dos marcadores do mapa.

porém eu quero que o meu mapa abra e pegue as coordenadas que estão lá no arquivo json.

usei o código abaixo , porém não está funcionando . Alguém pode me informar onde está o erro ou se está tudo errado ?

 

 

ARQUIVO JSON | novo.json

[{"coordenadas":"-23.549014, -46.659386"}, {"coordenadas":"-23.558333, -46.632135"}]

 

=========================================================================

 

PARTE DO SCRIPT DO MAPA

function initMap() {
  var myLatLng = {lat: -23.558333, lng: -46.632135};
  var map = new google.maps.Map(document.getElementById('map'), {
    zoom: 14,
    center: myLatLng
  });

$.getJSON( 'novo.json' , function(pontos) {
        $.each( pontos, function( index, ponto ) {

    var marker = new google.maps.Marker({
    position:new google.maps.LatLng(ponto.coordenadas),  // <= A NUMERAÇÃO DAS COORDENADAS DEVERIA CARREGAR AQUI.
    map: map,
    title: 'Marcador'
});

}

==========================================

O problema é que não estou conseguindo fazer o jQuery ler o Json na parte das coordenadas.

Agradeço muito a todos ai do fórum que puder me ajudar.

 

 

 

 

 

 

 

 

 

Share this post


Link to post
Share on other sites
  1. Incluíste a referência ao jQuery?
  2. O que aparece na consola do browser (Ctrl+Shift+I no Chrome)?
  3. Por defeito, deves colocar tudo o que diz respeito a eventos tratados com jQuery dentro do event handler que te garante que o conteúdo da página foi totalmente carregado (DOM ready): 
    $(document).ready(function() {
      //restante código aqui dentro
    });

     

 

Share this post


Link to post
Share on other sites
1 hora atrás, wootzor disse:
  1. Incluíste a referência ao jQuery?
  2. O que aparece na consola do browser (Ctrl+Shift+I no Chrome)?
  3. Por defeito, deves colocar tudo o que diz respeito a eventos tratados com jQuery dentro do event handler que te garante que o conteúdo da página foi totalmente carregado (DOM ready): 
    
    $(document).ready(function() {
      //restante código aqui dentro
    });

     

 

 

Ola colega,

 

Eu inclui sim. alias o mapa está funcionando perfeitamente, como eu citei acima eu nao consigo chamar o JSON e adicionar o elemento que esta dentro dele.

 

eu nao sei onde esta acontecendo o erro ou a forma que chamei o arquivo Json esta errada.

 

Share this post


Link to post
Share on other sites

Amigo, tenho um código parecido porém ele busca as coordenadas de BD.

Segue o link: https://github.com/wessleysanttos/GoogleMapsApi

 

Ver se consegue adaptar para seu cenário.


Oque mudaria é que no arquivo map.js no trecho

function buscarCordenadas(){

$.ajax({

url: "verificaCordenadas.php",

success: function(result){

arrayEmpresa = JSON.parse(result);

console.log(arrayEmpresa);



// apos receber os dados por ajax, chama a function percorrerArray

percorrerArray();

}});



}

 

Ao invés de buscar as coordenadas no BD, tu jogava os dados do seu arquivo json no arrayEmpresa.

 

Creio que tem maneiras mais fácil de fazer oque precisa, mas essa seria uma possível alternativa. 

 

Share this post


Link to post
Share on other sites

Json simplesmente é um Objeto ué.

 

 

Veja se ajuda:

https://forum.imasters.com.br/topic/555777-limitar-entrega-por-cep/?do=findComment&comment=2216908

 

 

A variável 'lugares' é um array de objetos.

 

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 danicarla
      OI gente, gostaria de de ideias de como posso desenvolver um player que tenha mais de uma faixa...

      Algo semelhante a isso: https://www.karaoke-version.com/custombackingtrack/u2/beautiful-day.html
       
      Alguém tem alguma idéia de como fazer?
    • By huntressDc
      Estou com uma atividade de aula para fazer e gostaria de uma ajuda, devo receber do usuário o valor da compra e o valor pago, e então exibir o troco. Até aí ok, só que também pede para exibir numa textarea as notas utilizadas no troco, informando sempre o mínimo de notas possíveis, exemplo:
       
       
      vlrCompra = 53,00 vlrPago = 100,00 vlrTroco = 47,00 notasTroco = 4 notas de 10,00 1 nota de 5,00 2 notas de 1,00  
      Não sei como fazer essa última parte, alguém para me ajudar? AS NOTAS QUE EU TENHO DISPONIVEIS SAO 1, 5, 10, 50
      Eis o que fiz até agora:
       
      function calculaTroco(){          var valorCompra = parseFloat($("#valorCompra").val());     var valorPago = parseFloat($("#valorPago").val());     var valorTroco = 0;          if (validarCampos() && validarNan()){         if (valorPago == valorCompra){             valorTroco = 0;             $("#valorTroco").val(valorTroco);             alert("Não gerou troco");                      }else if(valorPago > valorCompra){                          valorTroco = valorPago - valorCompra;             $("#valorTroco").val(valorTroco);                      }else{             alert("Não gerou troco (Valor pago menor que valor da compra)");         }         notasUtilizadas();         $("#valorCompra").val("");         $("#valorPago").val("");         $("#valorCompra").focus();     } } validarCampos() e validarNan() são apenas funções de tratamento. A função notasUtilizadas() seria a função que não estou conseguindo fazer... Devo utilizar array, if, for nessa atividade.
       
      Se alguém puder me ajudar, me dar umas dicas, agradeço muito!
       
      Parte do HTML:
      <!DOCTYPE html>
      <html lang="pt-BR">
          <head>
              <meta charset="utf-8"/>
              <title>Calcular Troco</title>
              <script type="text/javascript" src="jquery.js"></script>
              <style type="text/css">
                  fieldset { width:250px; }
                  label { display:block; float:left; } 
                  label, input, textarea, select { width:150px; margin: 5px 0; }
                  th, td { border:1px solid #ccc; font-size:0.9em; }
              </style>
          </head>
          <body>
              
              <form id="formulario">
                  <fieldset>
                      <legend>Calcular Troco</legend>
                      
                      <label for="valorCompra" >Valor da compra:</label>
                      <input type="text" id="valorCompra" name="valorCompra" /><br />
                      
                      <label for="valorPago" >Valor pago:</label>
                      <input type="text" id="valorPago" name="valorPago" /><br /><br />
                      
                      <button type="button" id="button" onclick="calculaTroco()">Calcular troco</button><br /><br />
                      
                      <label for="valorTroco" >Valor do troco:</label>
                      <input type="text" id="valorTroco" name="valorTroco" readonly="readonly"/><br /><br />    
                      
                      <label for="notasUtilizadas">Notas utilizadas:</label>
                      <textarea rows="3" id="notasUtilizadas" readonly="readonly" ></textarea><br/>
                      
                  </fieldset>
              </form>
          <script type="text/javascript" src="troco.js"></script>
          </body>
      </html>
    • By Vinicius Bazan
      Estou tendo um problema em elaborar o meu código com javascript, estou fazendo um teste em html e css simples pra depois elaborar um website, o objetivo aqui é fazer um relógio pelo JS e ter um contador em baixo desse relógio que vai pegar valores a partir de um switch para esse contador funcionar, isso porque se trata de dados sobre tipos de agressões contra as mulheres, então os cases do switch tem o dado em segundos para executar a formula, uma mensagem inicial e uma mensagem final.
       O usuário teria dois botões, um de cada lado (nesse caso estou usando 2 div com as ID's #btd e #bte, ao apertar esses botões aumentaria o valor de uma variável em +1 ou -1 e isso faria o switch escolher outro case e trocar os dados do contador, mas os dados não são trocados, mantendo as informações iniciais.
       Ao todo tem 4 funções, a função relogio(), contador(), btd() e bte(), sendo que a btd e bte estão dentro da contador() 
       Estou colocando o codigo dentro do spoiler, se alguém puder me ajudar a achar alguma solução agradeço
       
      OBS: Eu nem sei se pode ter uma function dentro da outra, mas como estou aprendendo JS ainda, imagino que assim como outras estruturas (If, Else, Switch, etc...) possa ser possível colocar uma função dentro da outra.
       
       
    • By digonaweb
      Bom dia!
       
      Alguém pode me ajudar com esse script abaixo?
       
      Preciso fazer com que o link abra em uma nova janela, pois fica abrindo em um quadrado onde está fisicamente o relógio no site.
       
      <!-- clock widget start -->
       
      <script type="text/javascript">
           var css_file=document.createElement("link");
           css_file.setAttribute("rel","stylesheet");
           css_file.setAttribute("type","text/css");
           css_file.setAttribute("href","//s.bookcdn.com//css/cl/bw-cl-150x70.css");
           document.getElementsByTagName("head")[0].appendChild(css_file);
      </script>
       
      <div id="tw_1_737904741"><div style="width:150px; height:70px; margin: 0 auto;">
      <a href="https://booked.net/time/rio-de-janeiro-18486">Rio de Janeiro</a>
      <br/></div></div>
       
      <script type="text/javascript"> function setWidgetData_737904741(data){ if(typeof(data) != 'undefined' && data.results.length > 0) { for(var i = 0; i < data.results.length; ++i) { var objMainBlock = ''; var params = data.results; objMainBlock = document.getElementById('tw_'+params.widget_type+'_'+params.widget_id); if(objMainBlock !== null) objMainBlock.innerHTML = params.html_code; } } } var clock_timer_737904741 = -1; </script> <script type="text/javascript" charset="UTF-8" src="https://widgets.booked.net/time/info?ver=2&domid=209&type=1&id=737904741&scode=124&city_id=18486&wlangid=1&mode=1&details=0&background=ece0bf&color=4c4d57&add_background=ffffff&add_color=2071c9&head_color=ffffff&border=1&transparent=1"></script>
       
      <!-- clock widget end -->
       
       

       
       

    • By Vinicius Bazan
      Galera to com uma duvida aqui, no javascript é possível fazer uma função dentro de outra e uma acessar os valores de uma var da outra?
       
      Por exemplo digamos que eu tenha uma function a() e uma function b(), eu preciso que a function a utilize valores de variáveis que estarão na function b, se isto for possível a função b terá que estar dentro de a ou seria ao contrario?
×

Important Information

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