Transcript
Page 1: Busca em largyura sample

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

}

Page 2: Busca em largyura sample

}


Top Related