0

我需要读取一个 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);        
  });    
}
4

1 回答 1

1

使用.addGeoJson而不是.loadGeoJson

于 2016-09-23T19:21:04.530 回答