Exporter une carte GoogleMaps dans MapsMe

En voyage à l’étranger, nous utilisons toujours l’application MapsMe en guise de GPS et carte : le gros avantage par rapport à GoogleMaps, c’est qu’elle fonctionne totalement offline! Vous téléchargez les cartes en avance, quand vous avez internet, et après, ça fonctionne en mode avion 🙂

Par contre, nous trouvons qu’elle présente un défaut en terme de préparation de voyage et de partage de bonnes adresses : il n’y a pas de site web et l’application est totalement locale au téléphone. Donc oui évidemment, on peut toujours mettre ses petits signets (l’équivalent de lieux favoris) sur le téléphone, mais ce n’est pas forcément le plus pratique et ergonomique.
Par contre, il existe une fonction d’import et export des signets, que nous avons décidé d’exploiter.

L’idée est donc simple : on crée une carte dans GoogleMaps et on exporte les lieux repérés, de GoogleMaps vers MapsMe. Comme on peut partager une carte GoogleMaps (vous trouverez les nôtres ici), vous pouvez donc facilement (et visuellement) partager vos lieux avec vos potes.

Exporter une carte GoogleMaps (fichier KML)

Que ce soit pour MapsMe ou une autre application, l’idée est d’utiliser des fichiers contenant les coordonnées et infos des lieux qu’on a enregistré dans GoogleMaps. Ces fichiers sont au format KML (ou KMZ en version compressée).

La manipulation à faire est la suivante: vous ouvrez votre carte GoogleMaps, vous cliquez sur les “…” à droite du titre de la carte, puis sur “Exporter vers KML” (ou “Télécharger le fichier KML”), bien cocher la case “Exporter vers un fichier KML” et cliquer sur Télécharger.

Importer dans MapsMe (méthode basique)

La méthode suivante permet d’importer directement dans MapsMe le fichier KML généré : ça fonctionne parfaitement, mais tous vos signets auront la couleur par défaut. Si vous voulez avoir des couleurs différentes, il faut se référer aux méthodes décrites par la suite.

Envoyez-vous ce fichier KML par mail, puis ouvrez-le sur votre téléphone avec MapsMe (sur mon iPhone, le menu d’action n’affiche MapsMe que si je l’ouvre via mon mail, mais normalement ça devrait marcher si vous mettez votre fichier sur Dropbox, googleDrive ou autre). L’import se fait automatiquement, en créant un nouveau groupe de signets.

Si vous souhaitez aller plus loin et passer en mode Expert pour modifier les couleurs des signets créés ainsi dans MapsMe), il faut lire la suite 🙂
Note: si vous êtes trop tristes avec la Chine car les signets ne tombent pas au bon endroit, et que ça vous ennuie, vous n’aurez pas d’autre choix que de passer en mode Expert (voir la fin de l’article) !

 

Importer dans MapsMe (méthode avancée manuelle)

Présentation et principe

Si comme nous vous aimez les choses bien ordonnées, je prends le pari que vous voudrez avoir des couleurs de signets différentes! Surtout si vous utilisez déjà MapsMe et avez par exemple vos restos en vert et les hôtels en bleu. Pas de panique, c’est possible : on va utiliser pour ça les informations fournies par le support de MapsMe, et donc modifier le contenu du fichier KML avant l’import.

Côté GoogleMaps, on peut jouer sur 2 aspects pour nos lieux : l’icône (le motif) et la couleur. Côté MapsMe, on est plus restreint puisqu’on a juste 8 couleurs (green, red, yellow, blue, purple, pink, orange, brown) et un seul motif.

Ces informations se retrouvent dans le fichier KML (qui est au format XML pour ceux qui connaissent), dans la balise “StyleUrl“.

Dans l’exemple ci-dessous, on constate que la couleur est bien la même (0288D1, qui est le code html pour bleu), mais le code de l’icône est différent (1502 pour une étoile, et 1535 pour l’appareil photo) :

