1. 程式人生 > >PHP:利用php cURL來獲取騰訊地圖的相關資料

PHP:利用php cURL來獲取騰訊地圖的相關資料

利用php cURL來獲取騰訊地圖的相關資料

【前言】

在開發過程中,經常會用到地圖、定位、城市列表等相關的資料,這時候我們就需要呼叫騰訊地圖相應的介面來獲取這些資料。今天就說一下如何利用php的cURL函式來獲取這些資料。採用三個簡單的例子來說明:
1、獲取中國省市、城市列表
2、根據經緯度獲取該地點的相關資訊
3、根據詳細位置獲取該地點的經緯度

【php cURL】

cURL是一個利用URL語法規定來傳輸檔案和資料的工具,支援很多工具和協議。PHP 支援 Daniel Stenberg 建立的 libcurl 庫,能夠連線通訊各種伺服器、使用各種協議。libcurl 目前支援的協議有 http、https、ftp、gopher、telnet、dict、file、ldap。 libcurl 同時支援 HTTPS 證書、HTTP POST、HTTP PUT、 FTP 上傳(也能通過 PHP 的 FTP 擴充套件完成)、HTTP 基於表單的上傳、代理、cookies、使用者名稱+密碼的認證。

使用php cURL函式的基本思想:
1、先使用curl_init()初始化cURL會話,
2、接著通過curl_setopt()設定需要的全部選項
3、使用curl_exec()來執行會話
4、當執行完會話後使用curl_close()關閉會話。

簡單例子:

<?php
    $ch = curl_init("http://www.example.com/");
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_exec($ch);
    curl_close($ch);
?>

【騰訊地圖API】

騰訊地圖Webservice API是基於HTTP協議的資料介面,開發者可以使用任何客戶端、伺服器和開發語言,按照騰訊地圖Webservice API規範,按需構建HTTP請求,並獲取結果資料。
前提:獲取騰訊地圖的相應資料之前,需要先去騰訊地圖API申請一個開發者金鑰。

具體資訊可以參考騰訊地圖API:騰訊地圖API

【程式碼實現(例子)】

1、獲取中國省市、城市列表:
*注:以下程式碼中出現的一些引數(例如result、name),需要參考騰訊地圖API呼叫相應介面之後的響應結果。
這裡寫圖片描述

<?php
    //初始化cURL會話
    $ch = curl_init();
    //設定需要的選項
    curl_setopt($ch, CURLOPT_URL, "http://apis.map.qq.com/ws/district/v1/list?key=金鑰");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1
); //將curl_exec()獲取的資訊以字串返回,而不是直接輸出 $data = curl_exec($ch); $map = json_decode($data); $arr = $map->result; //輸出中國省市列表 for ($i = 0; $i < 34; $i++) { echo $arr[0][$i]->name." "; } echo "<br/><br/>"; //輸出中國城市列表 for ($i = 0; $i < 493; $i++) { echo $arr[1][$i]->name." "; } //echo json_encode($res, JSON_UNESCAPED_UNICODE); curl_close($ch); ?>

這裡寫圖片描述

2、根據經緯度獲取該地點的相關資訊:

<?php
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://apis.map.qq.com/ws/geocoder/v1/?location=39.984154,116.307490&key=金鑰");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $data = curl_exec($ch);

    $map = json_decode($data);
    $res = $map->result;
    echo $res->address."<br/>";
    $ad_info = $res->ad_info;
    echo $ad_info->nation."<br/>";
    echo $ad_info->province."<br/>";
    echo $ad_info->district."<br/>";
?>

這裡寫圖片描述

3、根據詳細位置獲取該地點的經緯度:

<?php
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://apis.map.qq.com/ws/geocoder/v1/?address=湖南省張家界市永定區天門山鎮&key=金鑰");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $data = curl_exec($ch);
    $map = json_decode($data);
    $location = $map->result->location;
    echo "經度:".$location->lng."<br/>";
    echo "緯度:".$location->lat."<br/>";
?>

這裡寫圖片描述

*注:如何任何錯誤或者疑問歡迎指出

相關推薦

PHP:利用php cURL獲取地圖相關資料

利用php cURL來獲取騰訊地圖的相關資料 【前言】 在開發過程中,經常會用到地圖、定位、城市列表等相關的資料,這時候我們就需要呼叫騰訊地圖相應的介面來獲取這些資料。今天就說一下如何利用php的cURL函式來獲取這些資料。採用三個簡單的例子來說明:

php利用simple_html_dom類,獲取頁面內容,充當爬蟲角色

contents names mac tro upd tool one mit 一個 PHP腳本扮演爬蟲的角色,可能大家第一時間想到可能會是會正則,個人對正則的規則老是記不住,表示比較難下手,今天工作中有個需求需要爬取某個網站上的一些門店信息 無意間在網上看到一個比較好的

php中使用curlpost一段json數據

