Как получить геолокацию из почтового индекса Великобритании - PullRequest
3 голосов
/ 31 января 2012

В данный момент у меня есть PHP-скрипт, который позволяет пользователям вводить почтовый индекс Великобритании.

Мне было интересно, есть ли способ узнать их геолокацию по почтовому индексу, который они вводят. (Через API Google или что-то?)

Я пробовал http://code.google.com/apis/maps/documentation/geocoding/index.html, но для этого требуется полный адрес, тогда как у меня есть только почтовый индекс.

Помощь будет оценена, спасибо :) Питер

Ответы [ 5 ]

5 голосов
/ 20 марта 2014

Теперь есть бесплатная альтернатива правительству Великобритании другим опциям, перечисленным здесь.Перейдите на http://postcodes.io/, чтобы увидеть подробности API и примеры

5 голосов
/ 31 января 2012

Вот загружаемая база данных для всех почтовых индексов Великобритании с широтой и долготой.

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

Вот пошаговое руководство по геокодированию почтовых индексов Великобритании с Google Map API

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

3 голосов
/ 31 января 2012

Открытый набор данных почтовых индексов Open CodePoint от Ordnance Survey предоставляет набор данных всех почтовых индексов материковой части Великобритании

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

Затем вы можете преобразовать их в WGS84 Lat / Long с помощью такой библиотеки

http://www.jstott.me.uk/phpcoord/
2 голосов
/ 31 января 2012

Вы можете проверить API Yahoo PlaceFinder

Вот пример URL http://where.yahooapis.com/geocode?q=BL12DD&appid=[yourappidhere]

Я использовал это в прошлом и нашел это несколько точным.

Документы: http://developer.yahoo.com/geo/placefinder/

Вот иди код

<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).'
'; echo '
Lat:'. $ YahooData-> ResultSet-> Результаты [0] -> широта; function fetchPage ($ url) { $ ch = curl_init (); curl_setopt ($ ch, CURLOPT_URL, $ url); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, TRUE); $ result = curl_exec ($ ch); curl_close ($ ч); вернуть $ результат; } ?>
0 голосов
/ 23 августа 2015

Хотя на это уже ответили: Вот ссылка на простой API, который позволяет получить GeoJson для googlemaps..query путем объединения или объединения почтового индекса Великобритании (например, ZE1 0AE), границ сектора, района, города и округа

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

query by uk postal

...