php 获取坐标api,怎么获取百度坐标api返回的json格式字符串或对象呢
JSON callback API 百度 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后面的加密數據,注意坐標比較多,需要批量
最好寫個示例啊,
回復討論(解決方案)
$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 加密的
print_r( json_decode('{"error":0,"x":"MTE2LjQxMjYxOTYwMDc1","y":"MzkuOTE0MjIxMTQyNDM3"}',true));
Array
(
[error] => 0
[x] => MTE2LjQxMjYxOTYwMDc1
[y] => MzkuOTE0MjIxMTQyNDM3
)
x,y后面的值是base64 加密的
因為我這個坐標比較多,我想直接批量根據api接口得到返回的加密json數據,不是把已經得到的放進去根據函數格式成數組啊,不知道你明白沒喲啊
$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
)
真的謝謝了,就是還有個問題,因為我是foreach動態把數組里的x跟y放進http://api....?from=2&to=4&x={$x}&y={$y}&callback=callback';跟我返回一個錯誤Fatal error: Maximum execution time of 30 seconds exceeded in 【file_get_contents】。好像它有請求限制,一次50個,還是一秒轉換30個,怎么讓它每循環30或50次,停頓1秒,sleep
你這是 php 超時了
執行一下 set_time_limit(0);
你這是 php 超時了
執行一下 set_time_limit(0); 奇怪了,為什么我程序走完了,最后如果走完的話輸出成功,可是數據只拿到一半呢,大概4000左右坐標
那要看是否是你的程序問題了
那要看是否是你的程序問題了 不好意思,ok了,原來發現索引不是連續的,我一開始以為要用什么xmlHttprequest,getjson什么的,對了$t = json_decode(strtok(')'), 1)里面的參數1是什么意思啊,我知道是得到()里面的數據
json_decode 的第二個參數是指示是否對象也用數組返回,默認不是
json_decode 的第二個參數是指示是否對象也用數組返回,默認不是 恩,大俠哦,互相關注吧,我想拜你大師
本文原創發布php中文網,轉載請注明出處,感謝您的尊重!
總結
以上是生活随笔為你收集整理的php 获取坐标api,怎么获取百度坐标api返回的json格式字符串或对象呢的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ccf报数游戏java,CCF 2017
- 下一篇: php check name,check