Designer une carte

Bonjour,
Je voudrais savoir s’il y a un moyen de designer une carte à partir des données latitude & longitude: Google Maps, OpenStreetMap ou autres.
Je recupere les coordonnées via une application android et uploadé sur un serveur tous les X sec. et donc mon idée est de traiter et générer une carte par rapport à ces coordonnées que je pourrais visualiser après.

Je n’ai aucune idée par ou commencer avec les cartes et qui propose ca.

Merci pour votre aide

Si tu dois générer une carte similaire à la Terre, aucun souci : Google Maps, OpenStreetMaps, Mapquest ou autres fournissent des APIs (et parfois des SDKs) pour pouvoir traiter tout ça.

Si tu utilises OpenStreetMaps tu peux même carrément utiliser http://leafletjs.com/ qui est une bibliothèque javascript pour gérer l’affichage d’une map, c’est hyper simple à utiliser, hyper flexible et personnalisable :)

Pour la sauvegarde des données, à toi de voir : perso j’ai opté pour une BDD classique mysql, un système de cache assez performant, et ça roule très bien :)

1 « J'aime »

Salut

J’ai du faire un truc similaire pour le boulot, tu peux le faire super facilement avec Google Maps!
Regarde du côté de l’API au niveau des markers (j’editerais pour mettre un lien quand je serais sur un PC)

Ensuite sinon Openstreetmap j’ai jamais vraiment essayé directement, j’avais tenté d’utiliser un plugin D3.js qui afficher la Maps mais il y avait quelque bug et il fallait encore trouver le moyen de positionner les point sur la Maps etc… Sans connaître d3 c’était un peu lourd. Puis avec Gmaps c’est vraiment très simple, le seul truc c’est que tu dois faire attention au quotas.

EDIT : Voici la lien pour les Markers Maps : https://developers.google.com/maps/documentation/javascript/markers
et le plugins D3.js : http://bl.ocks.org/mbostock/4132797

@Sebastien_Merchez: c’est pour ça qu’OpenStreetMaps + LeafletJS c’est pratique, c’est juste que le look de la map ne sera pas celui de google, mais je trouve que OSM est vachement plus détaillé !

J’ai déjà utilisé Leafletjs pour générer une petite carte et t’as raison c’était sympa. Ceci est un projet perso, mon objectif est d’apprendre comment ca marche les cartes et généré des trajets avec.
Mettre un point avec Leaftetjs n’est pas compliqué si je me souviens bien. Mais là ou j’ai besoin d’aide, c’est de transformer les différents points placés sur la carte en un trajet.

Pour le stockage, je n’ai pas de problème la dessus, j’ai opté pour un systeme simple avec des fichiers json.

J’y jetterai un oeil alors ! :)

Hello,

Cela m’intéresse aussi et plus spécialement créer des zones géographiques pour optimiser les rendez-vous (pour des commerciaux).

[quote=“captainkidd, post:5, topic:2198, full:true”]J’ai déjà utilisé Leafletjs pour générer une petite carte et t’as raison c’était sympa. Ceci est un projet perso, mon objectif est d’apprendre comment ca marche les cartes et généré des trajets avec.
Mettre un point avec Leaftetjs n’est pas compliqué si je me souviens bien. Mais là ou j’ai besoin d’aide, c’est de transformer les différents points placés sur la carte en un trajet.

Pour le stockage, je n’ai pas de problème la dessus, j’ai opté pour un systeme simple avec des fichiers json.
[/quote]

En fait tu dois créer ton propre système en base de données (perso j’opte pour le classique Symfony + 3 entités (Markers/Routes/Zones) et 3 entités “type” (MarkersTypes, RoutesTypes, ZonesTypes) (tu peux renommer en “Category” si tu préfères) ).
Pour le calcul d’itinéraire, OSM, Google Maps, Mapquest, ou même ViaMichelin te proposent d’excellentes API pour faire des trajets à partir de coordonnées, donc ne te prend pas la tête là-dessus (ou alors il te faut d’excellentes connaissances en algo pour faire du dijkstra, etc.). Tant que tu restes sur Terre, vaut mieux avoir un max de choses gratuites/free (OSM) et te limiter au “restrictif” (Google) lorsque c’est vraiment nécessaire (optimisation trajet, trafic, etc.).

Perso j’ai utilisé LeafletJS pour créer une carte fictive dans l’univers d’un jeu de rôle, avec calcul d’itinéraire & co, j’ai utilise Symfony + LeafletJS + une lib que j’ai développée en surchargeant LeafletJS, et ça marche bien (même si c’est super chaud à maintenir ! :D )

Des zones de quel genre ? Dessiner un polygone sur une carte ? Ou plutôt définir un “point” de rendez-vous ?

Ce ne sera pas un truc très avancé , juste le minimum. Avec l’application android, tu envoies juste les coordonnés (lat, ln) vers le serveur. Et sur le serveur, tu les sauvegardes quelques part à chaque fois que tu en recois (j’ai opté pour de simple fichier json).
Après tu récuperes les données des fichiers json pour générer les points sur la carte (terre evidement) et il faut relier ces points sur la carte (c’est ce que j’appelle un trajet) . Donc pas de traffic, d’optimisation, etc… je ne vais pas faire un waze mais juste relier les coordonnées (ou point ) entre eux pour avoir le trajet.

C’est pour optimiser les rendez-vous et aider la secrétaire à choisir la bonne date en fonction de la position du commercial à une date donnée.

Par exemple, un client téléphone pour un rdv, la secrétaire peut, avec l’adresse du client, voir quand le commercial est dans “sa zone” avec les autres rendez-vous.

Je ne sais pas si c’est clair? ;o)

Merci

C’est très clair, j’avais développé un système similaire pour un client qui voulait optimiser des tournées de livreurs/monteurs à domicile, mais c’est assez compliqué. En soi, tu as juste besoin de gérer des marqueurs, pour chaque marqueur il te faut des métadonnées (client, horaire), et ensuite tu peux avoir un code couleur qui correspond à une tranche horaire (genre 4 par jour, avec un dégradé de vert vers bleu par exemple pour faciliter la lecture), etc.
Ce semble être un gros projet, et à mon avis, l’intégration de la map avec Leaflet sera vraiment minime comparée à tout ce que tu auras à développer derrière pour ta gestion de rendez-vous :)

Opte pour une BDD plutôt que des fichiers (plus sécurisé et facile à gérer), mais il faut voir où la carte sera accessible : android, ou web ? Si c’est android, il te faut un SDK pour ton appli android, si c’est web, LeafletJS fera l’affaire :) Et tu devras aussi développer des web-services sécurisés pour communiquer entre ton appli web et ton appli android (sécurisé aussi par rapport à un simple upload de fichiers)

En fait, c’est un des points de mon projet. Je me doute que ce ne sera pas évident.

Merci pour l’info Pierstoval.

Human Coders - Le centre de formation recommandé par les développeur·se·s pour les développeur·se·s