日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php 获取坐标api,怎么获取百度坐标api返回的json格式字符串或对象呢

發布時間:2025/3/15 php 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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格式字符串或对象呢的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。