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