Hola amigos, quisiera ver la posibilidad que me puedan ayudar con este tema: Tengo un php que a través de él quiero obtener la latitud y longitud de una dirección
Código HTML:
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"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<form action="agreagar.php" method="post" enctype="multipart/form-data" class="form-horizontal" id="frmAdd"> <div class="control-group"> <label class="control-label" for="cboGrupos">Clientes
</label> <div class="controls controls-row"> <select name="cboClientes" class="select2-select-00 span6" id="cboClientes"> <?
$sqlC="select id_cliente, nombre from clientes order by id_cliente";
$resultC=pg_query($conn, $sqlC);
if($rowC=pg_fetch_array($resultC)){
do{
echo "<option value=\"".$rowC['id_cliente']."\">".$rowC['nombre']."
</option>";
}while($rowC=pg_fetch_array($resultC));
}
?>
<div class="control-group"> <label for="txtMensaje" class="control-label">Ubicación
</label> <input name="txtMensaje" type="text" class="span6" id="txtMensaje" value="<?=$pdata['txtMensaje'];?>">
<div class="control-group"> <label for="txtCalle" class="control-label">Dirección
</label> <input name="txtCalle" type="text" class="span6" id="txtCalle" value="<?=$pdata['txtCalle'];?>" maxlength="400">
<p class="help-block"><code id="lenCalle">Maximo caracteres 400 caracteres.
</code></p> <div class="control-group"> <label class="control-label" for="cboGrupos">Comuna
</label> <div class="controls controls-row"> <select name="cboComunas" class="select2-select-00 span6" id="cboComunas"> <?
$sqlCm="select id_comuna, comuna from comunas";
$resultCm=pg_query($conn, $sqlCm);
if($rowCm=pg_fetch_array($resultCm)){
do{
echo "<option value=\"".$rowCm['id_comuna']."\">".$rowCm['comuna']."
</option>";
}while($rowCm=pg_fetch_array($resultCm));
}
?>
<div class="form-actions"> <button type="button" class="btn btn-primary">Guardar
</button> <button class="btn" type="reset" id="btnCancel">Limpiar
</button> <div id="progressbar" class="progress active progress-striped span3" style="display:none"> <div class="bar" style="width: 67%; "></div>
Ese formulario hace referencia a agregar.php, donde recibo las variables por post, en mi base de datos solo estoy guardando los campos cliente, ubicación (no es la dirección), comuna
Código PHP:
Ver original<?
include("session.php");
include("include/conn.php");
$do_commit=true;
$data=$_POST;
$do_commit=false;
$errmesg.="Debes seleccionar un Cliente.<br>";
}
$do_commit=false;
$errmesg.="Debes ingresar tu ubicación.<br>";
}
$do_commit=false;
$errmesg.="Debes seleccionar una Comuna.<br>";
}
$sql1="select id_comuna, comuna from comunas where id_comuna=$cboComunas";
$nom_comuna=$row1['comuna'] ;
}
$address = $txtCalle;;
$addressCompleta = $txtCalle." ". $nom_comuna." ". 'Chile';
$lat = $resultado['results'][0]['geometry']['location']['lat'];
$lon = $resultado['results'][0]['geometry']['location']['lng'];
$latlon = "$lat,$lon";
if($do_commit){
$sql2="insert into faros.faros_cliente (cliente_id, ubicacion, latlon, comuna_id) values ($cboClientes, '$txtMensaje', '$latlon', $cboComunas)";
$do_commit=false;
$errmesg.="Error Inesperado.<br>";
}else{
$sql3="select LASTVAL();";
$local=$row3[0];
}else{
$do_commit=false;
$errmesg.="Error Inesperado.<br>";
}
}
}
if($do_commit){
}
if(!$do_commit){
$_SESSION['pdata']=$_POST;
$_SESSION['errmesg']=$errmesg;
}
?>
HASTA AQUI NO TENGO NINGUN PROBLEMA, puedo ver por consola los resultados que he enviado, por ejemplo en dirección imprime: Tobalaba 1411, providencia, Chile.
La dificultad la tengo ahora, cuando quiero editar el php, hago llegar todos los datos, pero en la dirección me da un problema: me llega de la siguiente forma: Tobalaba 1400 - 1500.
Código PHP:
Ver original<?
include("session.php");
include("include/conn.php");
$pdata=$_SESSION['pdata'];
}
unset($_SESSION['pdata']);
$idC=$_GET['idC'];
$sql="select id_faroclie, identificador, fc.faro_id, nombre as cliente, ubicacion, descripcion, cm.comuna, cm.id_comuna, latlon from cliente as cf, foco as f, clientes_f as c, comunas as cm where c.id_cliente=fc.cliente_id and f.id_faro=fc.faro_id and cm.id_comuna=fc.comuna_id and id_faroclie=$idC";
}
$pdata['idC']=$row['id_faroclie'];
$pdata['cboGrupos']=$row['faro_id'];
$pdata['txtMensaje']=$row['ubicacion'];
$pdata['txtDescripcion']=$row['descripcion'];
$pdata['cboComunas']=$row['id_comuna'];
$pdata['latlon']=$row['latlon'];
$coordenadas=explode(",", $pdata['latlon']); $txtCalle=getAddress($coordenadas[0], $coordenadas[1]);
$direccionCorta=explode(",", $txtCalle);
function getAddress($lat, $lon){
$url = "http://maps.googleapis.com/maps/api/geocode/json?latlng=".
$lat.",".$lon."&sensor=false";
$status = $data->status;
$address = '';
$types =$data->street_address;
if($status == "OK"){
$address = $data->results[0]->formatted_address;
}
return $address;
}
?>
Es posible que en la dirección que editaré solo me llegue la dirección como yo la inserte y no un rango de esta?
Si me pueden ayudar se los agradecería un monton.
Muchas Gracias