Le principe est donc de remplacer chaque occurrence d’un lieu GoogleMaps (composé d’un couple code motif+code couleur) par le format couleur de MapsMe (#placemark-red).

Pour l’amour de l’action “remplacer”

Si vous n’avez qu’un fichier à faire et que vous souhaitez obtenir qu’une ou deux couleurs dans MapsMe, ça peut se faire manuellement sans trop s’arracher les cheveux. Il vous suffit d’ouvrir le fichier KML avec un éditeur de texte (Notepad++ ou bloc notes Windows par exemple), de sélectionner un “styleUrl” et de le remplacer par le code de la couleur souhaitée dans MapsMe

 

 

Importer dans MapsMe (méthode avancée avec un script)

Alors là oui je sais ça va faire peur à la plupart d’entre vous! Mais ne vous inquiétez pas, vous pouvez suivre pas à pas, étape par étape, et ça va bien se passer 🙂

L’objectif est le suivant : pouvoir facilement et rapidement importer des cartes GoogleMaps et obtenir dans MapsMe des couleurs différentes selon la catégorie (visite, resto, hôtel, rando, etc..).

Pour pouvoir faire ça, j’ai fait un script powershell (pour notre propre besoin), que je vous mets à dispo. Elle est pas belle la vie ? Vous pouvez le télécharger ci-dessous, et je vous explique dans la foulée comment l’utiliser.

script-update-kml-gmaps-mapsme.zip

 

1- Autoriser l’exécution de scripts powershell (une seule fois)

Si vous êtes quelqu’un de normalement constitué et que vous n’avez donc jamais utilisé auparavant de scripts powershell sur votre PC, il va falloir tout d’abord autoriser l’exécution de scripts. Cette opération n’est à faire qu’une seule fois, vous pourrez sauter cette étape ensuite 🙂

Pour cela il faut lancer powershell en mode administrateur. Pour faire cela sous windows, il faut normalement taper “powershell” dans le menu démarrer (ou dans la barre d’exécution/recherche) pour faire apparaître l’icone de lancement de “Windows Powershell” (ou Windows Powershell (x86)), puis faire un click-droit “exécuter en tant qu’administrateur”.

Puis vous tapez la commande “Set-ExecutionPolicy -ExecutionPolicy Unrestricted“, suivie de la touche ENTREE.

Puis taper “T” (pour donner la réponse “oui pour tous”), suivi de la touche ENTREE.

C’est OK, vous pouvez fermer la fenêtre de commandes Powershell.

2- Commande pour lister les styles des signets GoogleMaps

Résumé: Le comportement par défaut du script 01-KML-ChangeCursors-Style.ps1 est de lire le fichier kml indiqué, et d’analyser les styles des signets dedans pour les comparer à ceux indiqués dans le tableau de correspondance (02-Input_KnownStyles.csv). En sortie, il crée un fichier contenant tous les styles qu’il n’a pas trouvé. Il suffit alors de les copier dans le tableau de correspondance, en indiquant le format MapsMe souhaité pour chacun 🙂

Ne vous inquiétez pas: vous n’allez rien casser, même si vous tapez les mauvais commandes au mauvais endroit. Le script ne fait que lire des infos, donc si vous donnez la mauvaise info, vous aurez au pire des erreurs de type “fichier non trouvé 😉

Par étapes ça donne ça :

  • Ouvrir une fenêtre Powershell (il faut normalement taper “powershell” dans le menu démarrer, ou la barre d’exécution/recherche)
  • Taper la commande : cd “chemin du répertoire contenant le script”
  • Taper la commande : .\01-KML-ChangeCursors-Style.ps1 -KMLfilePath .\MonFichierExport.kml
  • Ne pas s’inquiéter de voir des lignes jaunes, ça veut juste dire qu’il a créé un fichier “Styles à renseigner.csv

Ouvrir le fichier “Styles à renseigner.csv“. Pour séparer en plusieurs colonnes dans Excel, il faut aller dans “Données”, “convertir”, choisir le type “délimité” puis cocher “point virgule” et “Terminer”.

Trier ensuite dans l’ordre alphabétique sur la colonne “signet_GoogleMaps”. Puis copier chaque valeur unique dans le tableau de correspondance (02-Input_KnownStyles.csv), et écrire dans la colonne “MapsMe” le style souhaité dans MapsMe.

Trier et identifier les valeurs uniques de signets
Copier les nouveaux signets dans le tableau de correspondance. La désignation est optionnelle, mais permet à terme de s’y retrouver plus facilement

Si la prochaine carte à importer contient exactement les même signets (ce qui risque d’être le cas), vous n’aurez pas besoin de faire tout ça, car le tableau de correspondance sera déjà renseigné 🙂

3- Commande pour mettre à jour le fichier KML

Une fois le tableau de correspondance mis à jour, il n’y a plus qu’à exécuter le script avec l’option “update” pour qu’il remplace les valeurs des signets googleMap par le format MapsMe.

Pour cela il suffit d’ajouter “-update” à la commande précédente : .\01-KML-ChangeCursors-Style.ps1 -KMLfilePath .\MonFichierExport.kml -update

Cela provoque la création d’un nouveau fichier “MonFichierExport_MapsMeFormatted.kml”, qu’il ne reste plus qu’à importer dans MapsMe

4- Import dans MapsMe

On importe le fichier modifié (“MonFichierExport_MapsMeFormatted.kml”) de la même façon que la méthode basique décrite en début d’article, et on obtient un nouveau groupe de signet avec des couleurs différentes, alleliua (bravo si vous avez lu jusqu’ici) !

Cas particulier de la chine

La chine traite de manière spécifique (et probablement politique) ses coordonnées GPS et leur représentation sur une carte. Du coup si vous notez les coordonnées d’un lieu dans GoogleMaps, vous pourrez remarquer qu’elles sont différentes (de 50 à 500m!) de celles que vous obtenez sur OpenStreetMap ou MapsMe… Ce qui explique aussi que certains GPS (Garmin & co) fonctionnent parfois mal en Chine.

Bref, des gens se sont penchés sur la question et ont écrit des scripts pleins de formules de maths pour corriger un peu ça. J’ai repris ces fonctions pour les intégrer dans le script, pour traiter le cas de la chine.

Donc si vous voulez exporter des signets se trouvant en Chine depuis GoogleMaps vers MapsMe, il vous suffit d’utiliser le script que j’ai décrit ci-dessus, et d’ajouter l’option “-China” à la fin : c’est pas parfait, mais c’est plus proche de la réalité  🙂

Exemple: .\01-KML-ChangeCursors-Style.ps1 -KMLfilePath .\China.kml -update -China

 

Importer des signets MapsMe dans GoogleMaps

Si vous avez déjà beaucoup de signets dans MapsMe, vous pouvez les importer facilement dans une carte GoogleMaps.

Coté MapsMe, aller dans le groupe de signets à exporter, faire défiler jusqu’en bas, et choisir de les envoyer par mail (il va envoyer un fichier KML).

Coté GoogleMaps, créer un nouveau calque, puis cliquer sur importer et sélectionner votre fichier KML.

C’est tout 🙂

 

4 thoughts on “Exporter une carte GoogleMaps dans MapsMe

  1. M E R C I, mes héros! Je pars en Chine qui plus est, souhaitez moi de survivre dans cette jungle de pare-feu! Bisou et mayonnaise,
    Chloé

  2. Content que cet article soit utile! 🙂
    Bon courage pour la Chine, d’autant qu’ils ont visiblement renforcé leurs pare-feu !
    Si ça peut te servir, on a mis un fichier MapsMe déjà tout prêt à l’emploi à la fin de notre article bilan 🙂

  3. Bonjour Mr.
    J’ai suivi avec plus d’attention votre turto.j’avoue que c’est impeccable.
    De mon côté j’ai pu importer mes vecteurs (lignes) au format .kml dans laps.me toute en conservant le style défini dans QGIS 2.18.24.
    Je suis surpris de ne pas voir mes étiquette.
    Je vous très respectueusement s’il est possible d’afficher les étiquette d’un fichier .kml dans maps.me?
    Merci,
    Bertrand AVOKPE

    1. Bonjour Bertrand,
      Malheureusement je n’utilise pas QGPIS donc je ne vais pas beaucoup pouvoir vous aider. Il est tout à fait possible que MapsMe n’ait pas toutes les fonctionnalités de QGPIS, et en particulier les étiquettes (il n’y en a pas à ma connaissance dans MapsMe).
      Essayez peut-être de voir si vous pouvez vous adresser à leur support ?
      Bon courage 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *