新聞中心
如何用PHP獲取到百度地圖坐標或者經(jīng)緯度
是傳入地址獲取地址的經(jīng)緯度嗎?
商南網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,商南網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為商南1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的商南做網(wǎng)站的公司定做!
以下是一個關(guān)于地理編碼的簡單示例。發(fā)送一個地址是“百度大廈”的請求,返回該地址對應(yīng)的地理坐標。發(fā)送請求的url如下:
$return = file_get_contents(百度大廈output=jsonak=E4805d16520de693a3fe707cdc96204);
這樣就獲取到返回的數(shù)據(jù)拉
基于百度地圖API的城市數(shù)據(jù)采集方式
在進行定量城市分析時(如研究某市某片區(qū)的空間分析),需要用到地理位置信息以及現(xiàn)狀設(shè)施建筑等的分布情況,這就必須獲得相關(guān)的地理坐標信息。因此數(shù)據(jù)的獲取與處理是進行定量城市分析所需的前置作業(yè),此階段的工作決定了后續(xù)分析的效度和質(zhì)量。
這里采集數(shù)據(jù)使用到的工具是火車頭采集器8.5。
火車頭采集器一款互聯(lián)網(wǎng)數(shù)據(jù)抓取、處理、分析,挖掘軟件,可以抓取網(wǎng)頁上散亂分布的數(shù)據(jù)信息,并通過一系列的分析處理,準確挖掘出所需數(shù)據(jù)。
特點:采集不限網(wǎng)頁,不限內(nèi)容;
分布式采集系統(tǒng),提高效率;
支持PHP和C#插件擴展,方便修改處理數(shù)據(jù),但需要懂得火車頭規(guī)則或者正則表達式。
API是一些預(yù)先定義的函數(shù),目的是提供應(yīng)用程序開發(fā)人員基于某軟件或硬件得以訪問一組程序的能力,而又無需訪問源碼,或理解程序內(nèi)部工作機制的細節(jié)。API服務(wù)商在提供數(shù)據(jù)的同時也在收集用戶的信息,這是一個雙向過程。
百度地圖Web服務(wù)API中提供了地點檢索服務(wù)、正/逆地理編碼服務(wù)、路線規(guī)劃、批量算數(shù)、時區(qū)服務(wù)、坐標轉(zhuǎn)換服務(wù)及鷹眼軌跡服務(wù)等。其中地點檢索服務(wù)(又名Place API),提供多種場景的地點(POI)檢索功能,包括城市檢索、周邊檢索、矩形區(qū)域檢索。
以通過百度地圖API獲取綿陽市飯店數(shù)據(jù)為例。
1.申請百度地圖開放平臺開發(fā)者秘鑰
首先打開百度地圖開放平臺(),點擊右上角控制臺,再點擊應(yīng)用管理→我的應(yīng)用→創(chuàng)建應(yīng)用,申請開發(fā)者秘鑰(ak),并選擇以下服務(wù)項。
2.通過接口獲取詳細地理信息
開發(fā)者可以通過接口獲取地點(POI)基礎(chǔ)或詳細地地理信息。其返回的是Json類型數(shù)據(jù)(一個區(qū)域最大返回數(shù)是400,每頁最大返回數(shù)為20)。當某區(qū)域、,某類POI個數(shù)多于400時,可以選擇把該區(qū)域分成子區(qū)域進行檢索或通過矩形、圓形區(qū)域方式進行檢索查閱頁面中Place檢索格式和實例如下:
格式: ;query=關(guān)鍵字bounds=查詢區(qū)域output=輸出格式類型key=用戶密鑰
實例: ;query=ATM機bounds=綿陽output=jsonak=你的密鑰 ?(你的秘鑰就是上一步申請得到的)
(什么是Place API詳細說明可見此網(wǎng)址)
其中“關(guān)鍵字”、“查詢區(qū)域”、“輸出格式類型”、“用戶秘鑰”可以根據(jù)自己的需要替換,而page_num為選填項,表示分頁碼,因為只有設(shè)置了page_num字段才會在結(jié)果頁面中返回標識總條數(shù)的total字段,方便在火車采集器中做相關(guān)設(shè)置,如下:
;query=飯店tage=美食region=綿陽output=jsonpage_num=0ak=kRA0vIfH6UHEVYUAhPLnkS72BwtVBYnI
訪問該網(wǎng)址,返回結(jié)果如下圖:
3.用火車頭采集器采集地理信息
在火車頭軟件中,首先點擊左上角的“新建”,然后點擊“分組”進入新建界面自己命名然后保存既可。建好分組后,再點擊新建。然后點擊“任務(wù)”,命名為“百度API”。
然后在第一步--采集規(guī)則頁面,點擊“添加”鍵,在添加開始采集網(wǎng)址頁面,選擇“批量/多頁”方式獲取地址格式,在地址格式一欄中填入Place檢索鏈接,并將page_num字段用(*)標識為變量,選擇等差數(shù)量方式,在項數(shù)與返回Json結(jié)果中total字段一致,公差為1。
在訪問百度地圖API接口返回的Json網(wǎng)頁中,在需要提取信息處復(fù)制該條信息。例如復(fù)制此處獲得“name”:周肥腸(總店)”,。
在火車頭采集器第二步采集內(nèi)容規(guī)則頁面,添加標簽,標簽名填入“名稱”,提取數(shù)據(jù)方式處選擇“前后截取”,在標簽編輯頁用(*)代替要采集的內(nèi)容,并將要采集內(nèi)容的前后內(nèi)容分別填入“開始字符串”、“結(jié)束字符串處”。
經(jīng)度、緯度的獲取方式與“名稱”方式相同。
添加完成后,點擊規(guī)則測試頁面的“測試”鍵,對POI的“名稱”、“經(jīng)度”、“緯度”三種標簽進行測試,測試可以得到正確獲取信息之后,進入“第三步:發(fā)布內(nèi)容設(shè)置”頁面,選擇“方式二:保存為本地Word,Excel,Html,Txt等文件”,并制作與標簽相對應(yīng)的Gsv格式的模板,完成后,點擊“保存”按鈕,采集數(shù)據(jù)就完成了。
退回到主界面,在“采網(wǎng)頁”及“采內(nèi)容”下打?qū)?,點擊開始任務(wù),即可完成百度地圖綿陽市飯店的數(shù)據(jù)獲取。
如何用PHP獲取百度地圖
這個直接看百度地圖的api啊···其實html就可以了···php只是用來記錄坐標什么的有用·給你個例子吧·
!DOCTYPE html
html
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8" /
style type="text/css"
body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;}
#l-map{height:100%;width:78%;float:left;border-right:2px solid #bcbcbc;}
#r-result{height:100%;width:20%;float:left;}
/style
script type="text/javascript" src=";ak=您的密鑰"/script
title百度地圖的Hello, World/title
/head
body
div id="allmap"/div
/body
/html
script type="text/javascript"
var map = new BMap.Map("allmap");??????????? // 創(chuàng)建Map實例
var point = new BMap.Point(116.404, 39.915);??? // 創(chuàng)建點坐標
map.centerAndZoom(point,15);???????????????????? // 初始化地圖,設(shè)置中心點坐標和地圖級別。
map.enableScrollWheelZoom();??????????????????????????? //啟用滾輪放大縮小
/script
這都是百度地圖上的····自己去研究一下吧··
如何用PHP中的curl獲取百度地圖上的數(shù)據(jù)
如何在頁面中調(diào)用百度地圖,直接在你想要插入的頁面上調(diào)用百度地圖代碼即可
百度地圖調(diào)用API地址:
1.設(shè)置定位中心:直接搜索你要找的位置即可。
調(diào)用百度地圖代碼
2.設(shè)置地圖:設(shè)置地圖樣式,如大小,顯示,功能等。
3.添加標注:添加你要標注的地方,自定義坐標位置
4.獲取代碼:點擊獲取代碼即可,在你要插入百度地圖的地方出入百度地圖代碼
只要插入!--引用百度地圖API--部分的代碼就行。
網(wǎng)站名稱:php采集地圖數(shù)據(jù),PHP數(shù)據(jù)采集
網(wǎng)頁URL:http://fisionsoft.com.cn/article/hsjchi.html