問題 mozilla gecko 處理 行數 agent body nts 本地 場景:在調用第三方接口時經常需要使用到curl進行數據交互,在初次使用時遇到一些小問題,記錄下來隨時查閱。 封裝curl相關方法便於使用,方法如下: /** * @param $url

php 百度地圖 地圖 轉換坐標

() gcj02 OS bsp double -- php 地圖 code /** * 中國正常GCJ02坐標---->百度地圖BD09坐標 * 騰訊地圖用的也是GCJ02坐標 * @param double $lat 緯度 * @param

地圖和百度地圖PHP相互轉換

/** * 百度地圖---->騰訊地圖 * @param double $lat 緯度 * @param double $lng 經度 * @return array(); */ function Convert_BD09_To_GCJ02($lat,$lng){ $x_pi =

Ubuntu利用TCP協議獲取server時間

intro term apt 簡單 p s iss stdout tcp tcp連接 Linux利用TCP協議來獲取server時間 這裏使用Unix網絡編程裏面的一個小程序,該client建立一個到server的TCP連接,然後讀取由server以直觀

微信小程序獲取經緯度,得到具體地址

add 坐標 api res url 經緯度 git 轉換成 log getCityNameOFLocation: function() { var that = this; wx.getLocation({ type: ‘wgs84‘, //

AI+遊戲:高效利用樣本的強化學習 | AI Lab學術論壇演講

騰訊 AI 人工智能 3月15日,騰訊AI Lab第二屆學術論壇在深圳舉行,聚焦人工智能在醫療、遊戲、多媒體內容、人機交互等四大領域的跨界研究與應用。全球30位頂級AI專家出席,對多項前沿研究成果進行了深入探討與交流。騰訊AI Lab還宣布了2018三大核心戰略,以及同頂級研究與出版機構自然科研的

微信小程序 - 輸入起點、終點獲取距離並且進行路線規劃(地圖

img -c con XML family maps option space com index.wxml <!--地圖容器--> <map id="myMap" style="width: 100%; height: 300px;"

地圖H5位置獲取

騰訊地圖H5位置獲取 直接ctrl+c 就行了 直接開啟 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/htm

如何利用C語言獲取當地時間和UTC時間 (設當地時間是北京時間)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

地圖逆地址解析,通過經緯度獲取詳細的資訊資料

根據騰訊地圖API,以圖文的方式一步一步的來說明如何獲取詳細的位置資訊資料。具體參考騰訊地圖Webservice API的簡介。騰訊地圖WebService API   第一步:申請開發者金鑰(key)申請金鑰       我選擇的應用型別為瀏覽器型別(呼叫Javascr

Linux環境下伺服器利用組播獲取客戶端IP

單播是兩個主機之間端對端通訊(比如TCP、UDP通訊),而廣播用於一個主機對整個區域網中所有主機的通訊。單播和廣播是兩個極端,要麼對一個主機通訊,要麼對區域網內所有主機通訊。然而在實際情況下,比如要獲取區域網內獲取執行特殊任務主機IP,單播顯然不適用,因為單播必須首先要知道通

python 通過地圖API獲取全國關鍵詞(樓盤/商場)位置資訊

到騰訊地圖API官網https://lbs.qq.com/index.html 申請一張賬號,申請開發者金鑰(Key):申請金鑰。   以下為搜尋全國萬達的地理位置資訊 #!coding=utf-8 import requests import re import rand

位置大資料(當日定位次數)F12獲取

作者微訊號,w912917507,歡迎交流學習 獲取方法非常 簡單,開啟頁面https://heat.qq.com/ F12後重新整理頁面,點選Network——XHR 找到叫getXingyunPoints的那一行,點一下,點Preview 資料已

Petya勒索病毒雲釋出安全指引

6月27日,一種名為“Petya”的新型勒索病毒席捲了歐洲,烏克蘭等國家,多家銀行和公司,包括政府大樓的電腦都出現問題。 同時,在27號18點左右,騰訊雲聯合騰訊電腦管家發現相關樣本在國內出現,騰訊雲已實時啟動使用者防護引導,到目前為止,雲上使用者尚無感染案例,但建議沒打補丁使用者儘快打補丁避免感染

微信小程式詳細圖文教程-10分鐘完成微信小程式開發部署釋出(3元獲取雲伺服器帶小程式支援系統)

  1、【高頻使用】   美團外賣   滴滴公交查詢   車來了   大眾點評+   京東購物   摩拜單車   滴滴出行DiDi   攜程酒店機票火車票   2、【旅行】   驢媽媽門票預訂   飛常準查航班   海南航空微應用   南航e行   去哪兒出行   朋友家精選

如何利用C語言獲取當地時間和UTC時間? (設當地時間是北京時間)

#include <stdio.h> #include <time.h> int main() { time_t t = time(NULL); tm *t

利用觀察者模式獲取執行緒中的資料或者回調函式

首先//抽象主題角色,watched:被觀察 public interface Watched { public void addWatcher(Watcher watcher); public void removeWatcher(Watcher wat

golang 利用閉包獲取一段程式的執行效率時間,很簡單但是很經典

... func main(){ duration:=GetDuration(func(){ //do sth resp, err2 = client.Do(req)