Insérer une google map dans un pdf

Résolu
lirmo Messages postés 31 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 30 mars 2011 - 27 juil. 2010 à 09:55
lirmo Messages postés 31 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 30 mars 2011 - 30 juil. 2010 à 11:11
Bonjour,
Sur mon site web j'ai une carte google map que l'utilisateur peut modifier à ca guise(ajouter markers, polylines, polygones,...). J'aimerais qu'apres toutes les modifications apportées, il puisse l'exporter en PDF.
J'ai déjà pensé à static map mais la ce n'est pas légal, c'est stipulé dans les termes d'utilisation.
J'ai pensé à imagegrabscreen() une fonction php qui capture la page courante mais la pas possible car mon serveur est sur linux.
Sachant que je souhaite que ce site soit totalement compatible avec firefox quelqu'un pourrait m'apporter son aide?

19 réponses

RaftY Messages postés 56 Date d'inscription mardi 5 mars 2002 Statut Membre Dernière intervention 12 août 2010
27 juil. 2010 à 18:32
Je vais te contredire c'est possible,

voici la preuve sur serveur linux

http://mediasteak.free.fr/testGMap/

source http://mediasteak.free.fr/testGMap/testGmap.zip

______oOOO________OOOo________

RaftY, du code C commode!
3
RaftY Messages postés 56 Date d'inscription mardi 5 mars 2002 Statut Membre Dernière intervention 12 août 2010
27 juil. 2010 à 10:13
Bonjour,
Je ne suis pas un spécialiste de googlemap cependant il existe les staticmap qui retourne des images, une fois récupérée elle peuvent être intégrée dans un PDF.

voir http://geotribu.net/node/29

______oOOO________OOOo________

RaftY, du code C commode!
0
lirmo Messages postés 31 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 30 mars 2011
27 juil. 2010 à 10:56
Oui je me suis déjà intéressé à cette solution, mais je ne peux afficher une carte static que dans une balise image. Je ne peux pas l'intégrer dans un pdf. Google permet d'afficher ce genre de carte que si c'est le navigateur qui fait la requête et non avec du code php.
0
RaftY Messages postés 56 Date d'inscription mardi 5 mars 2002 Statut Membre Dernière intervention 12 août 2010
27 juil. 2010 à 11:14
Normalement avec

$handle = fopen("url", "r");
$contents = stream_get_contents($handle);
fclose($handle);

if (!$handle = fopen($filename, 'a')) {
         echo "Impossible d'ouvrir le fichier ($filename)";
         exit;
    }

    // Ecrivons quelque chose dans notre fichier.
    if (fwrite($handle, $contents) === FALSE) {
        echo "Impossible d'écrire dans le fichier ($filename)";
        exit;
    }

    echo "L'écriture de ($somecontent) dans le fichier ($filename) a réussi";

    fclose($handle);


{code non testé}

Tu récupères ton image sur ton serveur, puis tu l'inclus dans ton PDF.

Attention allow_url_open doit être actif




______oOOO________OOOo________

RaftY, du code C commode!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
RaftY Messages postés 56 Date d'inscription mardi 5 mars 2002 Statut Membre Dernière intervention 12 août 2010
27 juil. 2010 à 11:18
Oups désolé j'ai été un peu vite dans le code:

je le remet:

<?php
$url="ton_url_staticmap";
$filename="./files/mamap.gif";
if (!$handle = fopen($url, 'a')) {
         echo "Impossible d'ouvrir le fichier ($filename)";
         exit;
    }

    // Ecrivons quelque chose dans notre fichier.
    if (fwrite($handle, $contents) === FALSE) {
        echo "Impossible d'écrire dans le fichier ($filename)";
        exit;
    }

    echo "L'écriture de ($contents) dans le fichier ($filename) a réussi";

    fclose($handle);

?>




______oOOO________OOOo________

RaftY, du code C commode!
0
lirmo Messages postés 31 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 30 mars 2011
27 juil. 2010 à 11:20
okay j'essaie ça je te tiens au courant.
0
lirmo Messages postés 31 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 30 mars 2011
27 juil. 2010 à 11:54
impossible d'ouvrir le .gif
0
RaftY Messages postés 56 Date d'inscription mardi 5 mars 2002 Statut Membre Dernière intervention 12 août 2010
27 juil. 2010 à 12:56
oups normal, j'ai ouvert le fichier mais je l'ai pas lu

<?php
$url="ton_url_staticmap";
$filename="./files/mamap.gif";
if (!$handle = fopen($url, 'a')) {
         echo "Impossible d'ouvrir le fichier ($filename)";
         exit;
    }
//la ligne qui manque
$contents = stream_get_contents($handle);

    // Ecrivons quelque chose dans notre fichier.
    if (fwrite($handle, $contents) === FALSE) {
        echo "Impossible d'écrire dans le fichier ($filename)";
        exit;
    }

    echo "Ecriture dans le fichier ($filename) a réussi";

    fclose($handle);

?>



______oOOO________OOOo________

RaftY, du code C commode!
0
RaftY Messages postés 56 Date d'inscription mardi 5 mars 2002 Statut Membre Dernière intervention 12 août 2010
27 juil. 2010 à 13:06
J'ai pris quelques minutes pour tester, mon code. 1 ou 2 petit aménagements. ET voilà cela fonctionne.


<?php
$url="http://maps.google.com/staticmap?center=43.57691664771851,1.402451992034912&zoom=15&size=400x400&
markers=43.57691664771851,1.402451992034912,bluem&key=clé";

