Insérer une google map dans un pdf [Résolu]

lirmo 31 Messages postés mardi 3 mars 2009Date d'inscription 30 mars 2011 Dernière intervention - 27 juil. 2010 à 09:55 - Dernière réponse : lirmo 31 Messages postés mardi 3 mars 2009Date d'inscription 30 mars 2011 Dernière intervention
- 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?
Afficher la suite 

Votre réponse

19 réponses

Meilleure réponse
RaftY 57 Messages postés mardi 5 mars 2002Date d'inscription 12 août 2010 Dernière intervention - 27 juil. 2010 à 18:32
3
Merci
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!

Merci RaftY 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de RaftY
RaftY 57 Messages postés mardi 5 mars 2002Date d'inscription 12 août 2010 Dernière intervention - 27 juil. 2010 à 10:13
0
Merci
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!
Commenter la réponse de RaftY
lirmo 31 Messages postés mardi 3 mars 2009Date d'inscription 30 mars 2011 Dernière intervention - 27 juil. 2010 à 10:56
0
Merci
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.
Commenter la réponse de lirmo
RaftY 57 Messages postés mardi 5 mars 2002Date d'inscription 12 août 2010 Dernière intervention - 27 juil. 2010 à 11:14
0
Merci
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!
Commenter la réponse de RaftY
RaftY 57 Messages postés mardi 5 mars 2002Date d'inscription 12 août 2010 Dernière intervention - 27 juil. 2010 à 11:18
0
Merci
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!
Commenter la réponse de RaftY
lirmo 31 Messages postés mardi 3 mars 2009Date d'inscription 30 mars 2011 Dernière intervention - 27 juil. 2010 à 11:20
0
Merci
okay j'essaie ça je te tiens au courant.
Commenter la réponse de lirmo
lirmo 31 Messages postés mardi 3 mars 2009Date d'inscription 30 mars 2011 Dernière intervention - 27 juil. 2010 à 11:54
0
Merci
impossible d'ouvrir le .gif
Commenter la réponse de lirmo
RaftY 57 Messages postés mardi 5 mars 2002Date d'inscription 12 août 2010 Dernière intervention - 27 juil. 2010 à 12:56
0
Merci
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!
Commenter la réponse de RaftY
RaftY 57 Messages postés mardi 5 mars 2002Date d'inscription 12 août 2010 Dernière intervention - 27 juil. 2010 à 13:06
0
Merci
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!
Commenter la réponse de RaftY
lirmo 31 Messages postés mardi 3 mars 2009Date d'inscription 30 mars 2011 Dernière intervention - 27 juil. 2010 à 13:54
0
Merci
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();
?>
Commenter la réponse de lirmo
RaftY 57 Messages postés mardi 5 mars 2002Date d'inscription 12 août 2010 Dernière intervention - 27 juil. 2010 à 16:26
0
Merci
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!
Commenter la réponse de RaftY
lirmo 31 Messages postés mardi 3 mars 2009Date d'inscription 30 mars 2011 Dernière intervention - 27 juil. 2010 à 17:05
0
Merci
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...
Commenter la réponse de lirmo
lirmo 31 Messages postés mardi 3 mars 2009Date d'inscription 30 mars 2011 Dernière intervention - 28 juil. 2010 à 18:55
0
Merci
a oui bien vu. Je suis pas chez moi, j'essaie demain... Mais en tout cas. BRAVO
Commenter la réponse de lirmo
lirmo 31 Messages postés mardi 3 mars 2009Date d'inscription 30 mars 2011 Dernière intervention - 29 juil. 2010 à 10:04
0
Merci
merci ça marche impec.
Commenter la réponse de lirmo
lirmo 31 Messages postés mardi 3 mars 2009Date d'inscription 30 mars 2011 Dernière intervention - 29 juil. 2010 à 14:27
0
Merci
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???
Commenter la réponse de lirmo
RaftY 57 Messages postés mardi 5 mars 2002Date d'inscription 12 août 2010 Dernière intervention - 29 juil. 2010 à 20:42
0
Merci
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!
Commenter la réponse de RaftY
lirmo 31 Messages postés mardi 3 mars 2009Date d'inscription 30 mars 2011 Dernière intervention - 30 juil. 2010 à 09:38
0
Merci
allow_url_fopen => On => On
Elle y est!
Commenter la réponse de lirmo
RaftY 57 Messages postés mardi 5 mars 2002Date d'inscription 12 août 2010 Dernière intervention - 30 juil. 2010 à 10:13
0
Merci
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!
Commenter la réponse de RaftY
lirmo 31 Messages postés mardi 3 mars 2009Date d'inscription 30 mars 2011 Dernière intervention - 30 juil. 2010 à 11:11
0
Merci
ok bah je vais chercher de ce côté là. En tout cas merci pour toute ton aide.
Commenter la réponse de lirmo

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.