utiliser des données mysql avec umap

Bonjour,
Après quelques essais, je voudrais me lancer dans la création d’une carte que je ferai avec UMAP pour partager ma collection de cartes postales anciennes.
Chacune de ces cartes postales est dans une base de données (mysql), a un identifiant, et différentes données (lieu, date, photographe, éditeur, etc.).
Sur la carte umap (que je mettrai sur mon site, ça je sais faire), je voudrais mettre un point pour chaque photo (à l’endroit où elle a été prise) et un pop-up contenant la photo en question et la date à laquelle elle a été prise.
C’est là que je coince : comment afficher cette donnée (la date) qui est contenue dans ma table ? (je ne peux pas les rentrer directement en même temps que les photos car elles vont évoluer avec les contributions des visiteurs).
J’ai vu comment était fait le fichier geojson, mais je ne sais pas comment y inclure les affichages php. Est-ce possible de le faire ? Pourriez-vous me donner quelques pistes (j’ai quelques toutes petites notions de php, et je me débrouille avec mysql) ?
Merci d’avance de vos conseils ! :slight_smile: (je voudrais au moins savoir si c’est possible, merci)

à première vue il faudrait que tu exporte ta base et la convertisse en donnée gpx ou autre afin de conserver les donnée de géolocalisation, titre et texte.

peut être que l’on peut intégrer des donnée sql ou instruction php mais j’en ai pas entendu parler

Bonjour,

Umap répond bien au besoin publication de carte avec des données statiques. Il masque efficacement le code de la bibliothèque javascript d’affichage de carte… et en plus c’est joli.

La bonne façon de faire dans ton cas AMHA, c’est de se passer d’Umap et d’utiliser directement une de ces bib JS (Openlayers ou Leaflet) :

  • sur ton serveur un bout de php produit un fichier avec les points à afficher et leurs attributs (à partir d’une base de données)
  • dans le browser le code JS affiche carte, POIs, et images

L’exemple en PHP + Openlayers :
http://wiki.openstreetmap.org/wiki/OpenLayers_Dynamic_POI
Cet exemple est simple à appréhender : le fichier de données produit par PHP est un fichier CSV.

Bruno

Bonjour Bruno,

Et sincèrement merci pour ton conseil. Je croyais avoir compris que le seul moyen d’afficher une carte personnalisée sur mon site était de la faire avec umap…
J’ai regardé Openlayers mais mes connaissances en php ne sont pas suffisantes pour m’en sortir. Je vais donc me plonger dans Leaflet qui a l’air plus à ma (petite) hauteur.
Merci encore. :slight_smile:

Je te recommande Leaflet plutôt qu’openlayers pour ce genre de cas.

La différence entre les deux est tout d’abord culturelle… Leaflet c’est le monde du web qui va vers les cartes, openlayers c’est l’inverse (la géométique qui se met au web).
Vu que tu semble plutôt venir du web, tu te sentira bien plus à l’aise avec leaflet :wink:

Le code javascript pour utiliser leaflet est léger et clair et leaflet s’étend à l’aide de plugins.

openlayers a plutôt cherché à tout faire, ce qui l’a alourdit. Ca s’améliore dans la prochaine version qui est une refonte complète (et incompatible avec l’actuelle).