6
votes

API de géolocalisation

Je viens de rencontrer cette grande API: http://ipinfodb.com/ip_location_api.php

Cependant, je voudrais également récupérer le continent. Est-ce même possible car je ne peux pas le trouver.

Peut-être qu'il y a une autre API disponible librement disponible qui offrira la ville, le pays et le continent? J'ai essayé Googles Ajax Api, mais ils n'offrent pas de continent non plus.

Peut-être que je vais devoir simplement convertir ce que j'ai déjà dans des continents, comment ?!

J'espère que ce n'est pas trop subjectif!

merci tout


0 commentaires

4 Réponses :


17
votes

Pourquoi ne mappez-vous pas chaque pays CountryCode xx CountryCode sur le continent respectif? Ne devrait pas être trop difficile car il n'y a que 200 pays et 5 ou 7 continents.

EDIT: Je n'ai aucune connaissance de cette base de données préparée en PHP, mais voici un JSON_ENCODE 'DBRAY pour tous les pays avec le code de pays en tant que nom de la clé et du continent en tant que valeur: < / p> xxx

appelez-le avec: xxx


3 commentaires

C'est exactement ce que j'essaie de faire, mais il existe sûrement une base de données déjà ou PHP a une fonction intégrée pour faire cela?


Impressionnant!! Où avez-vous obtenu cet eyze et quelle précision pensez-vous que c'est?


AFAIK C'est une source fiable, je l'ai trouvée disponible sur un service Web ( services.sapo.pt/gis/getcountries ) Je viens de le gratter et j'ai traduit les noms du continent en anglais.



6
votes

Il n'y a que des pays de 200 millions et seulement 6 continents, alors je voudrais demander pourquoi vous avez besoin d'un service Web pour déterminer ce bit d'information ... à moins que vous ne prévoyez d'obtenir beaucoup d'utilisateurs de pays si politiquement instable, ils changeront de noms ou cesser d'exister avant que votre application ne fonctionne. Gardez simplement une liste statique.

En outre, tous les pays ne sont pas sur un continent. La Nouvelle-Zélande, par exemple, ne fait pas partie de l'Australie (selon Wikipedia au moins).

Si vous pouvez déterminer le pays de l'utilisateur par programme, vous avez suffisamment d'informations pour rechercher leur continent dans une liste statique que vous possédez. Cela vous faudrait une heure pour assembler cette information et la mettre dans une base de données ou un fichier XML, et cela changera rarement. Vous avez déjà passé presque ce temps à savoir comment déterminer le continent de manière dynamique.


3 commentaires

Qu'en est-il du dernier bit? Vous voulez dire le continent? Je dois déterminer cela comme je voudrais faire diverses fonctions en fonction de l'emplacement du continent des utilisateurs, puis sur l'exploration de pays, de la ville, etc. Ma question peut être simple, mais ma ligne de pensée n'est pas. :)


@Abs Voir mon édition (déplacé du commentaire dans la réponse pour aider à clarifier)


Merci Rex. Je comprend. C'est juste que je suis paresseux et espérait qu'il serait prêt et tout emballé pour moi!



1
votes

acheminez Maxmind Geolite Pays et Maxmind Geolite City .

Si c'est le continent, vous êtes principalement après (je ne sais pas si Geolite stocke que), vous pouvez toujours cartographier les codes de pays de la base de données Geolite aux codes de pays du Base de données mondiale utilisée MySQL en tant que exemple de base de données. Qui a le continent pour chaque pays stocké.


3 commentaires

J'ai essayé ces gars et leur mise en œuvre est désordonnée, la précision n'est pas si grande pour la fonctionnalité gratuite. Mais vous avez raison, c'est le meilleur que j'ai rencontré, mais j'ai besoin de quelque chose de meilleur et plus léger.


@ABS - La base de données mondiale MySQL a des continents. Si la ou les bases de données de géolite ont des codes de pays (n'ont pas vérifié) cela pourrait fonctionner.


Bon point. Je pense que ça fait. Cher Dieu, je suis un Simpleton! :)



0
votes

Essayez http://www.geobytes.com/iplocator.htm?getLocation

J'utilise leur interface en ligne tout le temps, jamais essayé l'API.


0 commentaires