首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

如何获取百度坐标api返回的json格式字符串或对象呢

2013-07-11 
怎么获取百度坐标api返回的json格式字符串或对象呢json不怎么熟,比如调用这个接口http://api.map.baidu.co

怎么获取百度坐标api返回的json格式字符串或对象呢
json不怎么熟,比如调用这个接口http://api.map.baidu.com/ag/coord/convert?from=2&to=4&x=116.40624058825688&y=39.90789300648029&callback=callback获得返回的数据是这样的callback&&callback({"error":0,"x":"MTE2LjQxMjYxOTYwMDc1","y":"MzkuOTE0MjIxMTQyNDM3"})
想得到x,y后面的加密数据,注意坐标比较多,需要批量
最好写个示例啊, JSON callback API 百度
[解决办法]

$url = 'http://api.map.baidu.com/ag/coord/convert?from=2&to=4&x=116.40624058825688&y=39.90789300648029&callback=callback';
$s = file_get_contents($url);
strtok($s, '(');
$t = json_decode(strtok(')'), 1);
$t['x'] = base64_decode($t['x']);
$t['y'] = base64_decode($t['y']);
print_r($t);
Array
(
    [error] => 0
    [x] => 116.41261960075
    [y] => 39.914221142437
)

[解决办法]
print_r( json_decode('{"error":0,"x":"MTE2LjQxMjYxOTYwMDc1","y":"MzkuOTE0MjIxMTQyNDM3"}',true));

Array
(
    [error] => 0
    [x] => MTE2LjQxMjYxOTYwMDc1
    [y] => MzkuOTE0MjIxMTQyNDM3
)

x,y后面的值是base64 加密的
[解决办法]
你这是 php 超时了
执行一下 set_time_limit(0);
[解决办法]
json_decode 的第二个参数是指示是否对象也用数组返回,默认不是

热点排行