Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

thiagoenge

Google Maps api v2 - Mostrar os 10 marcadores mais próximos

Recommended Posts

Estou fazendo um mapa para um projeto. Esse mapa vai ser populado por endereços que estão num xml e guardados num array.

Atualmente eu estou exibindo todos os endereços e ao digitar o cep no campo de busca o mapa traça uma rota até o endereço mais próximo.

Preciso mudar essa dinâmica e exibir no mapa somente os 10 marcadores mais próximos depois que o usuário digitar o cep e não mais fazer a rota.

 

Alguém pode me ajudar? O código do mapa pode ser visto aqui: http://186.202.149.68/web/onde_encontrar.aspx

Desde já, obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode usar esse código para ajudar:

function distance(lat1,lon1,lat2,lon2,max) {
	/*
		Parametros:
		lat1,lon1: latitude do ponto inicial;
		lat2, lon2: latitude que vc quer saber a distancia;
		max: a distancia maxima em Km;
		
		Obs: esse codigo retorna true se o pontos que estão a uma distancia que vc quer(max)
	*/
	var R = 6371; // km
	var dLat = (lat2-lat1) * Math.PI / 180;
	var dLon = (lon2-lon1) * Math.PI / 180; 
	var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
		Math.cos(lat1 * Math.PI / 180 ) * Math.cos(lat2 * Math.PI / 180 ) * 
		Math.sin(dLon/2) * Math.sin(dLon/2); 
	var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
	
	var d = R * c;
	if (d <= max) return true;
	else return false;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.