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