[AYUDA] Integracion de GoogleMaps con AJAX, enviar mapa por email

Iniciado por Graphixx, 12 Septiembre 2014, 17:35 PM

0 Miembros y 1 Visitante están viendo este tema.

Graphixx

Listo ya llega el mapa de google maps con geolocalizacion al email, dejo el codigo final:
http://www.4shared.com/zip/JqwOFSU8ba/geo6_google_maps_email_php.html

Gracias a todos los que colaboraron!!!


Primero que todo estoy usando PHPMailer por lo que mas adelante pienso consumir miles de correos al dia y usar SMTP por eso no use simplemente mail. Y pues estoy tratando de hacer un POST Dinamico con AJAX a al script donde envio el email y no me da.

Index.html
Código (php) [Seleccionar]

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="robots" content="noindex,follow"/>
<title>Geolocalizacion con HTML5</title>
<link rel="shortcut icon" href="/favicon.ico" />
<style type="text/css">img{border:0}</style>
</head>
<body onload="detectar()">
<div id="mapa">
</div>
<!--email -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" type="text/javascript"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<!--email -->
<script src="http://code.google.com/apis/gears/gears_init.js" type="text/javascript" charset="utf-8"></script>
<script src="geo.js" type="text/javascript" charset="utf-8"></script>
<script language="javascript">
function detectar(){
if(geo_position_js.init())
{
document.getElementById('mapa').innerHTML="Leyendo...";
geo_position_js.getCurrentPosition(mostra_ubicacion,function(){document.getElementById('mapa').innerHTML="No se pudo detectar la ubicación"},{enableHighAccuracy:true});
} else {
document.getElementById('mapa').innerHTML="La geolocalización no funciona en este navegador.";
}
}
function mostra_ubicacion(p){
var coords = p.coords.latitude + "," + p.coords.longitude;

//email
var url= "email_geo_simple.php";
$.ajax({
type: "post",
url:url,
data:{coord:coords},
beforeSend: function()
{
$('#mensaje').html("Cargando...");
},
success: function(datos)
{
  $('#mensaje').html(datos);  
}
});
//email

document.getElementById('mapa').innerHTML="<a href=\"http://maps.google.com/?q="+coords+"\"><img src=\"http://maps.google.com/maps/api/staticmap?center="+coords+"&maptype=roadmap&size=400x400&zoom=15&markers=size:mid|"+coords+"&sensor=false\" alt=\"mapa\"/></a>";
}


</script>
</body>
</html>


email_geo_simple.php
Código (php) [Seleccionar]

<?php
require_once 'email/class.phpmailer.php';

$coord $_POST["coord"];

$mail = new PHPMailer(true); //defaults to using php "mail()"; the true param means it will throw exceptions on errors, which we need to catch

$email '<a href=\"http://maps.google.com/?q='.$coord.'"\"><img src=\"http://maps.google.com/maps/api/staticmap?center='.$coord.'&maptype=roadmap&size=400x400&zoom=15&markers=size:mid|'.$coord.'&sensor=false\" alt=\"mapa\"/></a>';

try {
  
$mail->AddReplyTo('contacto@medica.com.co''Medica');
  
$mail->AddAddress('proyectosweb@sistemasycontroles.net''Medica');
  
$mail->SetFrom('contacto@medica.com.co''Medica');
  
$mail->AddReplyTo('paisa_net@hotmail.com''Medica');
  
$mail->Subject 'Su perfil medico ha sido consultado';
  
$mail->AltBody 'Para ver este mensaje, por favor use un cliente de correo compatible con HTML!'// optional - MsgHTML will create an alternate automatically
  //$mail->MsgHTML(file_get_contents('contents.html'));
  
$mail->MsgHTML($email);
  
//$mail->AddAttachment('images/phpmailer.gif');      // attachment
  //$mail->AddAttachment('images/phpmailer_mini.gif'); // attachment
  
$mail->Send();
  echo 
"Message Sent OK<p></p>\n";
} catch (
phpmailerException $e) {
  echo 
$e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
  echo 
$e->getMessage(); //Boring error messages from anything else!
}
    
?>



Si alguien me sabe indicar por que no se ejecuta : email_geo_simple.php, se agradece.

Script completo:
http://www.4shared.com/zip/ynY7K11nba/geo6.html
Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx
Mi blog

Pablo Videla

Te muestra algun error en particular?

Agrega esto a tu ajax
Código (javascript) [Seleccionar]

error: function (request, status, error) {
        alert(request.responseText);
    }


Para ver que error te sale. O llega al Success?

Graphixx

Cita de: DonVidela en 12 Septiembre 2014, 22:04 PM
Te muestra algun error en particular?

No muestra nada, tengo el codigo montado aca:
http://phpdatagrids.com/am_geo_email/

Código (javascript) [Seleccionar]

var url= "email_geo_simple.php";
$.ajax({
type: "post",
url:url,
data:{coord:coords},
beforeSend: function()
{
$('#mensaje').html("Cargando...");
},
success: function(datos)
{
   $('#mensaje').html(datos);    
},
error: function (request, status, error) {
                                    alert(request.responseText);
                                }
});

Sigo sin entender por que no se ejecuta el codigo en: email_geo_simple.php :(
Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx
Mi blog

MinusFour

Tu código si se ejecuta:

CitarRemote Address:31.22.4.60:80
Request URL:http://phpdatagrids.com/am_geo_email/email_geo_simple.php
Request Method:POST
Status Code:200 OK

Por otro lado, el gear_init.js regresa un 404.

CitarRemote Address:173.194.115.33:80
Request URL:http://code.google.com/apis/gears/gears_init.js
Request Method:GET
Status Code:404 Not Found

http://code.google.com/apis/gears/gears_init.js

Graphixx

Hay Dios, no lo puedo creer 3 dias rompiendome el lomo con ese codigo moviendo y moviendo cosas, cambiando de librerias, y era el "#$%%!" servidor assssss, lo cambie de server y ya funciona llega el email con las coordenadas desde donde fue leido el script, ahora me pongo a trabajar en convertir esas coordenadas en mapa, dejo el codigo funcionando por aca.

http://www.4shared.com/rar/dQ330i0bce/geo6_coord_google_maps_php.html

Gracias a Todos, a DonVidela y Minusfour por su apoyo, gracias gracias!!!
PD: Si me enseñas con que hiciste ese debug de que el POST llegaba bien me fascinaria.
Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx
Mi blog

Graphixx

Listo ya llega el mapa de google maps con geolocalizacion al email, dejo el codigo final:
http://www.4shared.com/zip/JqwOFSU8ba/geo6_google_maps_email_php.html

Gracias a todos los que colaboraron!!!
Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx
Mi blog

Pablo Videla

 ;-)

Bajando en caso de que alguna vez lo necesite ajjaja, saludos.

onStrike

Creo que lo hizo con la consola de programador de firefox por.en donde ves los post y los get