IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Html vers Image et Google Maps


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 30
    Points : 15
    Points
    15
    Par défaut Html vers Image et Google Maps
    Bonjour,
    je suis actuellement en train de développer un code me permettant d'enregistrer en image une div HTML.

    J'ai trouvé pas mal de petits codes sur le net mais aucun ne répond à mon problème.
    En effet, ma div contient une carte Google Maps ainsi qu'une trace.

    Quand je lance mon js, seule la trace est récupérée, les "tuiles" google maps ne le sont pas.

    Est-ce que quelqu'un pourrait m'aider svp ?
    Je pense que c'est un soucis de z-index, ou de div superposées mais je ne suis vraiment pas sur.

    Voici le code: https://jsfiddle.net/sah7s2te/3/
    Merci d'avance.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 110
    Points : 44 929
    Points
    44 929
    Par défaut
    Bonjour,
    Citation Envoyé par html2canvas
    Limitations
    All the images that the script uses need to reside under the same origin for it to be able to read...
    donc limitations atteinte pour les images issues de http://tile.opencyclemap.org/...

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 30
    Points : 15
    Points
    15
    Par défaut
    Mince, je n'avais pas vu ça.

    Il faudrait donc que je "rapatrie" les images à la volée avant de générer mon image.
    Je vais essayer.
    Merci !

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 30
    Points : 15
    Points
    15
    Par défaut
    Du coup, j'ai récupéré cette fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    // Code taken from MatthewCrumley (http://stackoverflow.com/a/934925/298479)
          function getBase64Image(img) {
            // Create an empty canvas element
            var canvas = document.createElement("canvas");
            canvas.width = img.width;
            canvas.height = img.height;
     
            // Copy the image contents to the canvas
            var ctx = canvas.getContext("2d");
            ctx.drawImage(img, 0, 0);
     
            // Get the data-URL formatted image
            // Firefox supports PNG and JPEG. You could check img.src to guess the
            // original format, but be aware the using "image/jpg" will re-encode the image.
            var dataURL = canvas.toDataURL("image/png");
     
            return dataURL.replace(/^data:image\/(png|jpg);base64,/, "");
          }
    qui est appelée comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $('#carte img').each(function(index, img){
            var image = new Image();
            image.src = getBase64Image(img);
            image.className = 'canvas';
            image.style.width = '256px';
            image.style.height = '256px';
            $('#carte img').find('src:eq('+index+')').replaceWith(image);
    Malheureusement, j'ai cette erreur dans ma console:
    "SecurityError: The operation is insecure.
    var dataURL = canvas.toDataURL("image/png");"

    Je ne comprends pas ce qui l'embête dans le fait de convertir une image en data binaire.

    Merci beaucoup pour l'aide :-)

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 110
    Points : 44 929
    Points
    44 929
    Par défaut
    C'est le même problème de domaine même si tu places d'abord l'image dans un <canvas>.

    Si tu utilises toujours les mêmes images, héberges en une copie sur ton site, encodes les via un outils comme

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 30
    Points : 15
    Points
    15
    Par défaut
    Justement non, ce ne sont jamais les mêmes images.
    C'est bien ça qui m'ennuie.

    Du coup c'est impossible de faire une image d'un code HTML contenant des images hébergées ailleurs en js ?

    Je peux essayer en php mais je ne suis pas sur que ce soit possible du coup.

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 110
    Points : 44 929
    Points
    44 929
    Par défaut
    Tu as encore la possibilité d'utiliser Google Maps Image APIs et de l'enregistrer coté serveur.

Discussions similaires

  1. [Google Maps] Ajout d'une Image dans google Map
    Par loribac dans le forum APIs Google
    Réponses: 13
    Dernier message: 14/05/2014, 14h14
  2. [JavaScript] Déplacement dans une image style Google Maps.
    Par Bovino dans le forum Contribuez
    Réponses: 9
    Dernier message: 05/03/2012, 14h43
  3. [Google Maps] Insérer une image
    Par pcayrol dans le forum APIs Google
    Réponses: 2
    Dernier message: 26/04/2010, 14h14
  4. Geolocalisation sur une image type google map
    Par James_ dans le forum LabVIEW
    Réponses: 3
    Dernier message: 09/02/2010, 09h52
  5. Export tableau HTML vers Image PNG/JPG
    Par nic2t dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 06/07/2009, 09h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo