web-dev-qa-db-fra.com

Comment mettre en cache les tuiles de carte Google pour une utilisation hors connexion?

Comme les cartes OVI de Nokia peuvent être utilisées hors connexion, il doit également exister un moyen de mettre en cache les vignettes de cartes Google. Des allusions?

47
Aquarius_Girl

Malheureusement, j'ai trouvé ce lien qui semble indiquer que nous ne pouvons pas les mettre en cache localement, rendant ainsi cette question sans objet.

http://support.google.com/enterprise/doc/gme/terms/maps_purchase_agreement.html

4.4 Restrictions du cache. Le client ne peut pas pré-extraire, récupérer, cache, indexer ou stocker du contenu, ou une partie des services , sauf que le client peut stocker des quantités limitées de contenu uniquement dans le but d'améliorer les performances de la mise en œuvre du client en raison de la latence du réseau, et uniquement si le client le fait de manière temporaire, sécurisée et d’une manière qui: (a) ne permet pas l’utilisation du contenu en dehors des services; (b) est basé uniquement sur la session (une fois le navigateur fermé, tout stockage supplémentaire est interdit); (c) ne manipule ni ne regroupe aucun Contenu ou partie des Services; (d) n'empêche pas Google de suivre avec précision les pages vues; et (e) ne modifie ni ajuste l'attribution de quelque manière que ce soit.

Il semble donc que nous ne pouvons pas utiliser les tuiles de carte Google hors ligne, légalement.

20
Aquarius_Girl

Si vous essayez de mettre en cache les vignettes que Google fournit, cela peut constituer une violation des conditions d'utilisation de Google (sauf si, dans certaines circonstances, si vous avez acheté son API d'entreprise Premier Maps). C'est pourquoi gmapcatcher l'a rayé de sa liste. Voir http://code.google.com/p/gmapcatcher/issues/detail?id=210 .

Sur l'URL de gmapcatcher ci-dessus, vous trouverez également un script Shell permettant de télécharger des mosaïques (ou du moins son auteur).

D'autres projets tentent également de rendre Google Maps disponible hors connexion:

http://code.google.com/p/ogmaps/

http://code.google.com/p/gmapoffline/

Enfin, si Google Earth peut répondre à vos besoins, vous pouvez l'utiliser. L’utilisation hors connexion de Google Earth nécessite une licence Google Earth Enterprise, conforme à http://www.google.com/permissions/geoguidelines.html

Notez que la page précédente indique également: "Vous ne pouvez pas extraire ou exporter le contenu de Google Maps ou de Google Earth, ni le sauvegarder pour un usage hors ligne." Donc, si vous essayez de mettre en cache les tuiles, cela sera presque certainement considéré (par Google, de toute façon) comme une violation des Conditions d'utilisation.

40
Trott

mettre à jour:

J'ai trouvé les conditions d'utilisation de Google Map:

Section 10.5

Pas de cache ou de stockage. Vous n'allez pas pré-extraire, mettre en cache, indexer ou stocker tout Contenu devant être utilisé en dehors du Service, sauf que vous pouvez stocker quantités limitées de contenu uniquement dans le but d'améliorer le performances de l'implémentation de votre API Maps en raison de la latence du réseau (et non dans le but d'empêcher Google de suivre avec exactitude l'utilisation de .__), et uniquement si ce stockage: est temporaire (et en aucun cas plus de plus de 30 jours civils); est sécurisé; ne pas manipuler ou agréger toute partie du contenu ou du service; et ne modifie pas l'attribution en en tous cas.

Cela signifie que nous pouvons réellement mettre en cache pour un temps limité

13
Stenly Yiu

Sur http://www.google.com/earth/media/licensing.html il existe une section "Mobile" contenant:

Comme pour nos conditions d'utilisation en ligne, si vous utilisez nos API ou l'implémentation Google Maps native d'un appareil mobile (comme sur un téléphone ou un iPhone sous Android), aucune autorisation spéciale n'est requise, mais vous devez toujours conserver le nom Google. La mise en cache hors ligne de notre contenu n'est jamais autorisée.

3
Max

Vous voulez utiliser un index spatial. Il réduit la complexité de la 2D à une complexité de 1d et est utilisé dans de nombreuses applications de cartographie. Vous pouvez télécharger ma courbe de hp de classe php sur phpclasses.org. La courbe en z est beaucoup plus simple. Traduisez les coordonnées x et y en binaire, puis concaténez les deux valeurs. La limite supérieure correspond aux bits les plus significatifs. Ensuite, utilisez les quads pour la structure de dossiers sur le disque, par exemple: 1/2/3// 4 est le chemin des tuiles du premier niveau. 

1
Bytemain

Vous pouvez utiliser Open Street Map: vous trouverez des dizaines de couches et de types de cartes différents, ce qui est absolument gratuit. Vous pouvez télécharger toutes les tuiles de carte que vous voulez. Et bien sûr, comme tout le monde peut améliorer la carte, celle-ci affiche plus d'informations que les cartes de Google. Si vous avez besoin d’aide, vous pouvez demander à la communauté qui est également très active. 

1
FrProg34

Sur les plateformes Android, Oruxmaps ( http://www.oruxmaps.com ) fait un excellent travail en mettant en cache toutes les sources WMS. Il est disponible sur le Play Store… .. Je l'utilise quotidiennement dans des régions isolées sans aucune connectivité, fonctionne à merveille.

0
Pierre