2010-04-08 10 views
5

Disculpe, esta no es una pregunta muy bien definida, estoy pensando en una idea para un producto, así que necesito saber qué es posible ...En el Reino Unido, ¿cómo puedo encontrar una dirección dada las coordenadas GPS?

Digamos que estoy parado en la puerta de una casa, dado el Las coordenadas GSP desde un teléfono inteligente, ¿cómo puedo encontrar la dirección en la que estoy parado?

¿Es el GPS lo suficientemente bueno para esto?

¿Cuánto cuestan los datos/servicio que necesito usar?

¿Qué otras preguntas debería hacer al respecto?

+0

ver también http://www.tomanthony.co.uk/blog/geocoding-uk-postcodes-with-google-map-api/ –

+0

posible duplicado de http://stackoverflow.com/questions/2621844/fetch-latitude-longitude-by-passing-postcodes-to-maps-google-com-using-javascript –

Respuesta

5

GPS está limitado a devolver las coordenadas de latitud y longitud de su posición.

Para resolver estas coordenadas en una dirección, necesitaría usar una fuente de datos externa. El acto de convertir una coordenada geográfica a una dirección a menudo se denomina reverse geocoding.

Hay algunos servicios gratuitos de geocodificación inversa, como that offered within the Google Maps API. Sin embargo, asegúrese de leer y comprender el Terms of Use antes de usar dicho servicio.


A modo de ejemplo, se puede hacer geocodificación inversa con la API de Google Maps utilizando la siguiente petición HTTP:

CSV simple:

http://maps.google.com/maps/geo?q=40.756041,-73.986939&output=csv&sensor=false

devoluciones:

200,8,"601-699 7th Ave, New York, NY 10036, USA" 

Más XML Complejo:

http://maps.google.com/maps/geo?q=40.756041,-73.986939&output=xml&sensor=false

devoluciones:

