How to get geolocation from a UK postal code

扶醉桌前 提交于 2019-12-21 02:47:22

问题


I have a PHP script at the moment which allows users to enter a UK postcode.

I was wondering if there was a way I could get their geolocation from the postcode they enter. (Through Google's API or something?)

I have tried http://code.google.com/apis/maps/documentation/geocoding/index.html but it requires a full address, whereas I only have a postcode.

Help would be appreciated, thanks :) Peter


回答1:


You could check out the Yahoo PlaceFinder API

Heres an example URL http://where.yahooapis.com/geocode?q=BL12DD&appid=[yourappidhere]

I have used this in the past and found it to be somewhat accurate.

Docs: http://developer.yahoo.com/geo/placefinder/

Heres come code

<?php

    $data = fetchPage("http://where.yahooapis.com/geocode?q=BL12DD&appid=%5Byourappidhere%5D&flags=J");
    $yahooData = json_decode($data);

    echo '<pre>'.print_r($yahooData, true).'</pre>';

    echo '<br />Lat: ' . $yahooData->ResultSet->Results[0]->latitude;

     function fetchPage($url){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
        $result = curl_exec($ch);
        curl_close($ch);
        return $result;
    }

?>



回答2:


Here is a downloadable database for all UK postcodes with latitude and longitude.

http://wikileaks.org/wiki/UK_government_database_of_all_1,841,177_post_codes_together_with_precise_geographic_coordinates_and_other_information,_8_Jul_2009

Here is Step by Step tutorial for Geocoding UK Postcodes with Google Map API

http://www.tomanthony.co.uk/blog/geocoding-uk-postcodes-with-google-map-api/




回答3:


There's now a free UK government alternative to the other options listed here. Go to http://postcodes.io/ to see the details of the API and examples




回答4:


Ordnance Survey's Open CodePoint dataset of postcodes gives you a dataset of all UK mainland postcodes

https://www.ordnancesurvey.co.uk/oswebsite/products/code-point-open/index.html

You can then convert these to WGS84 Lat/Long using a library like this

http://www.jstott.me.uk/phpcoord/



回答5:


Though this is already answered: here is a link for a simple API that allows obtaining GeoJson for googlemaps..query by single or combining UK Postal Code(ex. ZE1 0AE) ,Sector, District, City, and Wards Boundaries

https://www.mashape.com/vanitysoft/uk-boundaries-io



来源:https://stackoverflow.com/questions/9081233/how-to-get-geolocation-from-a-uk-postal-code

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!