comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[SOLUCIONADO] Enviar captura de google maps por email desde PHP

  • 7 Respuestas
  • 2861 Vistas

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

Conectado graphixx

  • *
  • Moderador
  • Mensajes: 1280
  • Actividad:
    43.33%
  • Reputación 18
  • Científico de BIG DATA
    • Ver Perfil
    • Sistemas y Controles
« en: Septiembre 06, 2014, 03:15:14 pm »
Pues eso como envio desde PHP por email una imagen de la captura de un google maps predefinido.
Ando leyendo esto, ya veremos como nos va: No tienes permisos para ver links. Registrate o Entra con tu cuenta

Con esto se obtiene el mapa: No tienes permisos para ver links. Registrate o Entra con tu cuenta
Ahora falta averiguar como capturarlo en una imagen, y enviarlo por correo.



Listo ya llega el mapa de google maps con geolocalizacion al email, dejo el codigo final:
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Gracias a todos los que colaboraron!!!
« Última modificación: Septiembre 13, 2014, 03:06:35 pm por blackdrake »
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Desconectado alexander1712

  • *
  • Underc0der
  • Mensajes: 850
  • Actividad:
    0%
  • Reputación -2
    • Ver Perfil
    • El blog del programador
    • Email
« Respuesta #1 en: Septiembre 06, 2014, 04:19:25 pm »
No tienes permisos para ver links. Registrate o Entra con tu cuenta
Pues eso como envio desde PHP por email una imagen de la captura de un google maps predefinido.
Ando leyendo esto, ya veremos como nos va: No tienes permisos para ver links. Registrate o Entra con tu cuenta

Con esto se obtiene el mapa: No tienes permisos para ver links. Registrate o Entra con tu cuenta
Ahora falta averiguar como capturarlo en una imagen, y enviarlo por correo.

quizá la parte más dificil es capturar la imagen, para enviar emails existe una funcion que puedes ver en la documentación de php: No tienes permisos para ver links. Registrate o Entra con tu cuenta

sacar la captura realmente ignoro como lo harás, revisa si la documetnación de la api de google para maps no tiene una función interna para obtener pngs de un mapa, o algún formato de imagen válida.

quizá en ves de enviar el email con una imagen del mapa, podrías enviar directamente el mapa en formato html por email.

saludos!

Desconectado arthusu

  • *
  • Underc0der
  • Mensajes: 546
  • Actividad:
    8.33%
  • Reputación 2
  • Yo solo se que no se nada - Socrátes
    • Ver Perfil
    • Arthusu BLOG
  • Skype: arthusuxD
« Respuesta #2 en: Septiembre 06, 2014, 09:33:39 pm »
atrapa el mapa en el buffer y envialo como html por mail a mi me funciono, lo puedes probar aca: No tienes permisos para ver links. Registrate o Entra con tu cuenta

Conectado graphixx

  • *
  • Moderador
  • Mensajes: 1280
  • Actividad:
    43.33%
  • Reputación 18
  • Científico de BIG DATA
    • Ver Perfil
    • Sistemas y Controles
« Respuesta #3 en: Septiembre 09, 2014, 12:39:43 pm »
ya use la libreria html2canvas, pero mira como me queda:
Arriba codigo del mapa de google, abajo la imagen que me genera html2canvas, alguna idea de por que no salen las calles y demas...???


