TiFaccioDelMale
Nuovo Utente
- Messaggi
- 5
- Reazioni
- 0
- Punteggio
- 23
Salve a tutti, dovrei passare una variabile JavaScript datami dalle API Directions di Google in una funzione PHP che mi faccia il calcolo del prezzo del tragitto moltiplicandolo per una variabile X. Io di Ajax non ne capisco gran che, ma ho letto molti forum che mi consigliano questo metodo, voi cosa fareste?
Grazie.
EDIT: non trovando soluzioni con Ajax ho provato a mettere un campo hidden a cui attribuisco il valore di km(la mia variabile), ma non funzionando l'ho trasformato in campo di testo scoprendo che mi da "[object HTMLInputElement]" (senza apici). Il punto è che se lo visualizzo tramite un window.alert non mi da' problemi, anzi. Vi metto il codice per essere più chiaro.
Grazie.
EDIT: non trovando soluzioni con Ajax ho provato a mettere un campo hidden a cui attribuisco il valore di km(la mia variabile), ma non funzionando l'ho trasformato in campo di testo scoprendo che mi da "[object HTMLInputElement]" (senza apici). Il punto è che se lo visualizzo tramite un window.alert non mi da' problemi, anzi. Vi metto il codice per essere più chiaro.
Codice:
<!DOCTYPE html><html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Benvenuto </title>
<script type="text/javascript"
src="http://maps.google.com/maps/api/js?sensor=false"></script>
</head>
<body style="font-family: Arial; font-size: 13px; color: red;">
<div id="map" style="width: 200px; height: 200px;"></div>
<input type="text" id="partenza" placeholder="Partenza...">
<input type="text" id="arrivo" placeholder="Arrivo...">
<input type="text" id="km" name="km">
<input type="button" value="Invia" onclick="script()">
<script type="text/javascript">
function script(){
var directionsService = new google.maps.DirectionsService();
var directionsDisplay = new google.maps.DirectionsRenderer();
var opzioni = {
zoom:3,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map"), opzioni);
directionsDisplay.setMap(map);
var partenza = document.getElementById("partenza").value;
var arrivo = document.getElementById("arrivo").value;
var richiesta = {
origin: partenza,
destination: arrivo,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(richiesta, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
var km = (response.routes[0].legs[0].distance.value)/1000;
window.alert(km); //con questo funzia egregiamente
directionsDisplay.setDirections(response);
}
});
document.getElementById("km").value = km; //se metto km.value mi da' un valore indefinito
}
</script>
</body>
</html>
Ultima modifica: