Duplicata possible:
Techniques de détection d'emplacement pour les adresses IP
Pour notre site Web, il est important de savoir exactement de quel pays vient notre visiteur.
Je suppose que la meilleure réponse à ma question serait la simple fonction de géolocalisation des systèmes de navigation actuels, qui demande simplement à l'utilisateur si le site Web est autorisé à voir son emplacement géographique: http://dev.w3.org/ geo/api/spec-source.html
mais je ne veux pas déranger le visiteur avec des questions, j'aimerais détecter automatiquement la position du visiteur (le pays devrait suffire.)
Quelle est la meilleure façon de procéder? - quelle base de données ip serait la meilleure? - l'en-tête du navigateur est-il suffisamment fiable pour détecter son pays? (en-us en-en en-ca?) Quelle est la meilleure solution?
NetImpact fournit une API gratuite pour la recherche de géolocalisation par IP, ProgrammableWeb a également roundup de fournisseurs de recherche GeoIP. Cela implique une petite latence pendant que votre application termine un appel API (sauf si votre application peut utiliser un appel non bloquant), mais c'est la manière la moins intrusive de détecter le pays d'origine d'un visiteur.
L'en-tête du navigateur vous indique simplement ce que langue l'utilisateur veut voir. Une personne hispanophone en voyage d'affaires au Japon souhaite probablement voir des sites Web en espagnol.
Je pense que vous pouvez utiliser les services IP inversés pour faire une supposition, mais si c'est à des fins commerciales, je pense que vous devez demander l'utilisateur pour vous le dire.
De même avec la géolocalisation: la position physique de l'ordinateur peut ou non être pertinente pour les besoins de l'utilisateur naviguant sur le site.
Jetez un œil à cette page sur l'API Google Maps: http://code.google.com/apis/maps/documentation/javascript/basics.html#DetectingUserLocation
http://www.iplocationtools.com/samples.html présente également un bon ensemble d'API pour ce faire. J'ai déjà utilisé leur système et ils étaient assez fiables.