Codigo completo del script:
Código: Text
  1. <!DOCTYPE html>
  2. <html>
  3.   <head>
  4.     <meta charset="UTF-8" />
  5.     <title>Geolocation and Google Maps API</title>
  6.     <script src="http://maps.google.com/maps/api/js?sensor=true"></script>
  7.     <script>
  8.       function writeAddressName(latLng) {
  9.         var geocoder = new google.maps.Geocoder();
  10.         geocoder.geocode({
  11.           "location": latLng
  12.         },
  13.         function(results, status) {
  14.           if (status == google.maps.GeocoderStatus.OK)
  15.             document.getElementById("address").innerHTML = results[0].formatted_address;
  16.           else
  17.             document.getElementById("error").innerHTML += "Unable to retrieve your address" + "<br />";
  18.         });
  19.       }
  20.  
  21.       function geolocationSuccess(position) {
  22.         var userLatLng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
  23.         // Write the formatted address
  24.         writeAddressName(userLatLng);
  25.  
  26.         var myOptions = {
  27.           zoom : 16,
  28.           center : userLatLng,
  29.           mapTypeId : google.maps.MapTypeId.ROADMAP
  30.         };
  31.         // Draw the map
  32.         var mapObject = new google.maps.Map(document.getElementById("map"), myOptions);
  33.         // Place the marker
  34.         new google.maps.Marker({
  35.           map: mapObject,
  36.           position: userLatLng
  37.         });
  38.         // Draw a circle around the user position to have an idea of the current localization accuracy
  39.         var circle = new google.maps.Circle({
  40.           center: userLatLng,
  41.           radius: position.coords.accuracy,
  42.           map: mapObject,
  43.           fillColor: '#0000FF',
  44.           fillOpacity: 0.5,
  45.           strokeColor: '#0000FF',
  46.           strokeOpacity: 1.0
  47.         });
  48.         mapObject.fitBounds(circle.getBounds());
  49.       }
  50.  
  51.       function geolocationError(positionError) {
  52.         document.getElementById("error").innerHTML += "Error: " + positionError.message + "<br />";
  53.       }
  54.  
  55.       function geolocateUser() {
  56.         // If the browser supports the Geolocation API
  57.         if (navigator.geolocation)
  58.         {
  59.           var positionOptions = {
  60.             enableHighAccuracy: true,
  61.             timeout: 10 * 1000 // 10 seconds
  62.           };
  63.           navigator.geolocation.getCurrentPosition(geolocationSuccess, geolocationError, positionOptions);
  64.         }
  65.         else
  66.           document.getElementById("error").innerHTML += "Your browser doesn't support the Geolocation API";
  67.       }
  68.  
  69.       window.onload = geolocateUser;
  70.     </script>
  71.     <style type="text/css">
  72.       #map {
  73.         width: 500px;
  74.         height: 500px;
  75.       }
  76.     </style>
  77.   </head>
  78.   <body>
  79.     <h1>Basic example</h1>
  80.     <div id="map"></div>
  81.     <p><b>Address</b>: <span id="address"></span></p>
  82.     <p id="error"></p>
  83.        
  84.     <script type="text/javascript" src="../build/html2canvas.js"></script>
  85.     <script type="text/javascript">
  86.         function geo()
  87.     {
  88.         html2canvas(document.body, {
  89.             onrendered: function(canvas) {
  90.                 document.body.appendChild(canvas);
  91.             }
  92.         });
  93.     }
  94.         setTimeout("geo()",9000);
  95.         </script>      
  96.        
  97.        
  98.   </body>
  99. </html>
  100.  

Codigo completo del script:
No tienes permisos para ver links. Registrate o Entra con tu cuenta
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Conectado graphixx

  • *
  • Moderador
  • Mensajes: 1280
  • Actividad:
    43.33%
  • Reputación 18
  • Científico de BIG DATA
    • Ver Perfil
    • Sistemas y Controles
« Respuesta #4 en: Septiembre 09, 2014, 12:41:01 pm »
Investigando encontre:
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Y lo aplique:
Código: Javascript
  1.     <script type="text/javascript" src="../build/html2canvas.js"></script>
  2.     <script type="text/javascript">
  3.         function geo()
  4.     {
  5.         html2canvas(document.body, {
  6.                 useCORS: true,
  7.         allowTaint:true,
  8.            onrendered: function(canvas) {
  9.                document.body.appendChild(canvas);
  10.            }
  11.        });         
  12.     }
  13.         setTimeout("geo()",9000);
  14.         </script>
  15.  

Pero no funciono  :-\ :-\ :-\

Tambien probe:
No tienes permisos para ver links. Registrate o Entra con tu cuenta
Código: Javascript
  1.     <script type="text/javascript" src="../build/html2canvas.js"></script>
  2.     <script type="text/javascript">
  3.         function geo()
  4.     {
  5.         html2canvas(document.body, {
  6.                 proxy: "server.js",
  7.                 useCORS: true,
  8.         allowTaint:true,
  9.            onrendered: function(canvas) {
  10.                document.body.appendChild(canvas);
  11.            }
  12.        });                 
  13.     }
  14.         setTimeout("geo()",9000);
  15.         </script>
  16.  
Pero tampoco funciono.
Ademas aca dicen que usar proxys para cargar los mapas es ilegal:
No tienes permisos para ver links. Registrate o Entra con tu cuenta  :o :o :o
Tambien por lo que pude entender con mi modesto ingles, de ese post es que html2canvas no soporta aun CSS3 y los google maps parecen estar hechos a punta de CSS3, quede frito.

Este ejemplo me quede sin saber si servia o no:
No tienes permisos para ver links. Registrate o Entra con tu cuenta
Me fue imposible ponerlo a trabajar.

Seguire en la busqueda...
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Conectado graphixx

  • *
  • Moderador
  • Mensajes: 1280
  • Actividad:
    43.33%
  • Reputación 18
  • Científico de BIG DATA
    • Ver Perfil
    • Sistemas y Controles
« Respuesta #5 en: Septiembre 09, 2014, 12:41:52 pm »
 encontre un ejemplo con html2canvas que funciona en la web del autor (No tienes permisos para ver links. Registrate o Entra con tu cuenta) , pero a mi no me funciono jejeje...
