2016-09-23 1 views
0

Je dois lire un GeoJSON sélectionner une ligne en fonction de la recherche faite par l'utilisateur, puis dessiner sur la carte. Jusqu'à ce moment je fais comme dans le code ci-dessous, je marche la propriété, localise la ligne et entre dans une variable à tracer sur la carte en utilisant la fonction loadGeoJson. Mais la fonction attend une URL, comment puis-je passer une variable avec GeoJSON?Fonction Gmaps loadGeojson

var onibusLayer = new google.maps.Data(); 
var linhaSearch ; 
var linhaGeom ; 

function loadOnibus(){ 
    linhaSearch = $('#linha').val() ; 

    var url = "/data/onibus.json"; 

    $.ajax({ 
    dataType: "json", 
    url: url, 
    data: data, 
    beforeSend: function(){ 
     $('#loader').show(); 
    }, 
    success:(function(data){ 
      $('#loader').hide(); 

      for (var i = 0; i < data.features.length; i++) { 
      if (data.features[i].properties.CODLIN == linhaSearch){ 
       linhaGeom = data.features[i];     
       overlayLine(); 
       break; 
      } 
      } 

    }), 
    error:(function(data,jqXHR, textStatus, errorThrown){ 
      console.log ("Error load file: " + url +" Status: " + textStatus ); 
    })   
    }); 
} 

function overlayLine(){ 
    onibusLayer.loadGeoJson(linhaGeom, showLoading(),function(features){  
    hideLoading(); 
    onibusLayer.setMap(map);   
    });  
} 

Répondre

1

Utilisez .addGeoJson plutôt que .loadGeoJson