Conversion de latitude / longitude en nom de ville? (géolocalisation inverse)
Je suis en train de travailler sur un babillard d'emploi dans Codeigniter PHP + jQuery, où les employeurs entrée de leur emplacement, et nous utilisons l'API Google Maps pour tracer. Tout cela a eu génial convivialité résultats, le problème, c'est lorsque nous essayons d'afficher ces endroits pour les demandeurs d'emploi, ils sont confus et difficile à discerner visuellement (ils lire comme ceci: "02905, à 2 miles away","171 Saint-Jean, 4 miles away", "Providence, RI, 10 km".
Je veux être en mesure d'inverser le géolocaliser à partir d'une longitude/latitude à un niveau de jeu (idéalement, le nom de la ville) ainsi que dans les résultats de recherche que je peux avoir les lieux répertoriés comme ceci: "la Providence, RI, à 10 miles away", "Providence, RI, 5 miles away", "Cranston, RI, à 16 miles".
Est-il un moyen de géocodage inversé à la ville? Je vois de nombreux exemples de moyens de géocodage inversé la plus proche adressable emplacement, mais aucun moyen de contrôler le niveau.
Espère que c'est clair! N'hésitez pas à commenter avec toutes les questions que vous besoin de précisions.
source d'informationauteur Walker | 2010-08-02
Vous devez vous connecter pour publier un commentaire.
Le Geocoder de Google, qui prend en charge le géocodage inversé retourne address_components. Vous avez juste besoin de sortir le composant de l'adresse taggés avec
locality
etpolitical
si vous voulez juste le nom de la ville. Si vous voulez unis ainsi qu'ils sont marqués avecadministrative_area_level_1
GRATUIT SOURCES (par exemple, Creative Commons)
Geonames
Si vous êtes à la recherche pour le libre (liberté) des sources, vous pouvez utiliser Geonames API findNearbyPlaceName.
Pour l'exemple suivant retourne le plus proche Placename:
http://api.geonames.org/findNearbyPlaceName?lat=47.3&lng=9&username=demo
Plus d'informations sont disponibles ici
http://www.geonames.org/export/web-services.html#findNearbyPlaceName
Épurée
Au lieu de l'unique point il faut délimitée de la boîte. Appel de l'échantillon:
http://api.freebase.com/api/service/geosearch?location=%5B30.2,50.4,30.6,50.8%5D&location_type=/location/citytown&inside=true&indent=1
Geocoder.ca
Géocodage inversé de l'Amérique du Nord adresses.
Info: http://geocoder.ca/
Exemple d'appel: http://geocoder.ca/?latt=40.70771000786733&longt=-74.0109443664550&reverse=1&allna=1&geoit=xml&corner=1&jsonp=1&callback=test
Carte de la Quête de l'API
À l'aide de Open Street Map nominatim service:
http://open.mapquestapi.com/nominatim/v1/search?q=50.4,30.4&format=json
NON LIBRE DE SOURCES DE
Yahoo PlaceFinder
Documentation http://developer.yahoo.com/geo/placefinder/
Exemple d'appel:
http://where.yahooapis.com/geocode?q=38.898717,+-77.035974&gflags=R&appid=%5Byourappidhere%5D
De l'API Google Maps
Documentation:
http://code.google.com/apis/maps/documentation/geocoding/#ReverseGeocoding
Ne pouvez-vous pas juste le faire faire plein d'adresse, puis déposer la rue et le numéro?
Je dirais qu'il serait plus intéressant d'utiliser l'adresse complète, de manière à obtenir une mesure plus précise de la distance (même si vous n'affichez que la ville,de l'état).
EDIT: Si vous le faites de cette façon, au moins, il doit être retourné dans un formulaire standard, que vous pourrez ensuite facilement regex les données que vous voulez de.
Géocodage inversé services (tels que Google, Yahoo, et GeoNames) va bien travailler pour cela avec quelques mises en garde:
Je lance un site web qui offre un certain nombre de commerciaux géographique des Api web et vend les bibliothèques Java que nous avons construit à l'arrière de ces Api. L'un d'eux (qui n'a de couverture) utilise un bon de forme polygonale carte des villes et villages dans la de NOUS retourner le résultat que contient votre point de requête. Il est précis et rapide, donc si c'est une mission élément essentiel dans votre système, je vous suggère de jeter un oeil à notre site web:
http://askgeo.com
La page qui est spécifique à la recherche des villes de lat/lon:
http://askgeo.com/database/UsPlace2010
J'étais à la recherche d'une API pour convertir lat/long de la ville. Semble que c'était la question d'origine sur ce fil.
J'ai vu les données "http://download.geonames.org/export/dump/" partagé sur un autre stackoverflow fil Étant donné les coordonnées lat/long, comment pouvons-nous découvrir la ville/du pays?et mis en place mon propre Service Web.
Vous pouvez le voir courir à http://scatter-otl.rhcloud.com/location?lat=36&long=-78.9 il suffit de changer la latitude et la longitude de votre emplacement.
Il est déployé sur OpenShift (RedHat Plate-forme). Premier appel après une longue période d'inactivité peut prendre un certain temps, mais, habituellement, la performance est satisfaisante. N'hésitez pas à utiliser ce service que vous le souhaitez...
Aussi, vous pouvez trouver la source du projet à https://github.com/turgos/Location.
De géolocalisation Html5 nécessite l'autorisation de l'utilisateur. Si vous ne voulez pas ce comportement, vous pouvez aller pour un prestataire externe comme https://geoip-db.com. Ils offrent un service de géolocalisation basé sur les adresses ip.
Essayez cet exemple: