SOUTENANCE FINALE DU PROJET SWITCHOME Adeline COUPE, Hélène DRAUX, Ismaïla GIROUX, Loïc TACHET
Projet SwitcHome 2 Introduction I. Maquette II. Programmation III. Intégration IV.Difficultés rencontrées Conclusion Le projet SwitcHome Site Internet d’échange gratuit de maisons Cherche à améliorer le site et à attirer de nouveaux internautes
Projet SwitcHome 3 Introduction I. Maquette II. Programmation III. Intégration IV.Difficultés rencontrées Conclusion Le projet SwitcHome Notre travail: Créer un API de Géolocalisation Analyse comparatives des scenarii techniques Choix de GoogleMap
Projet SwitcHome 4 Introduction I. Maquette II. Programmation III. Intégration IV.Difficultés rencontrées Conclusion Le projet SwitcHome Analyse comparatives des scenarii techniques Tic! tac!
Projet SwitcHome 5 Maquette Ajout d’un système de GeoTagging 2 axes de travail: Ajout d’une annonce de maison à échanger Recherche de maisons Introduction I. Maquette II. Programmation III. Intégration IV.Difficultés rencontrées Conclusion
Projet SwitcHome 6 Page pour ajouter une annonce Ajout d’un bouton de géolocalisation: Introduction I. Maquette II. Programmation III. Intégration IV.Difficultés rencontrées Conclusion
Projet SwitcHome 7 Page de Géolocalisation 2 types de géolocalisation possibles: par géocodage et par GPS Introduction I. Maquette II. Programmation III. Intégration IV.Difficultés rencontrées Conclusion
Projet SwitcHome 8 Localisation avec l’adresse Introduction I. Maquette II. Inscription III. Recherche IV.Difficultés rencontrées Conclusion
Projet SwitcHome 9 Localisation avec l’adresse Introduction I. Maquette II. Programmation III. Intégration IV.Difficultés rencontrées Conclusion
Projet SwitcHome 10 Localisation avec des coordonnées GPS Introduction I. Maquette II. Inscription III. Recherche IV.Difficultés rencontrées Conclusion
Projet SwitcHome 11 Récupération des coordonnées Champs latitude et longitude dans le formulaire d’inscription de l’annonce Introduction I. Maquette II. Programmation III. Intégration IV.Difficultés rencontrées Conclusion
Projet SwitcHome 12 Page pour rechercher des maisons Introduction I. Maquette II. Programmation III. Intégration IV.Difficultés rencontrées Conclusion
Projet SwitcHome 13 Association d’une info bulle à un tag Introduction I. Maquette II. Programmation III. Intégration IV.Difficultés rencontrées Conclusion
Projet SwitcHome 14 La géolocalisation Intégration des fonctionnalités de géolocalisation de Google Map: Respect de la structure du site: un fichier javascript : geolocalisation.js un fichier javascript pour l’aide (génération d’une popup) : popup.js un fichier HTML : appel aux fonctions javascript et programmation des boutons Introduction I. Maquette II. Programmation a) inscription b) recherche III. Intégration IV.Difficultés rencontrées Conclusion
Projet SwitcHome 15 Les fonctions Google Map Les fonctions Google Map utilisées : Dans la fonction load() chargement de la carte initiale map.addControl(new GLargeMapControl()); // cette fonction permet d’ajouter les fonctions de zoom et de déplacement de Google Map map.addControl( new GMapTypeControl()); // cette fonction permet d’ajouter les différentes vues plan, mixte, aérien Introduction I. Maquette II. Programmation a) inscription b) recherche III. Intégration IV.Difficultés rencontrées Conclusion
Projet SwitcHome 16 Les fonctions Google Map map.setCenter(new GLatLng(34, 0), 1); // vue globale du monde geocoder = new GClientGeocoder(); // autorise une nouvelle géolocalisation Dans la page html la fonction load() est appelée 3 fois : -au chargement de la page -lors d’une géolocalisation par l’adresse -lors d’une localisation par GPS Introduction I. Maquette II. Programmation a) inscription b) recherche III. Intégration IV.Difficultés rencontrées Conclusion
Projet SwitcHome 17 La géolocalisation: ShowAddress() ShowAddress(address) : pour le geocodage function showAddress(address) { if (geocoder) { geocoder.getLatLng( address, function(point) { if (!point) { alert(address + " veuillez rentrer une adresse valide :"+" "+"rue,ville,pays" ); } else { ADDRESS lat lon Introduction I. Maquette II. Programmation a) inscription b) recherche III. Intégration IV.Difficultés rencontrées Conclusion
Projet SwitcHome 18 Introduction I. Maquette II. Inscription III. Recherche IV.Difficultés rencontrées Conclusion // création du marqueur repositionnable associé var marker = new GMarker(point, {draggable: true}); map.addOverlay(marker); // association de la bulle info au marqueur marker.openInfoWindowHtml(address+" "+" lat="+point.y+" lon="+point.x+" "+"vous pouvez repositionner le marqueur en cliquant et en faisant glisser le marqueur, si vous êtes satisfait par la position appuyez sur valider ma position"); La géolocalisation: ShowAddress()
Projet SwitcHome 19 // gestion de l'événement " marqueur déplacé" GEvent.addListener(marker, "dragend", function() { // récupération du point associé au marqueur var pointnew=marker.getPoint(); // association de l'info-bulle correspondante marker.openInfoWindowHtml(address+" "+" lat="+pointnew.y+" lon="+pointnew.x+" "+"vous pouvez repositionner le marqueur en cliquant et en faisant glisser le marqueur, si vous êtes satisfait par la position appuyez sur valider ma position"); La géolocalisation: ShowAddress() Introduction I. Maquette II. Programmation a) inscription b) recherche III. Intégration IV.Difficultés rencontrées Conclusion
Projet SwitcHome 20 La géolocalisation : GPS( lat, lon) // création d'un point associé aux coordonnées GPS var pointb = new GLatLng(latb,lonb); // on centre la carte sur ce point map.setCenter(pointb, 13); // création du marqueur associé var markerb = new GMarker(pointb,{draggable: true}); // on ajoute le marqueur à la carte map.addOverlay(markerb); latblonb Introduction I. Maquette II. Programmation a) inscription b) recherche III. Intégration IV.Difficultés rencontrées Conclusion
Projet SwitcHome 21 Validation de la position JavaScript: document.forms["validation"].elements["lat"].value=latitude; document.forms["validation"].elements["lon"].value=longitude; HTML: latitude: longitude: Introduction I. Maquette II. Programmation a) inscription b) recherche III. Intégration IV.Difficultés rencontrées Conclusion
Projet SwitcHome 22 Page ajouter une annonce Récupération de la latitude et de la longitude: " style="width:100px;" /> Bouton “géolocaliser sa maison”: Lien vers une FAQ: A quoi ca sert? Introduction I. Maquette II. Programmation a) inscription b) recherche III. Intégration IV.Difficultés rencontrées Conclusion
Projet SwitcHome 23 Recherche Introduction I. Maquette II. Programmation a) inscription b) recherche III. Intégration IV.Difficultés rencontrées Conclusion
Projet SwitcHome 24 Intégration des travaux à l’existant Introduction I. Maquette II. Programmation a) inscription b) recherche III. Intégration IV. Difficultés rencontrées Conclusion Plusieurs méthodes Copier-coller et remettre à jour les liens Regarder la structure du site et l’exploiter Proposer une architecture convenable à défaut de structure appropriée
Projet SwitcHome 25 Difficultés rencontrées Intégration dans un site déjà existant : Respect de l’architecture Compréhension de l’organisation Travail sur une base de données personnelles: Tests réguliers Pas de conflits entre les différents programmeurs ( équipe projet et designer ) Problème : base de données en SQL4 vs SQL5 Introduction I. Maquette II. Programmation III. Intégration IV.Difficultés rencontrées Conclusion
Projet SwitcHome 26 Difficultés rencontrées Difficultés liées à Google Map Difficultés à retrouver l’origine d’une erreur dans un code API Google Map toujours en développement: les nouvelles fonctionnalités sont peu documentées Introduction I. Maquette II. Programmation III. Intégration IV.Difficultés rencontrées Conclusion
Projet SwitcHome 27 Difficultés rencontrées Exemple : Problème: chaque marqueur est associé à une carte Solution adoptée : utiliser la fonction load() Autre solution possible : utiliser le MarkerManager qui gère la visibilité des marqueurs. Introduction I. Maquette II. Programmation III. Intégration IV.Difficultés rencontrées Conclusion
Projet SwitcHome 28 Conclusion Introduction I. Maquette II. Programmation III. Intégration IV.Difficultés rencontrées Conclusion