2015-08-08 1 views
1

J'essaie de récupérer le nom de la ville actuelle en utilisant reverseGeocodeLocation mais le problème est qu'il a besoin d'une connexion réseau.Détecter la ville actuelle sans connexion réseau

La question que j'ai est là-bas une méthode alternative pour récupérer le nom de la ville actuelle sans connexion réseau?

+0

Vous pouvez obtenir une approximation proche des données sim. Une seconde ... Ah, mon erreur. Vous pouvez obtenir le pays mais pas la ville. – Fogmeister

Répondre

2

Le gestionnaire d'emplacement ('CLLocationManager') renvoie un tableau d'objets CLLocation. Un objet CLLocation contient des informations de latitude et de longitude.

Qu'est-ce que vous pouvez faire est:

  1. Trouver une base de données contenant des informations de géolocalisation, mappings spécifiquement des coordonnées à des noms de ville.

  2. Vérifiez si les coordonnées renvoyées par le gestionnaire d'emplacement correspondent à un certain seuil de l'une des villes de la base de données.

+0

"Sans connexion réseau". Si vous pouvez faire ce que vous décrivez, vous pouvez simplement demander à Apple via CoreLocation quelle est la ville actuelle. – Fogmeister

+0

Ce que j'ai proposé n'a pas besoin d'une connexion réseau. CLLocationManager fonctionne sans connexion Internet. Essayez-le vous-même. – joakim

+0

ouais je le sais. Je n'ai pas réalisé que vous vouliez dire une base de données de villes que vous regroupez dans l'appareil hors ligne. – Fogmeister

1

Vous pouvez collecter une forme approximative (rectangle, cercle) avec les coordonnées des villes que vous voulez; Comparez ensuite avec vos données de localisation actuelles pour obtenir la ville ou la zone telle que vous l'avez stockée localement. Bien que ce ne soit pas exact, il est assez proche de travailler avec.