Eae galera, estou com um problema que vem tirando meu sono, eu estou desenvolvendo (tentando) um sistema de frete, vou tentar explicar um pouco:
O usuário escolhe o estado origem, é carregado as cidades desse estado, o mesmo ocorre com o estado destino. Depois disso o usuário clica em procurar, nesse momento é feita uma busca pra ver se existe alguma transportadora que atende a essas duas cidades, se existir aparece o nome da transportadora e suas restrições, junto com as transportadoras aparece o mapa, onde o usuário pode clicar para traçar a rota, até aqui ta funcionando, a rota é traçada normalmente, eu até consigo pegar a distância em metros, agora eu gostaria de pegar esses metros e colocar em uma variável PHP, procurei em vários lugares, li alguns artigos, mas não estou conseguindo.
Aqui está até onde eu fiz:
O usuário escolhe o estado origem, é carregado as cidades desse estado, o mesmo ocorre com o estado destino. Depois disso o usuário clica em procurar, nesse momento é feita uma busca pra ver se existe alguma transportadora que atende a essas duas cidades, se existir aparece o nome da transportadora e suas restrições, junto com as transportadoras aparece o mapa, onde o usuário pode clicar para traçar a rota, até aqui ta funcionando, a rota é traçada normalmente, eu até consigo pegar a distância em metros, agora eu gostaria de pegar esses metros e colocar em uma variável PHP, procurei em vários lugares, li alguns artigos, mas não estou conseguindo.
Aqui está até onde eu fiz:
Código PHP:
echo'
<input type="button" onclick="revRoute();" class="revRoute"/>
<div class="left">
<form onsubmit="calcRoute();return false;" >
<label for="inputStart" class="inputStart" ></label>
<input type="text" class="text" value="'.htmlentities($corigem).','.htmlentities($eorigem).'" id="inputStart" />
<label for="inputEnd" class="inputEnd"></label> <input type="text" class="text" value="'.htmlentities($cdestino).','.htmlentities($edestino).'" id="inputEnd" />
<input type="submit" value="Traçar Rota" />
<input type="hidden" id="dados" name="dados_enviar" value="" />
</form>
</div>
<div id="mapa" class="mapa"></div>
<div id="directionsPanel">';
$dist = $_POST[ 'dados_enviar'];
echo '</div>
<hr />
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var directionDisplay;
var directionsService = new google.maps.DirectionsService();
var route = false;
var map;
var marker;
var geocoder;
function initialize() {
directionsDisplay = new google.maps.DirectionsRenderer();
geocoder = new google.maps.Geocoder();
var myLatlng = new google.maps.LatLng(-23.5489433, -46.6388182);
var myOptions = {
zoom: 17,
center: myLatlng,
mapTypeControl: true,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("mapa"), myOptions);
directionsDisplay.setMap(map);
directionsDisplay.setPanel(document.getElementById("directionsPanel"));
}
function calcRoute() {
if (marker) marker.setMap(null);
route = true;
var start = document.getElementById("inputStart").value;
var end = document.getElementById("inputEnd").value;
var request = {
origin:start,
destination:end,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
var distancia;
var objetoDados = document.getElementById("dados");
var rota = response.routes[0]; /* Primeira rota */
var etapa = rota.legs[0]; /* única etapa dessa rota */
distancia = etapa.distance.value;
objetoDados.value = distancia;
alert ("Aproximadamente => " + Math.round(distancia / 1000) + " km.");
}
});
}
function revRoute(){
var divStart = document.getElementById("inputStart");
var divEnd = document.getElementById("inputEnd");
var start = divStart.value;
var end = divEnd.value;
divStart.value = end;
divEnd.value = start
if( route == true){
calcRoute();
}
}
</script>
</div>';
Comment