Upload
alisson-pereira-anjos
View
217
Download
0
Embed Size (px)
DESCRIPTION
Busca em largura
Citation preview
function buscaLargura1Nivel(){//FUNÇÃO BUSCA EM LARGURA APENAS PARA OS ADJACENTES
if(busca_largura.features.length > 0){//se os elementos já foram adicionados, remove e executa novamente
busca_largura.removeAllFeatures();window.map.removeLayer(busca_largura);
}
var vertice = document.getElementById("inputOrigem").value;//pega o valor que está no input
getAdjacentesIdById(vertice);//função que faz uma requisição ajax para o PHP. Assim o PHP faz a coleta dos dados no banco (adjacentes)
adjacentes_id_by_id = JSON.parse(adjacentes_id_by_id);console.log(adjacentes_id_by_id);map.addLayer(busca_largura);
var cord_orig;var orig = vertice;for(j=0; j < cidade.markers.length; j++){ //busca a corden
ada do inicio no vetor armazenadoif(orig == cidade.markers[j].id){
cord_orig = cidade.markers[j].geometria;}
}
for(i=0; i < adjacentes_id_by_id.adjacente.length; i++){//FAZ A LIGAÇÃO COM AS ARESTAS
var dest = adjacentes_id_by_id.adjacente[i].destino;var cord_dest;
for(j=0; j < cidade.markers.length; j++){//busca a cordenada do destino no vetor armazenado
if(dest == cidade.markers[j].id){cord_dest = cidade.markers[j].geometria;console.log(cord_dest);
}}
featureBusca = new OpenLayers.Feature.Vector(//adicionado uma linha que será traçada entre a origem e o destino
OpenLayers.Geometry.fromWKT('LINESTRING ('+cord_orig +','+ cord_dest+')').transform(fromProjection, projectTo),{
origem: orig,destino: dest
},{styleMap: new OpenLayers
.StyleMap({"default": new O
penLayers.Style(OpenLayers.Util.applyDefaults(rota_style, OpenLayers.Feature.Vector.style["default"])),
})});
busca_largura.addFeatures(featureBusca);arrayLayerControl.push(busca_largura);
}
}