public function test()
{
return \Map::getLngLat('广东广州');
//return $this->fetch();
}
<?php
/*
* 地图相关配置文件
* */
return [
'ak'=>'0CYehHNnctaQFGPM3ciBVvjWqwG4n22j',
'baidu_map_url'=>'http://api.map.baidu.com',
'geocoder'=>'geocoder/v2/',
'width'=>400,
'height'=>300,
'staticimage'=>'staticimage/v2/',
];
public static function getLngLat($address){
//http://api.map.baidu.com/geocoder/v2/?callback=renderOption&output=json&address=北京市海淀区上地10街10号&city=北京市&ak=您的ak
if (!$address){
return '';
}
$data=[
'address'=>$address,
'ak'=>config('map.ak'),
'output'=>'json',
];
$url=config('map.baidu_map_url').config('map.geocoder').'?'.http_build_query($data);
//tp有两种方式获取url的内容
//1 file_get_contents($url);
//2 curl的方式
$result= doCurl($url);
return $result;
}
function doCurl($url,$type=0,$data=[]){
$ch=curl_init();//初始化
//设置选项
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//如果成功,只返回结果,不复制内容;
curl_setopt($ch,CURLOPT_HEADER,0);//0,则HEADER头不输出;
if ($type==1){
//post方式
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $data);
}
//执行并获取内容
$output=curl_exec($ch);
//释放url句柄
curl_close($ch);
//输出结果
return $output;
}