Comparatif des APIs de plans online et guide de marquage de sites rapide
Par Romain Sahut, dimanche 8 octobre 2006 à 23:42 :: Developpement :: #24 :: rss
Comparatif de Google Earth - Google Maps API - Google Maps API V2 - Yahoo! Maps AJAX API - Yahoo! Maps FLASH API - MapSolute Map24 AJAX API - Geoportail
En gros: j'ai une partie de ce site dédiée aux cartes postales anciennes. Pour faciliter la navigation, j'avais mis en place une carte en flash pour "géolocaliser" les cartes par lieux, rues et prise de vue. Cela représente environ 150 points à placer.
Ces derniers temps, j'ai cherché une solution plus simple pour la maintenance (plutot que refaire le plan à chaque fois que l'espace géographique des cartes postales augmente). J'ai donc essayé les différentes API.
Premier constat: toutes ces applications requiérent un enregistrement sur leur site respectif.
Alors, au départ j'avais des coordonnées qui ne s'appliquaient qu'au plan en FLASH (du type x et y). J'ai donc créé un premier fichier KML où tous les lieux existaient et où tous les points étaient au même endroit. Avec Google Earth, on charge le fichier KML, on obtient un gros paté de points. Point par point on les positionne au bon endroit sur la carte. Une fois tous les points au bon endroit, on ecrit un parser de fichier KML qui mettra à jour la base de données avec les coordonnées GPS, et qui les reliera au lieu. On a ainsi une base de données avec les bonnes coordonnées. Attention toutefois, les fichiers KML ont deux coordonnées par point, et la bonne est la seconde -> <coordinates>2.833662410603154,49.416255221139810,0</coordinates> pour la longitude et la latitude. L'autre coordonnée est fausse d'environ 2 kilométres. Aprés on peut écrire des générateurs de points Google Earth, et utiliser des cartes en ligne pour localiser des points.
Resultats:
- Google Earth: Permet de partager ses géolocalisations via des sites comme celui de keyhole (au format KML). Zoom trés profond (grossissement numérique si pas de dalle dispo)
- Google Maps API: Trés facile à mettre en place, rapide à l'éxécution. Les plans sont inexistants et les dalles graphiques commencent à dater. Le zoom s'arréte quand les dalles ne sont pas accessibles pour cette définition, et un message est affiché à la place.
- Google Maps API V2: Trés facile à porter. Quelques subtilités dans le code, et ca marche! Les plans sont moyennement détaillés et les dalles graphiques semblent plus récentes (en tous cas, elles sont différentes, ce qui signifie qu'il doit y avoir moyen de comparer des facteurs comme l'extensions des villes, comme sur géoportail quand ca sera mis en place, ou alors c'est juste une normalisation de teintes entre les dalles). Le zoom s'arréte quand les dalles ne sont pas accessibles pour cette définition, et un message est affiché à la place.
- Yahoo! Maps AJAX API: Aussi simple à mettre en place que Google Maps API, les dalles des zones m'intéressant étaient de qualité inférieures à celles de Google. Le zoom s'arréte quand les dalles ne sont pas accessibles pour cette définition, et un message est affiché à la place.
- Yahoo! Maps FLASH API: il existe deux version: une qui fonctionne avec des paramétres passés par Javascript qui repose sur un fichier flash générique, une autre plus paramétrable et qui est modifiable. J'ai choisi la seconde solution car je voulais utiliser AmfPHP. On peut également passer les paramétres via les flash-vars ou autres. Pour cela il faut installer le composant Yahoo!, puis modifier l'exemple et compiler! Aprés c'est trés similaire à la version AJAX à l'exception du zoom qui est fluide (grossissement des dalles déjà chargées puis mise à jour). Le zoom s'arréte quand les dalles ne sont pas accessibles pour cette définition, et un message est affiché à la place.
- MapSolute Map24 AJAX API: Carte uniquement par plan, pas de vue satellite, mais plans trés précis! Il existe en deux versions, une avec images statiques (pas encore complet), et une autre dynamique, mais utilisant un applet JAVA. De ce fait, c'est trés lent! Et le processeur mouline comme un petit fou. Mais une fois chargé, trés beau résultat.Le zoom est trés trés profond (vectoriel pour la version dynamique). Attention, les coordonnées à passer en paramétre sont ici en minutes décimales et non pas en secondes décimales comme pour Google ou Yahoo!, il faut donc multiplier ces valeurs par 60.
- Géoportail: Il n'existe à ce jour pas de solution pour ajouter des points sur les cartes géoportail. J'ai contacté les responsables des "partenariats" mais pas de réelle réponse (je sais juste qu'il a été forwardé deux fois). Mais on peut s'attendre à une API à la Yahoo! ou Google, avec des images de trés bonne qualité.
Pour les essais, j'ai essayé de prendre les mêmes facteurs de zoom quand c'était possible, et le point central est le même.
Voila donc les adresses:
Le fichier KML pour Google Earth
La version Map24 bridée à 25 points (pour limiter le calcul)
La version Map24 compléte (mais allez vous préparer un café en attendant)
Dans la meme categorie:
> Billet precedent: XIFFIAN : du recyclage de projet bien fait!
> Billet suivant: Mise à jour du plugin de gestion de CV pour DotClear 1.2 -> ...
Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.