Pour chaque contact, il existe un champ d'adresse personnelle qui peut être rempli avec des informations telles que le nom de la rue, la ville, le pays, etc. Le problème est que pour afficher ces informations sur une carte, Google Maps doit effectuer une recherche en ligne pour obtenir les coordonnées. Comment puis-je utiliser cette fonctionnalité hors ligne ?
Réponse
Trop de publicités?La réponse courte est : vous ne pouvez pas.
Cette fonctionnalité repose sur un service appelé géocodage qui se fait sur les serveurs de Google. La seule possibilité de le faire localement serait de télécharger l'ensemble des données cartographiques sur l'appareil et d'utiliser ces données pour calculer les coordonnées d'une adresse. Il s'agit d'une tâche qui consomme beaucoup de ressources et d'espace (par exemple, OpenStreetMap a un jeu de données de 370 Go) et qui n'est pas adaptée aux téléphones mobiles.
Une solution de contournement consisterait à enregistrer les coordonnées elles-mêmes en tant qu'adresse de rue sous la forme suivante latitude,longitude
par exemple 62.244858,25.758712
en plus de l'adresse normale et utiliser cette "adresse" pour afficher la carte. Le problème est que vous devrez toujours utiliser un géocodeur pour convertir l'adresse en coordonnées.
Tous les champs d'adresse sont envoyés à Google pour être résolus, c'est pourquoi la solution de contournement que j'ai suggérée n'est pas valable.