$filename="./files/mamap.gif";
if (!$handle = fopen($url, 'r')) {
echo "Impossible d'ouvrir le fichier ($filename)";
exit;
}


$contents = stream_get_contents($handle);
fclose($handle);

$handle2=fopen($filename, 'w');
// Ecrivons quelque chose dans notre fichier.
if (fwrite($handle2, $contents) === FALSE) {
echo "Impossible d'écrire dans le fichier ($filename)";
exit;
}

echo "L'écriture de () dans le fichier ($filename) a réussi";

fclose($handle2);

print("")

?>


{code testé}

______oOOO________OOOo________

RaftY, du code C commode!
0
lirmo Messages postés 31 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 30 mars 2011
27 juil. 2010 à 13:54
bah pas chez moi... Tjs impossible d'ouvrir le mamap.gif!

voila mon code
include_once("class.Bf_Download.php");

$url="http://maps.google.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=14&size=512x512&maptype=roadmap
&markers=color:blue|label:S|40.702147,-74.015794&markers=color:green|label:G|40.711614,-74.012318
&markers=color:red|color:red|label:C|40.718217,-73.998284&sensor=false";
echo '';

$filename="mamap.gif";
if (!$handle = fopen($url, 'r')) {
echo "Impossible d'ouvrir le fichier ($filename)";
exit;
}


$contents = stream_get_contents($handle);
fclose($handle);

$handle2=fopen($filename, 'w');
// Ecrivons quelque chose dans notre fichier.
if (fwrite($handle2, $contents) === FALSE) {
echo "Impossible d'écrire dans le fichier ($filename)";
exit;
}

echo "L'écriture de () dans le fichier ($filename) a réussi";

fclose($handle2);



$fichier = new Bf_Download($filename);              
$fichier->download_file();
?>
0
RaftY Messages postés 56 Date d'inscription mardi 5 mars 2002 Statut Membre Dernière intervention 12 août 2010
27 juil. 2010 à 16:26
Ok j'ai compris, en fait l'image de ton URL est du PNG, mais du PNG 8 bits.

La solution est d'ajouter &format= png32 au bout de ton url, et de changer $filename="mamap.png"

donc pour ton code cela donne:

<?php
include_once("class.Bf_Download.php");

$url ="http://maps.google.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=14&size=512x512&maptype=roadmap
&markers=color:blue|label:S|40.702147,-74.015794&markers=color:green|label:G|40.711614,-74.012318
&markers=color:red|color:red|label:C|40.718217,-73.998284&sensor=false&format=png32";
echo '';

$filename="mamap.png";
if (!$handle = fopen($url, 'r')) {
echo "Impossible d'ouvrir le fichier ($filename)";
exit;
}


$contents = stream_get_contents($handle);
fclose($handle);

$handle2=fopen($filename, 'w');
// Ecrivons quelque chose dans notre fichier.
if (fwrite($handle2, $contents) === FALSE) {
echo "Impossible d'écrire dans le fichier ($filename)";
exit;
}

echo "L'écriture de () dans le fichier ($filename) a réussi";

fclose($handle2);



$fichier = new Bf_Download($filename);              
$fichier->download_file();
?>


______oOOO________OOOo________

RaftY, du code C commode!
0
lirmo Messages postés 31 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 30 mars 2011
27 juil. 2010 à 17:05
Eh bah tjs pas lol... Mais je pense pas que ce ne soit pas possible de le faire comme ça. J'ai essayer avec fpdf et google ne retourne rien alors que la carte est affichée...
0
lirmo Messages postés 31 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 30 mars 2011
28 juil. 2010 à 18:55
a oui bien vu. Je suis pas chez moi, j'essaie demain... Mais en tout cas. BRAVO
0
lirmo Messages postés 31 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 30 mars 2011
29 juil. 2010 à 10:04
merci ça marche impec.
0
lirmo Messages postés 31 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 30 mars 2011
29 juil. 2010 à 14:27
en fait que je le fais tourner sur easy php ca marche. Lorsque je le mets sur mon serveur. Ça donne

Warning: fopen(http://maps.google.com/maps/api/staticmap?center=nancy,france&zoom=14&size=900x500&maptype=terrain&sensor=false&format=png): failed to open stream: Connexion refusée

Ça peut venir de quoi???
0
RaftY Messages postés 56 Date d'inscription mardi 5 mars 2002 Statut Membre Dernière intervention 12 août 2010
29 juil. 2010 à 20:42
Il faut que la constante allow_url_fopen soit activée sur ton serveur. (dans le Php.ini ou directive de lancement php)
______oOOO________OOOo________

RaftY, du code C commode!
0
lirmo Messages postés 31 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 30 mars 2011
30 juil. 2010 à 09:38
allow_url_fopen => On => On
Elle y est!
0
RaftY Messages postés 56 Date d'inscription mardi 5 mars 2002 Statut Membre Dernière intervention 12 août 2010
30 juil. 2010 à 10:13
Soit t uas des proxy avec authentif (certificat ou login pass)
soit, il y a un blocage chez ton hébergeur ou ton FAI.

Je sais que chez Ovh par exemple, n'autorisait (à une époque) que les fopen_url uniquement sur le leur réseau mais pas en externe.

Le FAI peux aussi mettre des restrictions.

______oOOO________OOOo________

RaftY, du code C commode!
0
lirmo Messages postés 31 Date d'inscription mardi 3 mars 2009 Statut Membre Dernière intervention 30 mars 2011
30 juil. 2010 à 11:11
ok bah je vais chercher de ce côté là. En tout cas merci pour toute ton aide.
0
Rejoignez-nous