Google maps avec une base de données avec marqueurs, itinéraire

Fermé
jujul11 - Modifié par jujul11 le 31/12/2012 à 02:53
 jujul11 - 7 févr. 2013 à 20:11
Bonjour,

J'ai un projet informatique a réalisé dans le cadre de mon BTS.


La partie que je dois effectuer est la récupération des données (qui ont été au préalable mises dans une base de données par mes camarades) d'une voiture électrique et de placer des marqueurs avec ces informations.


Mon projet ne commence que dans deux semaine et j'ai donc commencé à y réfléchir.


Je voulais savoir si il y avait un moyen, par Ajax ou même par des fonctions PHP ou JavaScript de lire une base de données par exemple toutes les 10s ou alors un moyen de créer un évènement lorsque une nouvelle donnée est disponible dans la base.


Ce système permettra de créer des marqueurs avec les informations de la voiture à cet instant + position GPS pour tracer l'itinéraire qu'elle a effectué.


J'espère avoir été clair.


Merci !

PS : Désolé mais les espaces entre les paragraphes ne fonctionnent pas.



A voir également:

7 réponses

D'accord merci pour beaucoup pour tous ces conseils !

Je reviendrai sur ce topic pour communiquer l'avancée de notre projet et expliquer nos soucis.

Merci beaucoup !
1
Stanislas Poisson Messages postés 424 Date d'inscription samedi 1 décembre 2012 Statut Membre Dernière intervention 22 mai 2018 66
31 déc. 2012 à 10:26
Bonjour. C'est effectivement possible de faire ce genre de chose. Tout dépend du matériel qu'il sera possible de placer sur la voiture. Je pense qu'un simple téléphone avec accès internet et gps devrais faire l'affaire. Et cela pour ne pas dépenser à outrance des fond qui seront disponible pour d'autres applications.

Si j'ai bien compris le but, il faut que la voiture se balade un peu partout avec le matériel et que la base de donnée distantes puisse être alimenter toute les 10 secondes environ afin de donnée les coordonnées? Cela afin d'afficher les informations sur une carte google map?

Je le ferais ainsi. Une page internet accessible sans problème. Un programme javascript chargé dans la page qui vas se charger de récupérer les coordonnées gps régulièrement (attention, le nombre de récupération est peux être limiter par un site web) et vas l'envoyer au serveur par de l'ajax toutes les x secondes. Le serveur vas l'enregistrer alors dans la base de données incrémentant automatiquement les informations. (Si le nombre de récupération de coordonnées est limiter, peux être faudra il passer par une application a développer en Java et a installer sur un android afin de pouvoir gérer facilement le module gps du téléphone.)

Pour l'affichage d'un itinéraire, google map fait une limite a 10 emplacement lorsqu'on lui demande. A voir pour un accès payant vous permettant d'augmenter ce nombre et ainsi avoir le trajet bleu de votre voiture. Sinon, il faudra prévoir le fait d'afficher simplement les points gps enregistrer sur la carte (aucune limitation a ma connaissance.)

Enfin tout cela est bien beau mais encore faut il que vous connaissiez quelques langages de programmation tel que l'html, le javascript, le php et le mysql et le json/xml pour une version web et le java, le php et le mysql et le json/xml pour une version application.
0
Oui les informations seront envoyées à travers le réseau GPRS. Nous sommes cinq le projet. Un qui s'occupe de l'acquisition des données de la voiture, un autre sur la création des bases de données MySQL, un autre sur la création de toute l'interface web, un autre sur la connexion GPRS et moi sur la partie Google Maps.

Les instruments de mesures seront dans la voiture. Une base de données qui contiendra les données de la voiture (ampérage, voltage, autonomie restante etc..) et qui sera connectée au réseau GPRS. Un ordinateur distant lira cette base et affichera ses informations dans la map.