Dejo el codigo por aca haber que error le ven, yo no le doy al clavo...
Código: HTML
  1. <!DOCTYPE html>
  2. <No tienes permisos para ver links. Registrate o Entra con tu cuenta>
  3.   <No tienes permisos para ver links. Registrate o Entra con tu cuenta>
  4.     <No tienes permisos para ver links. Registrate o Entra con tu cuenta charset="UTF-8" />
  5.     <No tienes permisos para ver links. Registrate o Entra con tu cuenta>Geolocation and Google Maps API</No tienes permisos para ver links. Registrate o Entra con tu cuenta>
  6.     <No tienes permisos para ver links. Registrate o Entra con tu cuenta src="http://maps.google.com/maps/api/js?sensor=true"></No tienes permisos para ver links. Registrate o Entra con tu cuenta>
  7.     <No tienes permisos para ver links. Registrate o Entra con tu cuenta>
  8.       function writeAddressName(latLng) {
  9.         var geocoder = new google.maps.Geocoder();
  10.         geocoder.geocode({
  11.           "location": latLng
  12.         },
  13.         function(results, status) {
  14.           if (status == google.maps.GeocoderStatus.OK)
  15.             document.getElementById("address").innerHTML = results[0].formatted_address;
  16.           else
  17.             document.getElementById("error").innerHTML += "Unable to retrieve your address" + "<No tienes permisos para ver links. Registrate o Entra con tu cuenta />";
  18.         });
  19.       }
  20.  
  21.       function geolocationSuccess(position) {
  22.         var userLatLng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
  23.         // Write the formatted address
  24.         writeAddressName(userLatLng);
  25.  
  26.         var myOptions = {
  27.           zoom : 16,
  28.           center : userLatLng,
  29.           mapTypeId : google.maps.MapTypeId.ROADMAP
  30.         };
  31.         // Draw the map
  32.         var mapObject = new google.maps.Map(document.getElementById("map"), myOptions);
  33.         // Place the marker
  34.         new google.maps.Marker({
  35.           map: mapObject,
  36.           position: userLatLng
  37.         });
  38.         // Draw a circle around the user position to have an idea of the current localization accuracy
  39.         var circle = new google.maps.Circle({
  40.           center: userLatLng,
  41.           radius: position.coords.accuracy,
  42.           map: mapObject,
  43.           fillColor: '#0000FF',
  44.           fillOpacity: 0.5,
  45.           strokeColor: '#0000FF',
  46.           strokeOpacity: 1.0
  47.         });
  48.         mapObject.fitBounds(circle.getBounds());
  49.       }
  50.  
  51.       function geolocationError(positionError) {
  52.         document.getElementById("error").innerHTML += "Error: " + positionError.message + "<No tienes permisos para ver links. Registrate o Entra con tu cuenta />";
  53.       }
  54.  
  55.       function geolocateUser() {
  56.         // If the browser supports the Geolocation API
  57.         if (navigator.geolocation)
  58.         {
  59.           var positionOptions = {
  60.             enableHighAccuracy: true,
  61.             timeout: 10 * 1000 // 10 seconds
  62.           };
  63.           navigator.geolocation.getCurrentPosition(geolocationSuccess, geolocationError, positionOptions);
  64.         }
  65.         else
  66.           document.getElementById("error").innerHTML += "Your browser doesn't support the Geolocation API";
  67.       }
  68.  
  69.       window.onload = geolocateUser;
  70.     </No tienes permisos para ver links. Registrate o Entra con tu cuenta>
  71.     <No tienes permisos para ver links. Registrate o Entra con tu cuenta type="text/css">
  72.       #map {
  73.         width: 500px;
  74.         height: 500px;
  75.       }
  76.     </No tienes permisos para ver links. Registrate o Entra con tu cuenta>
  77.   </No tienes permisos para ver links. Registrate o Entra con tu cuenta>
  78.   <No tienes permisos para ver links. Registrate o Entra con tu cuenta>
  79.     <No tienes permisos para ver links. Registrate o Entra con tu cuenta>Basic example</No tienes permisos para ver links. Registrate o Entra con tu cuenta>
  80.     <No tienes permisos para ver links. Registrate o Entra con tu cuenta id="map"></No tienes permisos para ver links. Registrate o Entra con tu cuenta>
  81.     <No tienes permisos para ver links. Registrate o Entra con tu cuenta><No tienes permisos para ver links. Registrate o Entra con tu cuenta>Address</No tienes permisos para ver links. Registrate o Entra con tu cuenta>: <No tienes permisos para ver links. Registrate o Entra con tu cuenta id="address"></No tienes permisos para ver links. Registrate o Entra con tu cuenta></No tienes permisos para ver links. Registrate o Entra con tu cuenta>
  82.     <No tienes permisos para ver links. Registrate o Entra con tu cuenta id="error"></No tienes permisos para ver links. Registrate o Entra con tu cuenta>
  83.  
  84.     <No tienes permisos para ver links. Registrate o Entra con tu cuenta type="text/javascript" src="../build/html2canvas.js"></No tienes permisos para ver links. Registrate o Entra con tu cuenta>
  85.     <No tienes permisos para ver links. Registrate o Entra con tu cuenta type="text/javascript" src="jquery.plugin.html2canvas.js"></No tienes permisos para ver links. Registrate o Entra con tu cuenta>
  86.     <No tienes permisos para ver links. Registrate o Entra con tu cuenta src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.js"></No tienes permisos para ver links. Registrate o Entra con tu cuenta>
  87.         <No tienes permisos para ver links. Registrate o Entra con tu cuenta type="text/javascript" src ="http://code.jquery.com/jquery-1.9.0.min.js"></No tienes permisos para ver links. Registrate o Entra con tu cuenta>
  88.         <No tienes permisos para ver links. Registrate o Entra con tu cuenta type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></No tienes permisos para ver links. Registrate o Entra con tu cuenta>
  89.     <No tienes permisos para ver links. Registrate o Entra con tu cuenta type="text/javascript">
  90.  
  91. $(window).load(function(){
  92.          
  93.             $('#load').click(function(){
  94.          
  95.                     html2canvas(document.body, {
  96.                     useCORS: true,
  97.                         onrendered: function (canvas) {
  98.                         var dataUrl= canvas.toDataURL("image/png").replace("image/png", "image/octet-stream");
  99.          
  100.                         window.location.href = dataUrl;
  101.                                             }
  102.                     });
  103.          
  104.             });
  105.         });
  106.         </No tienes permisos para ver links. Registrate o Entra con tu cuenta>      
  107.        
  108. <No tienes permisos para ver links. Registrate o Entra con tu cuenta type="button" value="Save" id="load"/>
  109.   </No tienes permisos para ver links. Registrate o Entra con tu cuenta>
  110. </No tienes permisos para ver links. Registrate o Entra con tu cuenta>
  111.  

