Je suis déconcerté avec un problème, je peux obtenir l'emplacement d'un utilisateur de Facebook et tout ce dont j'ai besoin, c'est d'obtenir la latitude et la longitude de cet emplacement, mais je n'ai toujours pas pu trouver une solution. p>
Cela aidera si je peux obtenir cette latitude et cette longitude à l'aide d'une géolocalisation HTML5 ou de toute API Google. Quelle est la solution? P>
5 Réponses :
Découvrez Gisgraphy Un service Geo gratuit Open Source. P>
Tout le monde vous dira d'utiliser l'API Google Maps, mais lisez le Conditions d'utilisation . < / p>
(g) aucune utilisation de contenu sans Google Map. Vous ne devez pas utiliser ou Affichez le contenu sans une carte Google correspondante, sauf si vous êtes explicitement autorisé à le faire dans la documentation des APIS MAPS, ou par l'autorisation écrite de Google. En tout état de cause, vous ne devez pas utiliser Ou affichez le contenu sur ou en conjonction avec une carte non-Google. Pour exemple, vous ne devez pas utiliser de géocodes obtenus via le service dans conjonction avec une carte non-Google. Comme un autre exemple, vous ne devez pas afficher la rue de la rue à côté d'une carte non-Google, mais vous pouvez Afficher l'imagerie de la rue sans une carte de Google correspondante car La documentation des APIS MAPS vous permet explicitement de le faire. P> blockQuote>
Ainsi, avec l'API Google, vous
doit utiliser une carte Google forte>. Donc, si vous avez besoin d'une carte, vous allez bien. P>
Cela aidera si je peux obtenir cette latitude et cette longitude en utilisant une géolocalisation HTML5 P> blockQuote>
Eh bien, alors faites exactement exactement cela - où est exactement votre problème avec cela? P>
C'est ce que c'est ce que
getcurrentPosition code > Méthode
est pour . P>
function successFunction(position) { var lat = position.coords.latitude; var long = position.coords.longitude; console.log('Your latitude is :'+lat+' and longitude is '+long); }
Où pour vous appeler la réussite ()?
Flyleaf, je travaille chez SmartyStreFeets où nous fournissons également une API pour obtenir les coordonnées des adresses; Ça s'appelle API LiveAddress .
Comme Bart mentionné, les TOS de Google ne vous permettront pas de Geocode sans montrer une carte Google, et de quoi de plus, vous ne pouvez pas stocker les résultats. Si vous souhaitez localiser une adresse em> comme vous l'avez suggéré, je vous recommande quelque chose comme LiveAddress qui vérifiera également la validité de l'adresse - ces autres API et HTML5 ne feront pas cela. P> J'espère que vous trouverez quelque chose qui fonctionne pour vous. La question actuelle est un peu vague, mais peut-être que cela aidera. Cela pourrait aller quelque chose comme ça ( avec JavaScript ): P> LiveAddress.geocode(address, function(geo) {
alert("The address is at: " + geo.coords);
});
SmartysTrestre est-il seulement ou soutiens-tu également l'Europe? L'API n'a pas pu trouver mon adresse aux Pays-Bas.
C'est nous-seulement, mais c'est vraiment i> bien aux adresses américaines. :) Pour des cas internationaux, nous vous recommandons de vous envoyer des adresses américaines via LiveAddress, ou de tout autre à une autre API de votre choix, mais réalisez que la plupart des API ne vérifient pas la livraison / validité de l'adresse internationale.
@flyleaf smartyytstreets fait maintenant une vérification de l'adresse internationale
J'ai trouvé la meilleure option d'utiliser OpenStreetMap directement via un sous-projet ( nominatim ) API qu'ils ont. P>
Exemple Rest Call: http://nominatim.openstreetmap.org/reverse?format=xml&lat=35.958&lon=-83.952&zoom=18 p>
Notez que, si leurs conditions d'utilisation permettent d'utiliser directement le client à partir du navigateur JavaScript, ils ne veulent pas utiliser à volume élevé et suggèrent d'utiliser votre serveur comme proxy pour ajouter la mise en cache et peuvent donc être facilement commutés. Les données sont disponibles au téléchargement et des instructions sont fournies pour la configuration d'une base de données locale de la requête des données. P>