2012-07-21 7 views
7

En mi página, hay un contenedor que utiliza Google Maps API para mostrar un mapa, hay un botón debajo de él, el usuario puede arrastrar el mapa a una posición, luego haga clic en el botón, me gustaría tomar la captura de pantalla del mapa que se muestra en el contenedor ahora y mostrarlo en un lienzo. ¿Es posible hacer esto con JavaScript puro?Cómo tomar la captura de pantalla de una parte de Google Maps use JavaScript

sólo tiene que apoyar Chrome

Respuesta

17

Será difícil de hacer sin el apoyo del navegador. Pero se puede usar Google Static Maps API: https://developers.google.com/maps/documentation/staticmaps/

Ejemplo: https://developers.google.com/maps/documentation/staticmaps/#quick_example


Hay algunos proyectos para dibujar DOM HTML al lienzo:

También puede integrar Javascript con un poco de solución de servidor (usando WebKit), por ejemplo phantomjs

código de ejemplo: (leer más here)

var page = require('webpage').create(); 

page.open('http://www.google.com', function() { 

    page.viewportSize = {width: 1024, height: 768}; 
    page.render('screenshot.png'); 
    phantom.exit(); 
}); 

Si necesita una solución única de cromo para la específica rango de usuarios puede escribir su propia extensión de cromo para hacer esto: Taking screenshot using javascript for chrome extensions

+0

solo Chrome debe ser compatible – wong2

+0

leer la versión editada de mi respuesta – rogal111

+0

¿Hay alguna actualización sobre esto? ¿La API 3 le da la capacidad de hacer esto? – Jason

Cuestiones relacionadas