版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
大眾GIS快速開發(fā)(kāifā)
——百度地圖API開發(fā)
程鋼
2015年6月19日共五十五頁共五十五頁主要(zhǔyào)內(nèi)容百度地圖APILBS開發(fā)模式JavascriptAPI大眾版JavascriptAPI開發(fā)綜合(zōnghé)實(shí)例學(xué)習(xí)建議共五十五頁(1)百度地圖API是什么百度地圖API是一套由JavaScript語言編寫的應(yīng)用程序接口,提供各種地圖基本功能,用Javascript語言進(jìn)行調(diào)用(diàoyòng)它能夠在網(wǎng)站中構(gòu)建功能豐富、交互性強(qiáng)的地圖應(yīng)用。百度地圖(dìtú)API簡介共五十五頁1.百度地圖(dìtú)API是什么百度(bǎidù)地圖API簡介共五十五頁百度(bǎidù)地圖API簡介(2)知識準(zhǔn)備HTMLJavascript面向?qū)ο蟪绦蜷_發(fā)地圖(3)注意事項(xiàng)公開地圖,國內(nèi)必須(bìxū)至少使用國測局制定的GCJ-02,對地理位置進(jìn)行首次加密。百度坐標(biāo)在此基礎(chǔ)上,進(jìn)行了BD-09二次加密。共五十五頁百度地圖(dìtú)API簡介
(4)版本說明及申請(shēnqǐng)APIak為了統(tǒng)一平臺服務(wù)的配額管理,JavaScriptAPI在新版本引入ak機(jī)制。v1.4及以前版本無須申請密鑰(ak),自v1.5版本開始需要先申請密鑰(ak),才可使用。(5)地址(參數(shù)V表示加載API的版本)
/api?v=1.4///api?v=1.5&ak=您的密鑰//申請網(wǎng)址:/user/reg共五十五頁主要(zhǔyào)內(nèi)容百度地圖API簡介LBS開發(fā)模式(móshì)JavascriptAPI大眾版JavascriptAPI開發(fā)綜合實(shí)例學(xué)習(xí)建議共五十五頁LBS開發(fā)(kāifā)模式(1)Web開發(fā)使用網(wǎng)頁中嵌入地圖服務(wù),支持2D/3D、衛(wèi)星、街景、室內(nèi)實(shí)景、定制化地圖展現(xiàn)。JavascriptAPI大眾版JavascriptAPI極速版JavascriptAPI極速版是專為手機(jī)瀏覽器提供的API,該版更適配移動設(shè)備,體積更小,加載地圖速度(sùdù)更快,更省流量。適用手機(jī)瀏覽器類型:Android自帶、UC、百度、QQ等主流瀏覽器共五十五頁LBS開發(fā)(kāifā)模式(2)服務(wù)接口發(fā)送HTTP請求,獲取數(shù)據(jù)存儲(cúnchǔ)和檢索、POI數(shù)據(jù)、地址解析、坐標(biāo)轉(zhuǎn)換、IP定位、車輛網(wǎng)等服務(wù)。LBS云
通過開放服務(wù)端存儲和計(jì)算能力,提供海量位置數(shù)據(jù)存儲、檢索、展示一體化解決方案。web服務(wù)API
開發(fā)者通過http形式發(fā)起檢索請求,獲取返回json或xml格式的檢索數(shù)據(jù)。用戶可以基于此開發(fā)JavaScript、C#、C++、Java等語言的地圖應(yīng)用。共五十五頁LBS開發(fā)(kāifā)模式(2)服務(wù)接口靜態(tài)圖API發(fā)送HTTP請求訪問百度地圖靜態(tài)圖服務(wù),便可在網(wǎng)頁上以圖片形式顯示地圖。它根據(jù)所設(shè)定的參數(shù),通過標(biāo)準(zhǔn)HTTP協(xié)議,返回(fǎnhuí)PNG格式的地圖圖片。車聯(lián)網(wǎng)API適用車載終端應(yīng)用的開發(fā)接口,您可以在C#、C++、Java等應(yīng)用程序中使用該服務(wù),通過發(fā)起HTTP請求方式調(diào)用百度地圖車聯(lián)網(wǎng)服務(wù),返回檢索后的JSON或XML數(shù)據(jù)。共五十五頁LBS開發(fā)(kāifā)模式
(2)服務(wù)接口URIAPI開發(fā)者只需按照接口規(guī)范(guīfàn)構(gòu)造一條標(biāo)準(zhǔn)的URI,便可在PC和移動端瀏覽器或移動開發(fā)應(yīng)用中調(diào)起百度地圖產(chǎn)品。鷹眼旨在為LBS行業(yè)從業(yè)者,提供最貼心的位置軌跡行業(yè)解決方案。共五十五頁LBS開發(fā)(kāifā)模式(3)Android開發(fā)使用Android平臺APP中實(shí)現(xiàn)地圖展示、信息搜索、定位、導(dǎo)航等功能,提供全面的LBS解決方案。Android地圖SDK適用于Android系統(tǒng)移動設(shè)備的地圖應(yīng)用,通過調(diào)用地圖SDK接口,可以輕松訪問百度地圖服務(wù)(fúwù)和數(shù)據(jù),構(gòu)建功能豐富、交互性強(qiáng)的地圖類應(yīng)用程序。Android定位SDK為Android移動端應(yīng)用提供的一套簡單易用的LBS定位服務(wù)接口,可以輕松為應(yīng)用程序?qū)崿F(xiàn)智能、精準(zhǔn)、高效的定位功能。共五十五頁LBS開發(fā)(kāifā)模式(3)Android開發(fā)Andriod導(dǎo)航SDK為Android移動端應(yīng)用提供了一套簡單易用的導(dǎo)航服務(wù)接口,可以為應(yīng)用程序?qū)崿F(xiàn)專業(yè)、高效、精準(zhǔn)的導(dǎo)航功能Android全景(quánjǐnɡ)SDK是為Android移動平臺提供的一套全景圖服務(wù)接口,提供全景圖的檢索、顯示和交互功能。共五十五頁LBS開發(fā)(kāifā)模式(4)IOS開發(fā)適用iOS移動設(shè)備應(yīng)用中實(shí)現(xiàn)地圖(dìtú)展示、POI搜索、導(dǎo)航等功能,搭建專業(yè)LBS類應(yīng)用。iOS地圖SDKiOS導(dǎo)航SDKiOS全景SDK共五十五頁主要(zhǔyào)內(nèi)容百度地圖API簡介(jiǎnjiè)LBS開發(fā)模式JavascriptAPI大眾版JavascriptAPI開發(fā)綜合實(shí)例學(xué)習(xí)建議共五十五頁JavascriptAPI大眾版功能(gōngnéng)介紹基本地圖功能:展示(支持2D圖、3D圖、衛(wèi)星圖)、平移、縮放、拖拽等地圖(dìtú)控件展示功能:可以在地圖上添加/刪除鷹眼、工具條、比例尺、自定義版權(quán)、地圖類型及定位控件,并可以設(shè)置各類控件的顯示位置覆蓋物功能:支持在地圖上添加/刪除點(diǎn)、線、面、熱區(qū)、行政區(qū)劃、用戶自定義覆蓋物等;開源庫提供富標(biāo)注、標(biāo)注管理器、聚合marker、自定義覆蓋物等功能覆蓋物功能共五十五頁JavascriptAPI大眾版功能(gōngnéng)介紹工具類:提供經(jīng)緯度坐標(biāo)與屏幕坐標(biāo)互轉(zhuǎn)功能;開源庫里提供測距、幾何運(yùn)算及GPS坐標(biāo)/國測局坐標(biāo)轉(zhuǎn)百度坐標(biāo)等功能定位功能:支持IP定位及瀏覽器(支持html5特性瀏覽器)定位功能右鍵菜單:支持在地圖上添加右鍵菜單鼠標(biāo)交互(jiāohù):支持動態(tài)修改鼠標(biāo)樣式、鼠標(biāo)拖拽/縮放地圖及鼠標(biāo)繪制等功能圖層功能:支持重設(shè)地圖底圖、地圖上疊加實(shí)時交通圖層或自定義圖層功能給地圖添加右鍵菜單共五十五頁JavascriptAPI大眾版功能(gōngnéng)介紹本地搜索功能:包括根據(jù)城市、矩形范圍、圓形范圍等條件進(jìn)行POI搜索;且支持用戶自有數(shù)據(jù)的檢索公交檢索:支持起始點(diǎn)坐標(biāo)、起始點(diǎn)名稱、LocalSearchPoi實(shí)例(shílì)三種檢索條件的檢索;檢索結(jié)果支持便捷、可換乘、少步行、不乘地鐵四種方案駕車檢索:支持三種檢索條件的檢索;返回最短時間、最短距離、避開高速的駕車導(dǎo)航結(jié)果;且提供計(jì)算打車費(fèi)用服務(wù)本地搜索功能共五十五頁JavascriptAPI大眾版功能(gōngnéng)介紹步行導(dǎo)航:提供步行導(dǎo)航方案逆/地理編碼:支持百度坐標(biāo)與地址描述信息之間的轉(zhuǎn)換(zhuǎnhuàn)服務(wù)個性化數(shù)據(jù)展示功能:用戶自有數(shù)據(jù)存儲到LBS.云后,JavaScriptAPI可以提供以麻點(diǎn)圖形式展示自有數(shù)據(jù)功能逆/地理編碼共五十五頁JavascriptAPI大眾版開發(fā)(kāifā)指南<!DOCTYPEhtml>//準(zhǔn)備頁面<html><head><metaname="viewport"content="initial-scale=1.0,user-scalable=no"/>//添加meta標(biāo)簽,以便使頁面更好的在移動平臺上展示<metahttp-equiv="Content-Type"content="text/html;charset=utf-8“/>//注意此處的編碼方式百度地圖JavaScriptAPIv1.0開發(fā)指南<title>Hello,World</title>//網(wǎng)頁標(biāo)題<styletype="text/css">html{height:100%}body{height:100%;margin:0px;padding:0px}#container{height:100%}</style>//設(shè)置樣式,使地圖充滿(chōngmǎn)整個瀏覽器窗口<scripttype="text/javascript“src=/api?v=1.0</script></head><body><divid=“container”></div>//創(chuàng)建div元素//用來作為展示地圖的容器<scripttype="text/javascript">varmap=newBMap.Map("container");//創(chuàng)建地圖實(shí)例varpoint=newBMap.Point(116.404,39.915);//創(chuàng)建點(diǎn)坐標(biāo)map.centerAndZoom(point,15);//設(shè)置中心點(diǎn)坐標(biāo)和級別</script></body>1.百度地圖的“Hello,World”共五十五頁JavascriptAPI大眾版開發(fā)(kāifā)指南1.百度(bǎidù)地圖的“Hello,World”共五十五頁JavascriptAPI大眾版開發(fā)(kāifā)指南2.控件:
百度地圖上負(fù)責(zé)與地圖交互的UI元素稱為控件Control:控件的抽象基類,通過此類您可實(shí)現(xiàn)自定義控件NavigationControl:地圖平移縮放控件,它包含(bāohán)控制地圖的平移和縮放的功能OverviewMapControl:縮略地圖控件,默認(rèn)位于地圖右下方ScaleControl:比例尺控件,顯示地圖的比例關(guān)系MapTypeControl:地圖類型控件,默認(rèn)位于地圖右上方CopyrightControl:版權(quán)控件,默認(rèn)位于地圖左下方GeolocationControl:定位控件,針對移動端開發(fā)共五十五頁JavascriptAPI大眾版開發(fā)(kāifā)指南2.控件:使用Map.addControl()方法(fāngfǎ)向地圖添加控件:map.addControl(newBMap.NavigationControl());map.addControl(newBMap.ScaleControl());map.addControl(newBMap.OverviewMapControl());map.addControl(newBMap.MapTypeControl());map.setCurrentCity(“北京”);共五十五頁JavascriptAPI大眾版開發(fā)(kāifā)指南2.控件:共五十五頁JavascriptAPI大眾版開發(fā)(kāifā)指南自定義控件百度地圖(dìtú)API允許通過繼承Control來創(chuàng)建自定義地圖控件。步驟如下:定義一個自定義控件的構(gòu)造函數(shù)設(shè)置自定義控件構(gòu)造函數(shù)的prototype屬性為Control的實(shí)例,以便繼承控件基類實(shí)現(xiàn)initialize()方法并提供defaultAnchor和defaultOffset屬性共五十五頁JavascriptAPI大眾版開發(fā)(kāifā)指南functionZoomControl(){//定義一個控件類,即function
this.defaultAnchor=BMAP_ANCHOR_TOP_LEFT;this.defaultOffset=newBMap.Size(10,10);}ZoomCtotype=newBMap.Control();//通過prototype屬性繼承于BMap.Control//在本方法中創(chuàng)建個div元素作為控件的容器,并將其添加到地圖容器中ZoomCtotype.initialize=function(map){//實(shí)現(xiàn)initialize方法,將控件DOM元素返回vardiv=document.createElement(“div”);//創(chuàng)建一個DOM元素div.appendChild(document.createTextNode(“放大2級”));//
添加文字說明div.style.cursor=“pointer”;//設(shè)置樣式
div.style.border="1pxsolidgray";div.style.backgroundColor="white";div.onclick=function(e){map.zoomTo(map.getZoom()+2);}//綁定事件,點(diǎn)擊一次放大兩級map.getContainer().appendChild(div);//
添加DOM元素到地圖中returndiv;}//將DOM元素返回varmyZoomCtrl=newZoomControl();//創(chuàng)建控件實(shí)例(shílì)
map.addControl(myZoomCtrl);//添加到地圖當(dāng)中共五十五頁JavascriptAPI大眾版開發(fā)(kāifā)指南3.覆蓋類所有疊加或覆蓋到地圖的內(nèi)容,統(tǒng)稱為地圖覆蓋物。如標(biāo)注、矢量圖形元素(折線和多邊形和圓)、信息窗口等。Overlay:抽象基類,所有的覆蓋物均繼承此類的方法Marker:標(biāo)注表示地圖上的點(diǎn),可自定義標(biāo)注的圖標(biāo)Label:表示地圖上的文本標(biāo)注Polyline:表示地圖上的折線Polygon:表示地圖上的多邊形Circle:
表示地圖上的n圓InfoWindow:信息窗口展示更為豐富(fēngfù)的文字和多媒體信息共五十五頁JavascriptAPI大眾版開發(fā)(kāifā)指南3.覆蓋(fùgài)類使用map.addOverlay方法向地圖添加覆蓋物,使用map.removeOverlay方法移除覆蓋物varmarker=newBMap.Marker(point);//創(chuàng)建標(biāo)注
map.addOverlay(marker);//將標(biāo)注添加到地圖中varpolyline=newBMap.Polyline([newBMap.Point(116.399,39.910),newBMap.Point(116.405,39.920)],{strokeColor:"blue",strokeWeight:6,strokeOpacity:0.5});map.addOverlay(polyline);varopts={width:250,height:100,title:“Hello”};varinfoWindow=newBMap.InfoWindow(“World”,opts);//創(chuàng)建窗口
map.openInfoWindow(infoWindow,map.getCenter());//打開窗口
共五十五頁添加(tiānjiā)行政區(qū)劃共五十五頁JavascriptAPI大眾版開發(fā)(kāifā)指南4.事件(shìjiàn)瀏覽器中的JavaScript是“事件驅(qū)動的”,用戶的鼠標(biāo)和鍵盤交互可以創(chuàng)建在DOM內(nèi)傳播的事件。對某些事件感興趣的程序會為這些事件注冊JavaScript事件監(jiān)聽器,并在接收這些事件時執(zhí)行代碼。百度地圖API擁有一個自己的事件模型,可監(jiān)聽地圖API對象的自定義事件。共五十五頁JavascriptAPI大眾版開發(fā)(kāifā)指南百度地圖API可以通過addEventListener方法來監(jiān)聽對象事件該方法有兩個參數(shù):監(jiān)聽事件名稱和事件觸發(fā)時調(diào)用的函數(shù)
varmap=newBMap.Map("container");map.centerAndZoom(newBMap.Point(116.404,39.915),11);map.addEventListener("dragend",function(){
varcenter=map.getCenter();
alert("地圖中心點(diǎn)變更為:"+center.lng+","+center.lat);});當(dāng)不希望(xīwàng)監(jiān)聽事件時,removeEventListener
用來移除事件監(jiān)聽函數(shù)。4.事件共五十五頁JavascriptAPI大眾版開發(fā)(kāifā)指南5.地圖(dìtú)圖層地圖可以包含一個或多個圖層,如
TrafficLayer交通流量圖層通過map.addTileLayer方法可向地圖添加圖層
調(diào)用map.removeTileLayer方法從地圖上移除圖層
varmap=newBMap.Map(“l(fā)-map”);
//創(chuàng)建地圖實(shí)例varpoint=newBMap.Point(116.404,39.915);//創(chuàng)建點(diǎn)坐標(biāo)
map.centerAndZoom(point,15);//初始化地圖vartraffic=newBMap.TrafficLayer();//創(chuàng)建交通流量圖層實(shí)例map.addTileLayer(traffic);//將圖層添加到地圖上map.removeTileLayer(traffic);//將圖層移除共五十五頁JavascriptAPI大眾版開發(fā)(kāifā)指南6.工具(gōngjù)工具已經(jīng)制作成開源庫(lib)對外免費(fèi)開放,可直接訪問JavaScript開源庫。MarkerTool:標(biāo)注工具。用戶可在地圖任意區(qū)域添加標(biāo)注。MarkerClusterer:多標(biāo)注聚合器,解決加載大量點(diǎn)要素到地圖上造成緩慢。MarkerManager:標(biāo)注管理工具。此工具提供展示、隱藏、清除所有標(biāo)注。RichMarker:富標(biāo)注工具,為用戶提供自定義Marker樣式,并添加點(diǎn)擊、雙擊、拖拽等事件。共五十五頁JavascriptAPI大眾版開發(fā)(kāifā)指南6.工具varmap=newBMap.Map("container");map.centerAndZoom(newBMap.Point(116.404,39.915),15);varmyPushpin=newBMap.PushpinTool(map);//
創(chuàng)建(chuàngjiàn)標(biāo)注工具myPushpin.addEventListener("markend",function(e){alert("您標(biāo)注的位置:"+e.marker.getPoint().lng+","+e.marker.getPoint().lat);});myPushpin.open();
//
開啟標(biāo)注工具
共五十五頁JavascriptAPI大眾版開發(fā)(kāifā)指南6.工具(gōngjù)LuShu:路書,軌跡運(yùn)動工具,實(shí)現(xiàn)marker沿路線運(yùn)動。CityList:城市列表工具。AreaRestriction:區(qū)域限制工具。此工具為用戶提供百度地圖瀏覽區(qū)域限制設(shè)置。GeoUtils:幾何運(yùn)算工具,提供判斷點(diǎn)與矩形、圓形、多邊形線、多邊形面的關(guān)系,提供計(jì)算折線長度和多邊形面積的公式。TrafficControl:實(shí)時交通控件。此工具提供將交通流量圖層在地圖上的實(shí)時顯示,隱藏等。共五十五頁JavascriptAPI大眾版開發(fā)(kāifā)指南6.工具(gōngjù)DrawingManager:鼠標(biāo)繪制工具,用戶可以在地圖任意位置上畫點(diǎn)、畫線、畫面并顯示線的距離及面的面積EventWrapper:事件封裝工具,提供了人性化的事件使用方法TextIconOverlay:自定義覆蓋物工具,使用該工具在地圖上添加文字和圖標(biāo)樣式的覆蓋物SearchInRectangle:拉框縮放工具,實(shí)現(xiàn)三種拉框搜索效果SearchInfoWindow:“百度地圖樣式”的信息窗口工具,提供帶搜索框的信息窗口,該窗口內(nèi)容可自由定制多種風(fēng)格。SearchControl:檢索控件,針對移動端,提供城市列表選擇、本地檢索框、公交駕車查詢框。共五十五頁JavascriptAPI大眾版開發(fā)(kāifā)指南7.服務(wù)(fúwù)地圖服務(wù)是指那些提供數(shù)據(jù)信息的接口,比如本地搜索、路線規(guī)劃LocalSearch:本地搜索,提供某一特定地區(qū)的位置搜索服務(wù)TransitRoute:公交導(dǎo)航,提供公交出行方案的搜索服務(wù)DrivingRoute:駕車導(dǎo)航,提供駕車出行方案的搜索服務(wù)WalkingRoute:步行導(dǎo)航,提供步行出行方案的搜索服務(wù)Geocoder:地址解析,提供將地址信息轉(zhuǎn)換為坐標(biāo)點(diǎn)信息的服務(wù)LocalCity:本地城市,提供自動判斷您所在城市的服務(wù)TrafficControl:實(shí)時路況控件,提供實(shí)時和歷史路況信息服務(wù)共五十五頁JavascriptAPI大眾版開發(fā)(kāifā)指南7.服務(wù)(fúwù)LocalSearch需要設(shè)置一個檢索區(qū)域,可以是BMap.Map對象、BMap.Point對象或者是省市名稱(“北京市”)的字符串LocalSearch構(gòu)造函數(shù)的第二個參數(shù),BMap.RenderOptions類提供了若干控制呈現(xiàn)的屬性varmap=newBMap.Map("container");varlocal=newBMap.LocalSearch(map,{renderOptions:{map:map}});local.search("天安門");BMap.LocalSearch還提包含searchNearby和searchInBounds方法,提供周邊搜索和范圍搜索服務(wù)共五十五頁JavascriptAPI大眾版開發(fā)(kāifā)指南8.用戶(yònghù)數(shù)據(jù)圖層
百度地圖API可以將用戶上傳到LBS云里的位置數(shù)據(jù)實(shí)時渲染成圖層,然后通過CustomLayer對象疊加到地圖上。CustomLayer類提供讀取LBS云數(shù)據(jù)接口,并自動渲染用戶數(shù)據(jù)生成數(shù)據(jù)圖層,同時提供單擊疊加圖層返回poi數(shù)據(jù)的功能。共五十五頁JavascriptAPI大眾版開發(fā)(kāifā)指南9.全景圖展現(xiàn)(zhǎnxiàn)百度全景地圖提供沿著全景覆蓋城市指定道路、指定位置點(diǎn)360度的全景視圖,相比二維地圖全景圖更加真實(shí)、直觀百度LBS開放平臺通過JavaScriptAPI對外提供全景功能共五十五頁JavascriptAPI大眾版開發(fā)(kāifā)指南<divid="panorama"style="width:100%;height:100%"></div><scripttype="text/javascript">window.onload=function(){varpanorama=newBMap.Panorama('panorama');panorama.setPosition(newBMap.Point(120.320032,31.589666));panorama.setId('010001000013050112241601//5Z1');panorama.setPov({heading:-40,pitch:6});}</script>經(jīng)除緯度外,還可通過指定全景的id設(shè)置當(dāng)前顯示的全景視圖
heading和pitch兩個參數(shù)用于設(shè)置全景的視角,heading指攝像頭水平(shuǐpíng)方向(“搖頭”)的角度,正北方向?yàn)?,正東為90,正南為180,正西為270pitch指攝像頭的垂直方向(“點(diǎn)頭”)共五十五頁JavascriptAPI大眾版開發(fā)(kāifā)指南10.定制(dìnɡzhì)個性地圖定制個性地圖是支持用戶使用JavaScriptAPI設(shè)置地圖底圖的樣式風(fēng)格(展現(xiàn)顏色為普通、深色、淺色)以及控制組成地圖底圖的元素類的顯示和隱藏,創(chuàng)建滿足用戶特定需求的與眾不同的地圖,如通過隱藏某類地圖元素,突出展示自己的數(shù)據(jù)共五十五頁JavascriptAPI大眾版開發(fā)(kāifā)指南10.定制(dìnɡzhì)個性地圖共五十五頁主要(zhǔyào)內(nèi)容百度地圖API簡介LBS開發(fā)(kāifā)模式Web開發(fā)之JavascriptAPI大眾版開發(fā)JavascriptAPI開發(fā)綜合實(shí)例學(xué)習(xí)建議共五十五頁綜合(zōnghé)實(shí)例<div><p><inputid="startBtn"type="button"onclick="startTool();"value="開啟取點(diǎn)工具"/><inputtype="button"onclick="map.clearOverlays();document.getElementById('info').innerHTML='';document.getElementById('name').value='';points=[];key=1;document.getElementById('startBtn').style.background='red';document.getElementById('startBtn').value='關(guān)閉狀態(tài)';"value="清除(qīngchú)"/><inputtype="text"value="深圳"id="name"/><inputtype="button"id="btn"value="查找"onclick="startQuery();writeToTxt(document.getElementById('name').value+',')"/><inputtype="button"id="over"value="閉合多邊形"<!DOCTYPEhtml><html><head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/><title>獲取區(qū)域邊界坐標(biāo)</title><scripttype="text/javascript"src="/api?v=1.2"></script><scripttype="text/javascript"src="/library/GeoUtils/1.2/src/GeoUtils_min.js"></script></head><body><divstyle="weight:100px;height:450px;border:1pxsolidgray"id="container"></div>代碼
在實(shí)際地理應(yīng)用中,我們經(jīng)常需要對一面狀地物的邊界、面積等信息進(jìn)行分析,但是對一些小區(qū)域我們并不能直接從地圖上獲取該方面的信息,因此如何獲取某區(qū)域的邊界,顯得尤為重要。該實(shí)例就是綜合利用百度地圖API的相關(guān)控件,函數(shù)等進(jìn)行地物的有效查詢,并通過加載不同類型的地圖控件,對不同形式的地圖進(jìn)行比較獲取更為準(zhǔn)確的邊界范圍,最后調(diào)用相關(guān)函數(shù)獲取邊界坐標(biāo)信息共五十五頁綜合(zōnghé)實(shí)例<scripttype="text/javascript">varmap=newBMap.Map(“container”);//創(chuàng)建Map實(shí)例map.centerAndZoom("深圳",11);//初始化地圖,設(shè)置中心點(diǎn)坐標(biāo)(zuòbiāo)和地圖級別map.enableScrollWheelZoom();//使鼠標(biāo)滾輪可用varmapType1=newBMap.MapTypeControl({mapTypes:[BMAP_NORMAL_MAP,BMAP_HYBRID_MAP]});varmapType2=newBMap.MapTypeControl({anchor:BMAP_ANCHOR_TOP_LEFT});varoverView=newBMap.OverviewMapControl(); varoverViewOpen=newBMap.OverviewMapControl({isOpen:true,anchor:BMAP_ANCHOR_BOTTOM_RIGHT});
//添加地圖類型和縮略圖onclick="closePolyline();document.getElementById('startBtn').style.background='red';document.getElementById('startBtn').value='關(guān)閉狀態(tài)';key=1;"/><inputtype="button"value="添加地圖類型控件"onclick="add_control()"/><inputtype="button"value="刪除地圖類型控件"onclick="delete_control()"/></p></div><divid="info"></div></body></html>代碼共五十五頁綜合(zōnghé)實(shí)例//根據(jù)輸入的名稱進(jìn)行查詢,并顯示出來functionstartQuery(){varlocal=newBMap.LocalSearch(map,{renderOptions:{map:map},autoViewPoint:true});varname=document.getElementById("name").value;local.search(name);//查詢alert("查找完畢,請謹(jǐn)慎選擇!");}//打開txt文檔并將數(shù)據(jù)寫入functionwriteToTxt(s){//權(quán)限只讀(只讀=1,只寫=2,追加(zhuījiā)=8等權(quán)限)varForReading=1,ForAppending=8;varfso=newActiveXObject("Scripting.FileSystemObject");varaddss="C:\\Users\\Administrator\\Desktop\\區(qū)域坐標(biāo)\\坐標(biāo)(new).txt"Varf=fso.OpenTextFile(addss,ForAppending,false);f.Write(s);}//functionadd_control(){ map.addControl(mapType1);//2D圖,衛(wèi)星圖 map.addControl(mapType2);//左上角,默認(rèn)地圖控 map.setCurrentCity("北京");//由于有3D圖,需要設(shè)置城市哦 map.addControl(overView);//添加默認(rèn)縮略地圖控件 map.addControl(overViewOpen);//右下角,打開
}//移除地圖類型和縮略圖
functiondelete_control(){ map.removeControl(mapType1);//移除2D圖,衛(wèi)星圖
map.removeControl(mapType2); map.removeControl(overView); map.removeControl(overViewOpen);}//代碼共五十五頁綜合(zōnghé)實(shí)例map.addEventListener("click",function(e){//單擊地圖,形線覆蓋成折物
newpoint=newBMap.Point(e.point.lng,e.point.lat);if(key==0){points.push(newpoint);//將新增的點(diǎn)放到數(shù)組中
polyline.setPath(points);//設(shè)置折線的點(diǎn)數(shù)組
map.addOverlay(polyline);//將折線添加到地圖上
document.getElementById("info").innerHTML+=e.point.lng+","+e.point.lat+";"+"\n";//輸出數(shù)組里的經(jīng)緯度//調(diào)用writeToTxt()函數(shù),將數(shù)據(jù)(shùjù)寫入指定文檔中varcoor=e.point.lng+","+e.point.lat+";";writeToTxt(coor);alert("該點(diǎn)坐標(biāo)已寫入,請選擇下一個有效點(diǎn)!");}});varkey
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度出租車行業(yè)節(jié)能減排技術(shù)創(chuàng)新合同4篇
- 二零二五年度充電樁儲能系統(tǒng)設(shè)計(jì)與建設(shè)合同3篇
- 2025秀嶼區(qū)文印中心企業(yè)宣傳冊制作承包經(jīng)營合同3篇
- 2025版外墻瓷磚購銷及質(zhì)量檢測認(rèn)證合同3篇
- 二零二五年度家暴受害者離婚財產(chǎn)合理分配與子女權(quán)益保護(hù)合同
- 臨時土地使用租賃合同(2024版)
- 2025年度智能化煤炭采購合同書4篇
- 二零二五年度農(nóng)民工社會保險委托代繳服務(wù)協(xié)議
- 二零二五年度變壓器安裝與電網(wǎng)運(yùn)行維護(hù)合同6篇
- 2025年度美容院連鎖加盟經(jīng)營管理合同
- 2024年正定縣國資產(chǎn)控股運(yùn)營集團(tuán)限公司面向社會公開招聘工作人員高頻考題難、易錯點(diǎn)模擬試題(共500題)附帶答案詳解
- 智能衣服方案
- 李克勤紅日標(biāo)準(zhǔn)粵語注音歌詞
- 教科版六年級下冊科學(xué)第一單元《小小工程師》教材分析及全部教案(定稿;共7課時)
- 中藥材產(chǎn)地加工技術(shù)規(guī)程 第1部分:黃草烏
- 危險化學(xué)品經(jīng)營單位安全生產(chǎn)考試題庫
- 案例分析:美國紐約高樓防火設(shè)計(jì)課件
- 老客戶維護(hù)方案
- 移動商務(wù)內(nèi)容運(yùn)營(吳洪貴)任務(wù)一 用戶定位與選題
- 2021年高考化學(xué)真題和模擬題分類匯編專題20工業(yè)流程題含解析
- 工作證明模板下載免費(fèi)
評論
0/150
提交評論