IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

APIs Google Discussion :

Afficher les markers de la viewport en cours


Sujet :

APIs Google

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 152
    Points : 56
    Points
    56
    Par défaut Afficher les markers de la viewport en cours
    Bonjour,

    J'ai besoin d'apprendre à ne charger que les markers de la viewport en cours.
    Je comprends que pour cela, il faut que je commence à récupèrer les coordonnées des 4 coins de ma carte.
    Pour cela j'utilise donc la fonction getBounds() dans une fonction JS

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function showMarkers() {
    var bds = maptest1.getBounds();
    var South_Lat = bds.getSouthWest().lat();
    var South_Lng = bds.getSouthWest().lng();
    var North_Lat = bds.getNorthEast().lat();
    var North_Lng = bds.getNorthEast().lng();
     ...
    }
    Par contre une fois que j'ai les 4 coordonnées, je ne sais pas comment appliquer mes filtres dans ma requête SQL, sur les 2 coordonnées dont je dispose pour chaque Marker.
    Comprenez vous mon blocage ?

  2. #2
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Les deux points qui te sont retournés sont les deux points qui permettent de tracer un rectangle.

    A partir de là, tu places ton rectangle dans un plan ordonné (latitude pour l'axe horizontal, longitude pour le vertical), et tu retrouves les conditions qui te pemettent d'extraire les points qui sont à l'intérieur de ce carré :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE Marker.latitude > {$latSW} AND Marker.latitude < {$latNE} AND Marker.longitude> {$longSW} AND Marker.longitude< {$longNE}
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    je ne sais pas comment appliquer mes filtres dans ma requête SQL
    on est donc bien d'accord qu'il n'y a aucun rapport avec javascript

    http://www.developpez.net/forums/f44...donnees/mysql/

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 152
    Points : 56
    Points
    56
    Par défaut
    Je vous remercie pour vos réponses.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE Marker.latitude > {$latSW} AND Marker.latitude < {$latNE} AND Marker.longitude> {$longSW} AND Marker.longitude< {$longNE}
    Cela répond en effet parfaitement à ma question.
    MERCI.
    Donc depuis ma fonction javascript, je vais faire appel en AJAX à un fichier PHP, où je vais récupérer (via une req SQL) tous les markers qui répondent au filtre ci-dessous.



    Arrive donc ma 2ième question :

    Aujourd'hui, vu que je récupère TOUS les marqueurs, je n'utilise pas AJAX et je vais chercher dans MySQL, depuis mon fichier PHP principal où je créé la MAP, tous les markers. La requête SQL me rammenant donc toutes les infos utiles :
    - Lat & Long du marqueur
    - titre & info complémentaire du marqueur, que je souhaite affiche dans la MAP.


    Maintenant je comprends que je vais devoir lancer la requête SQL en AJAX : communication client - serveur, pour passer en paramètre de la requête SQL, des variables qui proviennent de la fonction javascript.

    Comment vais je donc pouvoir, rappatrier dans le fichier principal, les résultats de la requête SQL ?
    Jusqu'alors, pour lister les marqueurs, je ne passe pas par un fichier JSON => Les info liées aux marqueurs sont chargées directement suite au lancement de la requête SQL dans le fichier PHP principal.

    A présent, suis je obligé d'aller stocker les info des markers dans un fichier JSON ?



    Comprenez vous ma question ?
    Merci.

Discussions similaires

  1. [Google Maps] Afficher les markers compris dans la carte
    Par alban566 dans le forum APIs Google
    Réponses: 1
    Dernier message: 10/12/2013, 19h56
  2. Réponses: 1
    Dernier message: 18/10/2013, 20h11
  3. [Google Maps] Afficher uniquement les Marker du Viewport
    Par Lazaa dans le forum APIs Google
    Réponses: 12
    Dernier message: 27/05/2013, 20h24
  4. Requête qui affiche les enregistrements de la semaine en cours
    Par fanico11 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 28/04/2008, 16h55
  5. [Requête]Afficher les enregistrements de l'année en cours
    Par holodev dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 21/03/2007, 11h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo