百度地圖API開發(fā)指南._第1頁
百度地圖API開發(fā)指南._第2頁
百度地圖API開發(fā)指南._第3頁
百度地圖API開發(fā)指南._第4頁
百度地圖API開發(fā)指南._第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Michael簡介基礎(chǔ)知識(shí)控件覆蓋物事件地圖圖層工具服務(wù)坐標(biāo)轉(zhuǎn)換演示百度地圖API是一套由JavaScript語言編寫的應(yīng)用程序接口,它能夠幫助您在網(wǎng)站中構(gòu)建功能豐富、交互性強(qiáng)的地圖應(yīng)用程序。百度地圖API不僅包含構(gòu)建地圖的基本功能接口,還提供了諸如本地搜索、路線規(guī)劃等數(shù)據(jù)服務(wù)。通過地址 http:/ 加載API: 其中參數(shù)key為密鑰,參數(shù)v為當(dāng)前API的版本號(hào),目前最新版本為1.0,services參數(shù)表示是否加載服務(wù)部分,true表示加載,false表示不加載。地址 http:/ 中的參數(shù)v表示您加載API的版本,例如當(dāng)前API的最新版本為1.0,則您可在地址中添加 v=1.0。當(dāng)API

2、升級(jí)后,如果已有接口在使用、命名等方面發(fā)生了變化,我們會(huì)為其增加一個(gè)新的版本號(hào)(比如1.1),這不會(huì)對(duì)您現(xiàn)有的應(yīng)用造成任何影響。如果升級(jí)只是修改一些bug或者在不影響現(xiàn)有功能的前提下增加接口,則版本號(hào)不會(huì)發(fā)生變化。瀏覽器:IE 6.0+、Firefox 3.0+、Opera 9.0+、Safari 3.0+、Chrome操作系統(tǒng):Windows、Mac、Linux一、引用百度地圖一、引用百度地圖APIAPI文件文件 當(dāng)您引用地圖API文件時(shí),需要使用自己申請(qǐng)的API密鑰。 script&services=false 二、創(chuàng)建地圖容器元素二、創(chuàng)建地圖容器元素div=container地圖

3、需要一個(gè)HTML元素作為容器,這樣才能展現(xiàn)到頁面上。這里我們創(chuàng)建了一個(gè)div元素并制定它的大小地圖會(huì)根據(jù)容器大小調(diào)整自身尺寸。三、命名空間三、命名空間 API使用BMap作為命名空間,所有類均在該命名空間之下,比如:BMap.MapBMap.Map、BMap.ControlBMap.Control、BMap.OverlayBMap.Overlay。 四、創(chuàng)建地圖實(shí)例四、創(chuàng)建地圖實(shí)例varvar mapmap = = newnew BMap.MapBMap.Map( (containercontainer); ); 位于BMap命名空間下的Map類表示地圖,通過new操作符可以創(chuàng)建一個(gè)地圖實(shí)例。

4、其參數(shù)可以是元素id也可以是元素對(duì)象。注意在調(diào)用此構(gòu)造函數(shù)時(shí)應(yīng)確保容器元素已經(jīng)添加到地圖上。五、創(chuàng)建點(diǎn)坐標(biāo)五、創(chuàng)建點(diǎn)坐標(biāo) varvarpoint=point=newnewBMap.Point(116.404,39.915);BMap.Point(116.404,39.915); 這里我們使用BMapBMap命名空間下的PointPoint類來創(chuàng)建一個(gè)坐標(biāo)點(diǎn)。PointPoint類描述了一個(gè)地理坐標(biāo)點(diǎn),其中116.404表示經(jīng)度,39.915表示緯度。 六、地圖初始化六、地圖初始化map.centerAndZoom(point,15);map.centerAndZoom(point,15);在創(chuàng)

5、建地圖實(shí)例后,我們需要對(duì)其進(jìn)行初始化,BMap.Map.centerAndZoom()BMap.Map.centerAndZoom()方法要求設(shè)置中心點(diǎn)坐標(biāo)和地圖級(jí)別。地圖必須必須經(jīng)過初始化才可以執(zhí)行其他操作。五、創(chuàng)建點(diǎn)坐標(biāo)五、創(chuàng)建點(diǎn)坐標(biāo) varvarpoint=point=newnewBMap.Point(116.404,39.915);BMap.Point(116.404,39.915); 這里我們使用BMapBMap命名空間下的PointPoint類來創(chuàng)建一個(gè)坐標(biāo)點(diǎn)。PointPoint類描述了一個(gè)地理坐標(biāo)點(diǎn),其中116.404表示經(jīng)度,39.915表示緯度。 六、地圖初始化六、地圖初始

6、化map.centerAndZoom(point,15);map.centerAndZoom(point,15);在創(chuàng)建地圖實(shí)例后,我們需要對(duì)其進(jìn)行初始化,BMap.Map.centerAndZoom()BMap.Map.centerAndZoom()方法要求設(shè)置中心點(diǎn)坐標(biāo)和地圖級(jí)別。地圖必須必須經(jīng)過初始化才可以執(zhí)行其他操作。百度地圖上負(fù)責(zé)與地圖交互的UI元素稱為控件控件。百度地圖API中提供了豐富的控件,您還可以通過BMap.Control來實(shí)現(xiàn)自定義控件。 地圖API中提供的控件有:Control:控件的抽象基類抽象基類,所有控件均繼承此類的方法、屬性。通過此類您可實(shí)現(xiàn)自定義控件。Navi

7、gationControl:地圖平移縮放控件平移縮放控件,默認(rèn)位于地圖左上方,它包含控制地圖的平移和縮放的功能。OverviewMapControl:縮略地圖控件縮略地圖控件,默認(rèn)位于地圖右下方,是一個(gè)可折疊的縮略地圖。ScaleControl:比例尺控件比例尺控件,默認(rèn)位于地圖左下方,顯示地圖的比例關(guān)系。CopyrightControl:版權(quán)控件版權(quán)控件,默認(rèn)位于地圖左下方。所有這些控件都基于BMap.Control類??梢允褂肂Map.Map.addControl()BMap.Map.addControl()方法向地圖添加控件也可以向地圖添加多個(gè)控件。在本例中我們向地圖添加一個(gè)平移縮放控件