Script completo con librerias aca:
No tienes permisos para ver links. Registrate o Entra con tu cuenta
El ejemplo que funciona del autor se llama index2.php , el ejemplo mio que no funciona es index.php
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Conectado graphixx

  • *
  • Moderador
  • Mensajes: 1280
  • Actividad:
    43.33%
  • Reputación 18
  • Científico de BIG DATA
    • Ver Perfil
    • Sistemas y Controles
« Respuesta #6 en: Septiembre 10, 2014, 07:15:16 pm »
El snapshotcontrol (No tienes permisos para ver links. Registrate o Entra con tu cuenta) esta genial, casi que no lo pongo a trabajar junto con el codigo de geolocalizacion actual... la prueba la monte aca:
No tienes permisos para ver links. Registrate o Entra con tu cuenta
El codigo de ejemplo lo subo por aca:
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Ahora necesito saber como capturar ese link de imagen estatica que la libreria crea en el popup, ayuda con eso please.
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Conectado graphixx

  • *
  • Moderador
  • Mensajes: 1280
  • Actividad:
    43.33%
  • Reputación 18
  • Científico de BIG DATA
    • Ver Perfil
    • Sistemas y Controles
« Respuesta #7 en: Septiembre 13, 2014, 01:34:26 pm »
Listo ya llega el mapa de google maps con geolocalizacion al email, dejo el codigo final:
No tienes permisos para ver links. Registrate o Entra con tu cuenta

Gracias a todos los que colaboraron!!!
No tienes permisos para ver links. Registrate o Entra con tu cuenta

 

¿Te gustó el post? COMPARTILO!



[SOLUCIONADO] ¿Kali Linux o Kali Linux Ligth ?

Iniciado por worq

Respuestas: 2
Vistas: 6910
Último mensaje Noviembre 21, 2017, 12:28:54 pm
por Codig0Bit
[SOLUCIONADO] ¿Como publicar un software como software libre?

Iniciado por FuriosoJack

Respuestas: 2
Vistas: 1579
Último mensaje Mayo 23, 2017, 07:24:22 am
por HATI
[SOLUCIONADO] Multiuploader de imagenes con mysql, hosting de imagenes con mysql

Iniciado por graphixx

Respuestas: 4
Vistas: 2176
Último mensaje Marzo 26, 2013, 05:42:58 pm
por Xt3mP
[SOLUCIONADO] Linux Mint, errores, errores y mas errores...

Iniciado por n1sendev

Respuestas: 12
Vistas: 2815
Último mensaje Noviembre 22, 2017, 06:50:55 am
por RuidosoBSD
[SOLUCIONADO] Ayuda urgente con Virus "Virus.Win32Sality"

Iniciado por Napsters

Respuestas: 6
Vistas: 3401
Último mensaje Junio 11, 2012, 03:38:18 am
por Satyricon