Comment puis-je obtenir de l'emplacement de l'utilisateur, sans avoir à demander la permission ou si l'utilisateur a permis une fois donc n'a pas besoin de demander plus jamais?
Je suis entrain de créer un portail de l'utilisation de MySQL, JavaScript et Ajax et je veux extraire la position de l'utilisateur en termes de latitude et de longitude. si il n'est pas possible de récupérer l'emplacement sans demander puis une fois à l'utilisateur d'accorder son autorisation, j'ai pu récupérer l'emplacement à partir de n'importe quelle page sans se poser de nouveau.
Merci d'Avance.
OriginalL'auteur user3406221 | 2014-10-14
Vous devez vous connecter pour publier un commentaire.
3 façons de faire, dans cette réponse:
Demander à l'utilisateur pour autoriser l'accès à son navigateur, l'API
Vous pouvez obtenir l'emplacement du client à l'aide de fonctionnalités de HTML5. Ainsi, vous obtenez l'emplacement exact de l'utilisateur s'il est fait à partir d'un appareil qui dispose d'un GPS ou d'un emplacement approximatif. Une fois que l'utilisateur a approuvé à part son emplacement, vous l'aurez sans plus d'approbation.
Cette solution utilise La géolocalisation.getCurrentPosition(). Il est nécessaire pour la plupart des cas, pour ce faire en vertu du protocole HTTPS.
Si vous êtes pressé, voici une CodePen avec cette solution: https://codepen.io/sebastienfi/pen/pqNxEa
Les Erreurs de manipulation et les Rejets
Le deuxième paramètre de la getCurrentPosition() la méthode utilisée pour gérer les erreurs. Il spécifie une fonction à exécuter si elle ne parvient pas à obtenir l'emplacement de l'utilisateur:
D'afficher le Résultat dans une Carte
GeoIP
Si la solution ci-dessus ne fonctionne pas dans votre scénario, vous pouvez obtenir une position approximative à l'aide d'IP. Vous ne serez pas nécessairement obtenir la localisation exacte de l'utilisateur, mais peut mettre fin à l'emplacement le plus proche du nœud Internet de l'utilisateur de la zone de point de connexion, qui peut être assez près de 99% des cas d'utilisation (pays, ville, région).
Que ce n'est pas précis, mais ne nécessite pas l'approbation de l'utilisateur, ce qui peut également répondre à vos exigences.
Trouver ci-dessous les 2 façons de le faire. Je ne recommande pas de faire cela à l'aide de la solution CDN car il est plus rapide et oui, la vitesse est très important.
Obtenir un emplacement approximatif (pays, ville, région) à l'aide d'un GeoIP service
De nombreux services externes, vous pouvez obtenir le GeoIP emplacement.
Voici un exemple avec Google.
Pour obtenir votre Clé API Google, rendez-vous ici: https://developers.google.com/loader/signup?csw=1
Obtenir un emplacement approximatif (pays, ville, région) à l'aide de services CDN
Une alternative à l'utilisation des services est fourni par la plupart de la CAN. L'avantage de cette solution est qu'aucune requête HTTP est nécessaire, de sorte qu'il est plus rapide. Si vous avez déjà un CDN, c'est le chemin à parcourir. Vous pouvez utiliser CloudFlare, CloudFront, etc.
Dans ce scénario, vous serez plus susceptible de mettre fin à l'emplacement en tant que paramètre de la requête HTTP en-tête, ou même directement dans la fenêtre de l'objet de sorte que vous pouvez obtenir avec Javascript. Lire le CDN de la documentation pour en savoir plus.
Édité à la mi-décembre 2018, pour ajouter plus d'options.
OriginalL'auteur Sébastien
Vous pouvez aller pour un service externe comme https://www.geoip-db.com. Ils fournissent un service de géolocalisation basé sur les adresses IP où vous n'avez pas besoin d'autorisation de l'utilisateur.
Essayez cet exemple:
Pas de restrictions, un nombre illimité de demandes sont autorisées.
OriginalL'auteur Kurt Van den Branden
Il est possible de deviner la latitude et la longitude en fonction de l'origine de l'adresse IP de la requête web. Vous avez besoin d'accéder à une base de données ou un service IPs cartes à d'autres endroits comme MaxMind de geoip (https://www.maxmind.com/en/geoip-demo). Il devrait y avoir JavaScript /PHP wrappers disponibles pour les services tels que ceux qui vous pouvez faire usage de.
Recherche GeoIP est pas très fiable et peut sortir de la date facilement. Si vous avez besoin de quelque chose de plus précis, vous aurez à solliciter les informations de l'utilisateur, tel qu'un code postal.
OriginalL'auteur FoolishSeth