Gmaps函数loadGeojson

时间:2016-09-23 19:10:30

标签: google-maps geojson google-datalayer

我需要阅读一个GeoJSON,根据用户的搜索选择一条线,然后在地图上绘制它。直到这一刻,我在下面的代码中进行操作,我走了属性,找到了行并进入变量以使用loadGeoJson函数在地图上绘制。但该函数需要一个URL,如何使用GeoJSON传递变量?

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);        
  });    
}

1 个答案:

答案 0 :(得分:1)

使用.addGeoJson而不是.loadGeoJson