使用Google Maps和PHP查找PostCode或ZipCode的经度和纬度
从PostCode转换为映射参考远非准确,但可以使用GoogleMapsAPI来完成。尽管每天您的请求数量受到一定限制,但您只需要询问即可从Google获得GoogleMapsAPI密钥。
GoogleMaps通常通过JavaScript工作,但是可以要求Google以JSON格式返回数据,然后使用PHP函数json_decode()将信息解码为可用的数组格式。要使Google以JSON格式返回数据,您必须在查询字符串中传递参数“output=json”。
以下功能可以采用邮政编码并将其转换为经度和纬度。
function getLatLong($code){
$mapsApiKey = 'your-google-maps-api-key';
$query = "http://maps.google.co.uk/maps/geo?q=".urlencode($code)."&output=json&key=".$mapsApiKey;
$data = file_get_contents($query);
//如果返回数据
if($data){
//转换为可读格式
$data = json_decode($data);
$long = $data->Placemark[0]->Point->coordinates[0];
$lat = $data->Placemark[0]->Point->coordinates[1];
return array('Latitude'=>$lat,'Longitude'=>$long);
}else{
return false;
}
}该功能可以按以下方式使用。为了保持主题不变,以下两个邮政编码分别是Google在英国的一个地址和在美国的办公地点。
print_r(getLatLong('SW1W 9TQ'));
print_r(getLatLong('10011'));这将产生以下输出。
Array ( [Latitude] => 51.489943 [Longitude] => -0.154065 ) Array ( [Latitude] => 40.746497 [Longitude] => -74.009447 )
我已经用英国和美国的邮政编码进行了尝试,但是很有趣的是,看看它是否可以与其他任何邮政编码一起使用。此外,查询当前查找的是google.co.uk,但这仅是因为我位于英国。您应该将其更改为最近的Google域,因此,如果您位于美国,则应将其更改为google.com。
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短