Déterminer si l'utilisateur est dans la zone géographique donnée [Résolu/Fermé]

Signaler
-
Messages postés
2375
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
7 juin 2021
-
Bonjour à tous et tout d'abord merci de prendre le temps de lire ces quelques lignes !

Voilà, j'ai dans l'idée de mettre au point un site internet qui possédera plusieurs versions, selon la position géographique de l'utilisateur. Je suis encore dans la version Alpha.

J'ai déjà réussi à connaître la position de l'utilisateur. L'idée est que le site possède une page de garde, où un script javascript va voir la position de l'utilisateur puis voir dans quelle zone il se trouve. De là, un lien apparaîtra, le menant vers le site relié à sa position.

Le problème est que justement je ne vois pas du tout comment programmer cette condition... Je ne suis pas bon niveau géographie et je ne vois pas trop comment "vérifier" qu'il se trouve dans un bloc, sachant que j'ai les données longitudes / latitudes de la dite zone (les 4 coins, vu que ça sera surtout des carrés / rectangles / autres polygones à 4 côtés).

En espérant que quelqu'un puisse me venir en aide !

Merci d'avance.

2 réponses

Messages postés
8554
Date d'inscription
lundi 21 décembre 2015
Statut
Membre
Dernière intervention
21 juillet 2020
595
Bonjour,

L'adresse Ip est sans doute le meilleur moyen de connaitre la position d'un utilisateur.
Déjà d'une, non, l'adresse IP n'est pas le meilleur moyen. Déjà car il peut éventuellement utiliser un proxy et qu'en plus ce n'est pas tout le temps vrai. La technique via la géolocalisation est bien meilleure.

Et ça ne répond pas à ma question. je sais DEJA comment avoir la position de la personne, ce que je cherche c'est comment mettre en place plusieurs "zones géographiques" dont je connais les latitudes / longitudes pour faire des tests et voir si la personne est à l'intérieur.
Messages postés
8554
Date d'inscription
lundi 21 décembre 2015
Statut
Membre
Dernière intervention
21 juillet 2020
595
Tu peux rentrer tout ça dans plusieurs tableaux puis faire une analyse.
Chaque tableaux correspondent à une région bien précise.
Pour info, même si il passe par un proxy, le proxy possède son adresse Ip.
Messages postés
2375
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
7 juin 2021
445
Salut,

Le plus simple pour s'y retrouver est d'utiliser un schéma :
pointNO -------------- pointNE
------------------------------
------------------------------
-------------User-------------
------------------------------
------------------------------
pointSO -------------- pointSE

Une zone est donc délimitée par 4 points : Nord Ouest, Nord Est, Sud Ouest et Sud Est (nommé ici pointNO, pointNE, ...). Chaque point est composé d'une latitude et d'une longitude que l'on peut nommé latPointNO, lngPointNO, latPointNE, lngPointNE, ...

Pour que l'utilisateur soit dans la zone, il faut donc que sa latitude soit comprise entre les latitudes des points NO et NE, et que sa longitude soit coimprise entre les longitudes des points NO et SO, soit :
if (latUser >= latPointNO && latUser <= latPointNE && lngUser <= lngPointNO && lngUser >= lngPointSO)


Bonne journée,
Tu es sûr ? Ça semble étrange comme manière. SE n'a rien à voir avec le tas, du coup ?
Messages postés
2375
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
7 juin 2021
445
Oui le point SE n'est pas utilisé puisque la latitude du point SE est égale à la latitude du point NE et la longitude du point SE est égale à la longitude du point SO.
Donc si la latitude de l'utilisateur est comprise entre la latitude des points NO et NE, elle est forcément comprise dans entre la latitude des points SO et SE.

Ce n'est pas vraiment étrange comme manière, il s'agit des bases de géométrie (pour le cas le plus simple d'un rectangle sans rotation).