<kml xmlns="http://earth.google.com/kml/2.0"><Response> 
    <name>40.756041,-73.986939</name> 
    <Status> 
    <code>200</code> 
    <request>geocode</request> 
    </Status> 
    <Placemark id="p1"> 
    <address>601-699 7th Ave, New York, NY 10036, USA</address> 
    <AddressDetails Accuracy="8" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"><Country><CountryNameCode>US</CountryNameCode><CountryName>USA</CountryName><AdministrativeArea><AdministrativeAreaName>NY</AdministrativeAreaName><SubAdministrativeArea><SubAdministrativeAreaName>New York</SubAdministrativeAreaName><Locality><LocalityName>New York</LocalityName><DependentLocality><DependentLocalityName>Manhattan</DependentLocalityName><Thoroughfare><ThoroughfareName>601-699 7th Ave</ThoroughfareName></Thoroughfare><PostalCode><PostalCodeNumber>10036</PostalCodeNumber></PostalCode></DependentLocality></Locality></SubAdministrativeArea></AdministrativeArea></Country></AddressDetails> 
    <ExtendedData> 
     <LatLonBox north="40.7595131" south="40.7532178" east="-73.9835667" west="-73.9898620" /> 
    </ExtendedData> 
    <Point><coordinates>-73.9869192,40.7560331,0</coordinates></Point> 
    </Placemark> 
    <Placemark id="p2"> 
    <address>Times Sq - 42nd St Station, New York, NY 10116, USA</address> 
    <AddressDetails Accuracy="9" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"><AddressLine>Times Sq - 42nd St Station</AddressLine></AddressDetails> 
    <ExtendedData> 
     <LatLonBox north="40.7591946" south="40.7528994" east="-73.9838014" west="-73.9900966" /> 
    </ExtendedData> 
    <Point><coordinates>-73.9869490,40.7560470,0</coordinates></Point> 
    </Placemark> 
    <Placemark id="p3"> 
    <address>Times Square - 42nd Street</address> 
    <AddressDetails Accuracy="9" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"><AddressLine>Times Square - 42nd Street</AddressLine></AddressDetails> 
    <ExtendedData> 
     <LatLonBox north="40.7591476" south="40.7528524" east="-73.9838524" west="-73.9901476" /> 
    </ExtendedData> 
    <Point><coordinates>-73.9870000,40.7560000,0</coordinates></Point> 
    </Placemark> 
    <Placemark id="p4"> 
    <address>W 42 St - 7 Av, New York, NY 10116, USA</address> 
    <AddressDetails Accuracy="9" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"><AddressLine>W 42 St - 7 Av</AddressLine></AddressDetails> 
    <ExtendedData> 
     <LatLonBox north="40.7591446" south="40.7528494" east="-73.9839964" west="-73.9902916" /> 
    </ExtendedData> 
    <Point><coordinates>-73.9871440,40.7559970,0</coordinates></Point> 
    </Placemark> 
    <Placemark id="p5"> 
    <address>New Amsterdam Theatre, New York, NY 10036, USA</address> 
    <AddressDetails Accuracy="9" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"><Country><CountryNameCode>US</CountryNameCode><CountryName>USA</CountryName><AdministrativeArea><AdministrativeAreaName>NY</AdministrativeAreaName><Locality><LocalityName>New York</LocalityName><PostalCode><PostalCodeNumber>10036</PostalCodeNumber></PostalCode><AddressLine>New Amsterdam Theatre</AddressLine></Locality></AdministrativeArea></Country></AddressDetails> 
    <ExtendedData> 
     <LatLonBox north="40.7593416" south="40.7530464" east="-73.9842484" west="-73.9905436" /> 
    </ExtendedData> 
    <Point><coordinates>-73.9873960,40.7561940,0</coordinates></Point> 
    </Placemark> 
    <Placemark id="p6"> 
    <address>W 42 St - 7 Av, New York, NY 10116, USA</address> 
    <AddressDetails Accuracy="9" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"><AddressLine>W 42 St - 7 Av</AddressLine></AddressDetails> 
    <ExtendedData> 
     <LatLonBox north="40.7594606" south="40.7531654" east="-73.9842484" west="-73.9905436" /> 
    </ExtendedData> 
    <Point><coordinates>-73.9873960,40.7563130,0</coordinates></Point> 
    </Placemark> 
    <Placemark id="p7"> 
    <address>Times Sq - 42nd St Station, New York, NY 10116, USA</address> 
    <AddressDetails Accuracy="9" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"><AddressLine>Times Sq - 42nd St Station</AddressLine></AddressDetails> 
    <ExtendedData> 
     <LatLonBox north="40.7589406" south="40.7526454" east="-73.9832194" west="-73.9895146" /> 
    </ExtendedData> 
    <Point><coordinates>-73.9863670,40.7557930,0</coordinates></Point> 
    </Placemark> 
    <Placemark id="p8"> 
    <address>W 42 St - Broadway, New York, NY 10116, USA</address> 
    <AddressDetails Accuracy="9" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"><AddressLine>W 42 St - Broadway</AddressLine></AddressDetails> 
    <ExtendedData> 
     <LatLonBox north="40.7588236" south="40.7525284" east="-73.9831654" west="-73.9894606" /> 
    </ExtendedData> 
    <Point><coordinates>-73.9863130,40.7556760,0</coordinates></Point> 
    </Placemark> 
    <Placemark id="p9"> 
    <address>7 Av - W 41 St, New York, NY 10116, USA</address> 
    <AddressDetails Accuracy="9" xmlns="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"><AddressLine>7 Av - W 41 St</AddressLine></AddressDetails> 
    <ExtendedData> 
     <LatLonBox north="40.7586296" south="40.7523344" east="-73.9843024" west="-73.9905976" /> 
    </ExtendedData> 
    <Point><coordinates>-73.9874500,40.7554820,0</coordinates></Point> 
    </Placemark> 
</Response></kml> 

Simplemente cambie el parámetro q con su latitude,longitude.


Tenga en cuenta que la versión gratuita de la API de Google Maps tiene un límite de 15,000 solicitudes por dirección IP por día.(Google Maps API FAQ)

Si piensa utilizar en gran medida los servicios de geocodificación inversa de Google, puede considerar utilizar el Premier edition of the Google Maps API.

La Premier API viene automáticamente con "advanced geocoding capabilities with greater volume and speed", por lo que las limitaciones de la API estándar deben ser reemplazadas por nuevas cuotas.

Como una nota adicional, según una unofficial source (con fecha de abril de 2008), el costo de la Premier API comienza en USD 10.000 por año.

1

Por cierto, la Encuesta sobre Ordenanzas acaba de publicar sus datos bajo licencias realmente flexibles y creo que también tienen un servicio web. Es posible que desee echar un vistazo.

Cuestiones relacionadas