Y este es el codigo que usa AJAX para generar la ruta por medio de 2 text-inputs y luego con un boton la guarda en la base de datos.
Código Javascript
:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="estilo.css" rel="stylesheet" type="text/css" media="screen" />
<script type="text/javascript" src="jquery-1.6.1.min.js"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>
</head>
<body onLoad="goma()">
<div id="rutas">
Origen: <input type="text" name="origen" id="origen" /> - Destino: <input type="text" name="destino" id="destino" />
<input type="button" onclick="generate_waypoints()" value="Generar Ruta">
</div>
<div id="mapa">
</div>
<div id="informacion">
Titulo: <input type="text" name="origen" id="titulo" /><br />
Descripcion: <input type="text" name="destino" id="descripcion" />
<input type="hidden" name="usuario" id="usuario" value="<?php echo $_SESSION['usuario'];?>"/><br />
<input type="button" value="Grabar Ruta" style="font-size:18px" onclick="save_waypoints()">
</div>
<script>
var map, ren, ser;
var data = {};
function goma()
{
map = new google.maps.Map( document.getElementById('mapa'), {'zoom':12, 'mapTypeId': google.maps.MapTypeId.ROADMAP, 'center': new google.maps.LatLng(-12.1008684,-77.0288967) })
ren = new google.maps.DirectionsRenderer( {'draggable':true} );
ren.setMap(map);
}
function generate_waypoints()
{
ser = new google.maps.DirectionsService();
ser.route({ 'origin': document.getElementById("origen").value, 'destination': document.getElementById("destino").value, 'travelMode': google.maps.DirectionsTravelMode.DRIVING},function(res,sts) {
if(sts=='OK')ren.setDirections(res);
})
}
function save_waypoints(){
var w=[],wp;
var rleg = ren.directions.routes[0].legs[0];
data.start = {'lat': rleg.start_location.lat(), 'lng':rleg.start_location.lng()}
data.end = {'lat': rleg.end_location.lat(), 'lng':rleg.end_location.lng()}
var wp = rleg.via_waypoints
for(var i=0;i<wp.length;i++)w[i] = [wp[i].lat(),wp[i].lng()]
data.waypoints = w;
var str = JSON.stringify(data)
$.post("anadir_ruta.php",{command:'save',mapdata:str, titulo:$("#titulo").val(), descripcion:$("#descripcion").val(), usuario:$("#usuario").val()},function(data){
var r = data.split("-");
if(r[0] == 'bien'){
alert("Ruta generada correctamente");
}else{
alert(data);
}
});
}
</script>
</body>
</html>
anadir_ruta.php:
Código PHP:
Ver original<? ob_start(); header('Cache-Control: no-store, no-cache, must-revalidate');
$data = $_REQUEST['mapdata'];
$date=date("Y-m-d H:i:s"); if($_REQUEST['command']=='save')
{
$query = "INSERT INTO rutas VALUES('','".$_POST['usuario']."','".$_POST['titulo']."','".$_POST['descripcion']."','".$data."','".$date."')";
}
?>
Quiero hacer que el primer codigo que mostre en el post anterior, grabe la ruta asi como lo hace este, es posible? Como?
Gracias por su cooperacion!