8、、一個(gè)比例尺控件和一個(gè)縮略圖控件在地圖中添加控件后,它們即刻生效。map.addControl(map.addControl(newnewBMap.NavigationControl();BMap.NavigationControl();map.addControl(map.addControl(newnewBMap.ScaleControl();BMap.ScaleControl();map.addControl(map.addControl(newnewBMap.OverviewMapControl();BMap.OverviewMapControl(); 所有疊加或覆蓋到地圖的內(nèi)容,我們

9、統(tǒng)稱為地圖覆蓋物覆蓋物。如標(biāo)注、矢量圖形元素(包括:折線和多邊形)、信息窗口等。覆蓋物擁有自己的地理坐標(biāo),當(dāng)您拖動(dòng)或縮放地圖時(shí),它們會(huì)相應(yīng)的移動(dòng)。 地圖API提供了如下幾種覆蓋物: OverlayOverlay:覆蓋物的抽象基類抽象基類,此類不可實(shí)例化,所有的覆蓋物均繼承此類的方法。MarkerMarker:標(biāo)注標(biāo)注表示地圖上的點(diǎn),可自定義標(biāo)注的圖標(biāo)。 LabelLabel:表示地圖上的文本標(biāo)注文本標(biāo)注,您可以自定義標(biāo)注的文本內(nèi)容。 PolylinePolyline:表示地圖上的折線折線。PolygonPolygon:表示地圖上的多邊形多邊形。多邊形類似于閉合的折線,另外您也可以為其添加填充顏

10、色。 InfoWindowInfoWindow:信息窗口信息窗口也是一種特殊的覆蓋物。注意:同一時(shí)刻只能有一個(gè)信息窗口在地圖上打開。 可以使用BMap.Map.addOverlay()BMap.Map.addOverlay()方法向地圖添加覆蓋物,使用BMap.Map.removeOverlay()BMap.Map.removeOverlay()方法移除覆蓋物,注意此方法不適用于InfoWindowInfoWindow。 百度地圖API中的每一個(gè)對(duì)象都含有addEventListeneraddEventListener方法,您可以通過該方法來監(jiān)聽對(duì)象事件。例如,BMap.MapBMap.Map

11、包含 clickclick、dblclickdblclick等事件。在特定環(huán)境下這些事件會(huì)被觸發(fā),同時(shí)監(jiān)聽函數(shù)會(huì)得到相應(yīng)的事件參數(shù)e,比如當(dāng)用戶點(diǎn)擊地圖時(shí),e e參數(shù)會(huì)包含鼠標(biāo)所對(duì) 應(yīng)的地理位置pointpoint。有關(guān)地圖API對(duì)象的事件,請(qǐng)參考完整的API參考文檔。 addEventListeneraddEventListener方法有兩個(gè)參數(shù):監(jiān)聽的事件名稱和事件觸發(fā)時(shí)調(diào)用的函數(shù)。 地圖可以包含一個(gè)或多個(gè)圖層,每個(gè)圖層在每個(gè)級(jí)別都是由若干張圖塊組成的,它們覆蓋了地球的整個(gè)表面。在最低的縮放級(jí)別(級(jí)別 1)中,整個(gè)地球由 4 張圖塊組成。隨著級(jí)別的增長,地圖所使用的圖塊個(gè)數(shù)也隨之增多。 百

12、度地圖中提供一個(gè)BMap.TileLayer類,可以實(shí)現(xiàn)用戶自定義圖層功能??梢栽诎俣鹊貓D上疊加一層自定義的圖塊。以下代碼在每個(gè)圖塊的所有縮放級(jí)別上顯示一個(gè)簡單的透明疊加層,使用浮動(dòng)紅色小水滴表示圖塊的輪廓。varvarmap=newnewBMap.Map(containercontainer); ; /創(chuàng)建地圖實(shí)例varvarpoint=newnewBMap.Point(116.404,39.915); /創(chuàng)建點(diǎn)坐標(biāo)map.centerAndZoom(point,15); /初始化地圖,設(shè)置中心點(diǎn)坐標(biāo)和地圖級(jí)別varvartilelayer=newnewBMap.TileLayer(); /

13、創(chuàng)建地圖層實(shí)例tilelayer.getTilesUrl=functionfunction() /設(shè)置圖塊路徑returnreturnlayer.giflayer.gif;map.addTileLayer(tilelayer); /將圖層添加到地圖上百度地圖提供了交互功能更為復(fù)雜的“工具”,它包括 PushpinTool:標(biāo)注工具標(biāo)注工具。通過此工具用戶可在地圖任意區(qū)域添加標(biāo)注。 DistanceTool:測(cè)距工具測(cè)距工具。通過此工具用戶可測(cè)量地圖上任意位置之間的距離。 DragAndZoomTool:區(qū)域縮放工具區(qū)域縮放工具。此工具將根據(jù)用戶拖拽繪制的矩形區(qū)域大小對(duì)地圖進(jìn)行放大或縮小操作。

14、工具類在初始化時(shí)需要提供地圖實(shí)例參數(shù),以便使工具在該地圖上生效。您可以在地圖上添加多個(gè)工具,但同一時(shí)刻只能有一個(gè)工具處于開啟狀態(tài)。標(biāo)注工具和測(cè)距工具在完成一次操作后將自動(dòng)退出開啟狀態(tài),而區(qū)域縮放工具可以自行配置是否自動(dòng)關(guān)閉。varvarmap=map=newnewBMap.MapBMap.Map(container);(container); map.centerAndZoom(newBMap.Point(116.404,39.915),1map.centerAndZoom(newBMap.Point(116.404,39.915),15);5);varvarmyDis=myDis=newne

15、wBMap.DistanceTool(map);BMap.DistanceTool(map);myDis.open();myDis.open();地圖服務(wù)是指那些提供數(shù)據(jù)信息的接口,比如本地搜索、路線規(guī)劃等等。百度地圖API提供的服務(wù)有: LocalSearch:本地搜索本地搜索,提供某一特定地區(qū)的位置搜索服務(wù)比如在北京市搜索“公園”。TransitRoute:公交導(dǎo)航公交導(dǎo)航,提供某一特定地區(qū)的公交出行方案的搜索服務(wù)。DrivingRoute:駕車導(dǎo)航駕車導(dǎo)航,提供駕車出行方案的搜索服務(wù)。WalkingRoute:步行導(dǎo)航步行導(dǎo)航,提供步行出行方案的搜索服務(wù)。Geocoder:地址解析地址解

16、析,提供將地址信息轉(zhuǎn)換為坐標(biāo)點(diǎn)信息的服務(wù)。LocalCity:本地城市本地城市,提供自動(dòng)判斷您所在城市的服務(wù)。TrafficControl:實(shí)時(shí)路況控件實(shí)時(shí)路況控件,提供實(shí)時(shí)和歷史路況信息服務(wù)。搜索類的服務(wù)接口需要指定一個(gè)搜索范圍,否則接口將不能工作。因目前各家地圖API服務(wù)商都沿用不同的坐標(biāo)體系,故客戶在更換API服務(wù)商或?qū)Ω骷褹PI性能進(jìn)行測(cè)試的時(shí)候會(huì)遇到較大的障礙。因此百度地圖提供 坐標(biāo)轉(zhuǎn)換工具,使您可以方便地將不同的坐標(biāo)體系轉(zhuǎn)換為百度地圖標(biāo)準(zhǔn)坐標(biāo)。極大地降低您更換API服務(wù)的成本,同時(shí)擴(kuò)大了可選擇范圍和自由度。目前百度地圖坐標(biāo)轉(zhuǎn)換工具支持以下API服務(wù)商所采用的坐標(biāo)體系:MapbarMapabc51ditu谷歌請(qǐng)求接口中有四個(gè)參數(shù):fromfrom: 被轉(zhuǎn)換的坐標(biāo)體系 tot

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論