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

下載本文檔

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

文檔簡(jiǎn)介

1、Michael簡(jiǎn)介基礎(chǔ)知識(shí)控件覆蓋物事件地圖圖層工具服務(wù)坐標(biāo)轉(zhuǎn)換演示百度地圖API是一套由JavaScript語(yǔ)言編寫(xiě)的應(yīng)用程序接口,它能夠幫助您在網(wǎng)站中構(gòu)建功能豐富、交互性強(qiáng)的地圖應(yīng)用程序。百度地圖API不僅包含構(gòu)建地圖的基本功能接口,還提供了諸如本地搜索、路線規(guī)劃等數(shù)據(jù)服務(wù)。通過(guò)地址 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)到頁(yè)面上。這里我們創(chuàng)建了一個(gè)div元素并制定它的大小地圖會(huì)根據(jù)容器大小調(diào)整自身尺寸。三、命名空間三、命名空間 API使用BMap作為命名空間,所有類(lèi)均在該命名空間之下,比如:BMap.MapBMap.Map、BMap.ControlBMap.Control、BMap.OverlayBMap.Overlay。四、創(chuàng)建地圖實(shí)例四、創(chuàng)建地圖實(shí)例varvar mapmap = = newnew BMap.MapBMap.Map( (containercontainer); ); 位于BMap命名空間下的Map類(lèi)表示地圖,通過(guò)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類(lèi)來(lái)創(chuàng)建一個(gè)坐標(biāo)點(diǎn)。PointPoint類(lèi)描述了一個(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)過(guò)初始化才可以執(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類(lèi)來(lái)創(chuàng)建一個(gè)坐標(biāo)點(diǎn)。PointPoint類(lèi)描述了一個(gè)地理坐標(biāo)點(diǎn),其中116.404表示經(jīng)度,39.915表示緯度。六、地圖初始化六、地圖初始化map

6、.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)過(guò)初始化才可以執(zhí)行其他操作。百度地圖上負(fù)責(zé)與地圖交互的UI元素稱(chēng)為控件控件。百度地圖API中提供了豐富的控件,您還可以通過(guò)BMap.Control來(lái)實(shí)現(xiàn)自定義控件。 地圖API中提供的控件有:Control:控件的抽象基類(lèi)抽象基類(lèi),所有控件均繼承此類(lèi)的方法、屬性。通過(guò)此類(lèi)您可實(shí)現(xiàn)自定義控件。Navigati

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

8、例尺控件和一個(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)容,我們統(tǒng)稱(chēng)為地

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

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

11、lickclick、dblclickdblclick等事件。在特定環(huán)境下這些事件會(huì)被觸發(fā),同時(shí)監(jiān)聽(tīng)函數(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)聽(tīng)的事件名稱(chēng)和事件觸發(fā)時(shí)調(diào)用的函數(shù)。 地圖可以包含一個(gè)或多個(gè)圖層,每個(gè)圖層在每個(gè)級(jí)別都是由若干張圖塊組成的,它們覆蓋了地球的整個(gè)表面。在最低的縮放級(jí)別(級(jí)別 1)中,整個(gè)地球由 4 張圖塊組成。隨著級(jí)別的增長(zhǎng),地圖所使用的圖塊個(gè)數(shù)也隨之增多。 百度地圖中

12、提供一個(gè)BMap.TileLayer類(lèi),可以實(shí)現(xiàn)用戶自定義圖層功能??梢栽诎俣鹊貓D上疊加一層自定義的圖塊。以下代碼在每個(gè)圖塊的所有縮放級(jí)別上顯示一個(gè)簡(jiǎn)單的透明疊加層,使用浮動(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(); /創(chuàng)建地圖

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

14、初始化時(shí)需要提供地圖實(shí)例參數(shù),以便使工具在該地圖上生效。您可以在地圖上添加多個(gè)工具,但同一時(shí)刻只能有一個(gè)工具處于開(kāi)啟狀態(tài)。標(biāo)注工具和測(cè)距工具在完成一次操作后將自動(dòng)退出開(kāi)啟狀態(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=newnewBMa

15、p.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:駕車(chē)導(dǎo)航駕車(chē)導(dǎo)航,提供駕車(chē)出行方案的搜索服務(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ù)。搜索類(lèi)的服務(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)體系 toto

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論