Advertisement
-
Calcular corridas de táxi online
Artigo originalmente publicado na RevistaWEB.net #3.
Alô, mundo. Pretendo ensinar como usar dados da API do Google Maps com a jQuery para calcular a distância entre dois pontos e calcular o valor a ser pago se você fosse de táxi.
O que é necessário
- API do Google Maps - insira o endereço de seu site e aceite os termos para obtê-la.
- jQuery - famosa biblioteca JavaScript. Não é necessário baixá-la, pois usaremos os servidores do Google.
- jMaps - plugin da jQuery para facilitar o uso do Google Maps.
Marcação
Usaremos a seguinte marcação para o formulário para inserção dos pontos de partida e chegada e o mostrador com mapa, direções e o aviso do preço:
<form action="/">
<label for="partida">Ponto de partida: </label><input type="text" id="partida" value="Rua 15 de Novembro, Niterói, Rio de Janeiro"/>
<label for="chegada">Ponto de chegada: </label><input type="text" id="chegada" value="Rua Joaquim Távora, Niterói, Rio de Janeiro"/>
<input type="submit" value="Traçar rota"/>
</form><div id="mostrador">
<div id="mapa"></div>
<div id="aviso"></div>
<div id="direcoes"></div>
</div>Pegaremos os endereços de partida e chegada que o usuário digitar usando os IDs dos inputs.
Estilos CSS
<style type="text/css">
#mostrador{margin-top:10px}
#aviso{margin:10px 0 0 0;background:#FF0;width:95%;padding:5px}
#mapa{width:95%;height:300px}
#direcoes{width:95%}
</style>Coloquei estilos básicos, pois se não definirmos o tamanho da div #mapa, o mapa não será exibido.
Inserção das bibliotecas JavaScript
Esses são os códigos para inserir a API do Google Maps, jQuery e jMaps. Lembre-se de substituir [API] no fim do atributo src na primeira tag script pelo código obtido no site do Google.
<script src="http://maps.google.com/maps?file=api&v=2&key=[API]" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js" type="text/javascript"></script>
<script src="jquery.jmap.min-r72.js" type="text/javascript"></script>Como é a função para calcular o valor total da corrida de táxi
f (x) = x /1000 * 1.9 + 4
O total é calculado usando x, o valor em metros da distância do ponto de partida até a chegada.
Ele é transformado para quilômetros (divindo-o por 1000).
Suponhamos que cada quilômetro custe R$ 1,90, então multiplicamos o total de quilômetros por esse valor.
Para finalizar, somamos 4 que é o valor que é colocado quando entramos no táxi.
O JavaScript mágico
$(function(){
Quando o documento estiver carregado, executará a função dentro das chaves.
$('#mapa').jmap('init');
Iniciará o Google Maps na div que possui o id mapa.
$('form').submit(function(){
Quando o formulário for enviado, a seguinte função será executada.
$('#mapa').jmap('SearchDirections', {
'query': 'from:' + $('#partida').val() + ' to:' + $('#chegada').val(),
'locale': 'pt_BR',
'panel':'#direcoes'Ele buscará as direções usando os valores dos campos de texto #partida e #chegada e colocará as direções em português no #direcoes.
}, function(result) {
preco = Math.ceil(result.getDistance().meters /1000 * 1.9 + 4);
$('#aviso').html("Vai dar uns R$" + preco);Quando o resultado chegar, ele usará a função matemática ensinada acima e colocará o preço da corrida na div #aviso. A função Math.ceil() arredonda o total da corrida para cima.
});
return false;O return false é usado para não redirecionar o usuário para outra página quando o formulário for enviado.
});
});O código JavaScript completo é esse:
<script type="text/javascript">
$(function(){
$('#mapa').jmap('init');
$('form').submit(function(){
$('#mapa').jmap('SearchDirections', {
'query': 'from:' + $('#partida').val() + ' to:' + $('#chegada').val(),
'locale': 'pt_BR',
'panel':'#direcoes'
}, function(result) {
preco = Math.ceil(result.getDistance().meters /1000 * 1.9 + 4);
$('#aviso').html("Vai dar uns R$" + preco);
});
return false;
});
});
</script>Para finalizar…
Deixo vocês com o script online. Sintam-se à vontade para modificar. :-)
more
-
50 designer
Você conhece o ditado "não julgar um livro pela capa é"? Bem, o seu site design é sua capa - e julgá-lo as pessoas fazem por ele. Seu site é a sua vida para fazer uma boa primeira impressão em linha e sem um chute traseiro website design, que está a perder em muitos potenciais espectadores / clientes / leitores. Então, o que qualifica como um bom sítio web design? Esta é uma lista de 50 killer web designs sentimos encarnam os grandes sites da web designs = grande filosofia.
Clique nas imagens abaixo para visualizar cada Web site e certifique-se que nos avise nos comentários que sites que você gosta melhor e porquê. Fizemos uma mistura de estilos, então há algo aqui para todos

Gozz
Touros, varrascos & Barra
84 Cores
Skylab
L'effet Crea
Pampaneo
Fred Maia
Juan Diego Velasco
Metalab
Semeador de Sementes
Klar
Kiddi Kicks
Esperança Ilimitada
Creative Estilo
Clickfarm Interativo
Two24Studios
Dialogix
Idealista Consultoria
RU4. Crianças
Mistério Tin
Pixel Matrix
Trevor Clark Fotografia
Realidade Equação
Massa Software Solutions
Púlpito
Maquina Studio
Ryan Keiser
Este Web Guy
Pulso
Pescar Cactus
Flick Out
Seth Said
A partir do sofá
Douglas Menezes
Pequeno Urso Branco
Eco Ambientes
Passeio
De um PSD HTML - CSS
Afflecks
Ecto Machine
Outlaw Design Blog
Inner Revolution
Rua de Baixo
Catch Mail
Simples Flame
Simples Estação
STAAK
PIR IE6
Não Durma Para Ovinos
Lionite
Tem mais um para a lista?
Se você sentir que o seu site (ou outro site sabem), devem ser acrescentados à lista, fique à vontade para comentar e deixar-nos saber - estamos sempre à procura de outros modelos site kick ass!
more

















