Je voulais faire la partie automatique (càd lecture d'une base de données toutes les x secondes) en Ajax.

Mais est-il possible de détecter avec du JS ou Php si il y a de nouvelles données dans une base et de choisir seulement ces nouvelles données ? (cela évitera de copier la base à chaque fois)
Est ce qu'un évènement d'une base de données MySQL existe afin de prévenir telle ou telle application qu'il y a une nouvelle donnée ?

Merci !
0
Stanislas Poisson Messages postés 424 Date d'inscription samedi 1 décembre 2012 Statut Membre Dernière intervention 22 mai 2018 66
3 janv. 2013 à 14:02
je déconseille le stockage des données dans la voiture. Ça vas consommer beaucoup d'énergie et en cas de coupure du réseau, le serveur ne sera plus disponible.

Je conseille plutôt un réseau en 3 points.
1- Points la voiture avec gprs et système léger transmettant au point 2 les infos
2- Serveur en ligne, toujours accessible avec ip fixe ou ndd, au choix, se charge d'enregistrer et de sécuriser l'accès des données.
3- Accès externe, vas récupérer les informations sur le point 2 afin de les afficher.

Pour ce qui est de la récupération d'information, le mieux c'est de faire une demande Ajax au serveur en demandant en premier lieu, toute les infos sans restriction de durée et en second lieu, et régulièrement, tout les infos qui sont supérieur à un référentiel, (datetime ou id en auto increment)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Salut,

J'ai un problème incompréhensible. Pas mal de gens ont le même problème mais pas de solution concrète. Je m'explique :

J'ai une variable qui contient : $baseDeDonnees = 'mysql:host='._HOTE_.';dbname='._BDD_.';charset=utf-8';

J'ai tout installé chez moi, càd php5, apache2, mysql client et serveur et phpmyadmin. Crée la même base qu'au lycée, la table et colonnes avec quelques valeurs.

Au lycée tout marche parfaitement bien mais chez moi, j'ai l'erreur :

SQLSTATE[HY000] [2019] Can't initialize character set utf-8 (path: /usr/share/mysql/charsets/)

J'ai mis toute la base, la table et les colonnes en utf8_general_ci. Mais rien y fait ça ne veut pas fonctionner. J'ai aussi rajouté des lignes que j'ai trouvé sur le net dans le fichier my.cnf mais toujours rien. Tous les services sont lancés pourtant...

De plus, lorsque j'enlève le tirer à "utf-8" dans la variable que j'ai mis plus haut, ma page index.php se charge comme du texte. C'est la connexion à la base qui se ne fait pas (pourtant tout est bon je t'assure).

$objetPDO = new PDO($baseDeDonnees, _UTILISATEUR_ ,_MOTDEPASSE_);
0
Stanislas Poisson Messages postés 424 Date d'inscription samedi 1 décembre 2012 Statut Membre Dernière intervention 22 mai 2018 66
16 janv. 2013 à 15:11
Salut. Comment à tu installer ton serveur? Avec Wamp, Lamp, Mamp? car c'est c'est l'un de c'est outils dont tu vas avoir besoin pour développer en local (oublie le local pour faire fonctionner le système)
0
Je suis sur Linux.

Comme d'habitude, apt-get install apache2, apt-get install php5, apt-get install mysql_server, apt-get install phpmyadmin
0
Je viens de refaire une install de Linux ubuntu 12.04 sans mise à jour de synaptic et ça fait toujours la même chose
0
Stanislas Poisson Messages postés 424 Date d'inscription samedi 1 décembre 2012 Statut Membre Dernière intervention 22 mai 2018 66
16 janv. 2013 à 16:06
0
J'ai essayé cette solution mais je ne trouve pas ce fichier database.php
0
Salut !

J'ai abandonné le fait de travailler sur mon pc perso, je ne trouve toujours pas le soucis. Bref.

J'ai essayé de me connecter avec mon script php à la base PostGreSQL de mon camarade. Cela fonctionne mais nous avons un soucis.

Lorsque j'effectue ma requête, on a une erreur : "relation "acquisitions" doesn't exists"

J'ai fait des recherches sur le net et j'ai trouvé plein de gens dire que cela vient des quotes qu'il faut mettre ou pas pour les champs et tables car il y a un soucis de casse des majuscules et minuscules. Dans la base, la table "acquisitions" est bien en minuscules, je la mets quand même entre quotes ainsi que les champs mais cela ne fonctionne toujours pas.

Voilà la requête : SELECT "latitude", "longitude", "courant" FROM "acquisitions"

Il n'y a pas de fautes dans le nom des champs et acquisitions, on a verifié
0
On début on faisait SELECT latitude, longitude, courant FROM "acquisitions" ou bien encore SELECT latitude, longitude, courant FROM acquisitions mais ça ne change rien
0
Encore une fois j'ai posté trop vite. On a trouvé la solution.

Vu qu'il y avait des schémas dans la base, j'ai fait : SELECT latitude, longitude, courant FROM "MonSchéma"."acquisitions"

Tout est ok ! Merci !
0