问题描述
我现在有一个PHP脚本,允许用户输入英国邮政编码。
我想知道是否有办法从我的地理位置获得地理位置他们输入的邮编。 (通过谷歌的API或其他?)
我试过,但它需要一个完整的地址,而我只有一个邮政编码。
帮助将不胜感激,谢谢:)
Peter
您可以查看Yahoo PlaceFinder API
这里有一个示例URL
文档:
来源代码
<?php
$ data = fetc HPAGE( 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->结果[0] - >纬度;
函数fetchPage($ url){
$ ch = curl_init();
curl_setopt($ ch,CURLOPT_URL,$ url);
curl_setopt($ ch,CURLOPT_RETURNTRANSFER,TRUE);
$ result = curl_exec($ ch);
curl_close($ ch);
返回$ result;
}
?>
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
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;
}
?>
这篇关于如何从英国邮政编码获取地理定位的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!