Pessoal voces tem algum exemplo de uso de API para "pegar" a localidade atual para que eu possa calcular KMs no próprio Form??
Pessoal voces tem algum exemplo de uso de API para "pegar" a localidade atual para que eu possa calcular KMs no próprio Form??
Pra isso você vai usar a Directions API do google, onde voce coloca uma rota e ela te retorna a quantidade de KM
Para obter a chave para consumo da API, vá nesse link https://developers.google.com/maps/documentation/javascript/directions?hl=pt-br, no item Primeiros passos estará descrito como obtê-la, ai ela deverá ser colocada no código onde eu escrevi YOUR_API_KEY. ( )
Neste mesmo link, é possível ver toda a documentação a respeito da API, como informação a respeito da cobrança, exemplos de implementação, etc.
Exemplo de implementação:
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<title>Travel modes in directions</title>
</head>
<body>
<label>Origem: </label>
<input type="text" id="origem"/>
<label>Destino: </label>
<input type="text" id="destino"/>
<button id="botao">Calcular distância</button>
<strong><span id="resultado"></span></strong>
<script>
var btn = document.querySelector("#botao");
btn.addEventListener("click", () =>{
var start = document.getElementById("origem").value;
var end = document.getElementById("destino").value;
var request = {
origin: start,
destination: end,
travelMode: 'DRIVING'
};
var directionsService = new google.maps.DirectionsService();
directionsService.route(request, function(result, status) {
if (status == 'OK') {
document.getElementById("resultado").textContent = result.routes[0].legs[0].distance.text;
}else{
console.log(result)
}
});
})
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY">
</script>
</body>
</html>
No meu exemplo o usuário entra com a origem e o destino. Caso voce queira saber a localização do usuário sem ele digitar, pode obter a latitude e longitude pelo navegador:
navigator.geolocation.getCurrentPosition(position => console.log(position))
Dentro do objeto position existem a latitude e longitude, onde voce poderia usar outra API do Google Maps pra trazer a localização.