曰本视频网络www色_亚洲国产成a人v在线观看_色综合综合色综合色综合_欧美乱大交xxxxx疯狂俱乐部

企業與個人網絡營銷一站式服務商
網站建設 / SEO優化排名 / 小程序開發 / OA
0731-88571521
136-3748-2004
怎么給做的網站加入地圖 百度地圖API詳解之自定義地圖類型
信息來源:長沙做網站   發布時間:2013-4-4   瀏覽:

百度地圖(tu)(tu)API目(mu)前默認支持兩種地圖(tu)(tu)類型(map type):普通(tong)圖(tu)(tu)和三(san)維圖(tu)(tu),它們(men)分別(bie)通(tong)過常量BMAP_NORMAL_MAP和BMAP_PERSPECTIVE_MAP來表(biao)示,在1.2版(ban)本(ben)中(zhong)這兩個常量實(shi)(shi)際上(shang)是(shi)MapType對象的(de)實(shi)(shi)例。當然開(kai)發(fa)者也可以(yi)自(zi)己實(shi)(shi)例化一個MapType從而(er)實(shi)(shi)現一個自(zi)定義的(de)地圖(tu)(tu)。

切圖工具的使用

我們先從切圖工(gong)具(ju)(ju)的使(shi)用(yong)開始(shi),接著再分析該工(gong)具(ju)(ju)產生的代碼來詳細了(le)解(jie)自定義地圖的方法。切圖工(gong)具(ju)(ju)放在了(le)github上,具(ju)(ju)體地址(zhi)為://github.com/jiazheng/BaiduMapTileCutter,進入后請(qing)下載(zai)TileCutter.exe:

注(zhu)意(yi),該工具是基于.NET平臺開發的,所(suo)以要求有.NET Framework 4 以上的版本(ben)。

啟動這個exe后會出現這個界面:

首先我們要做的就(jiu)是選擇(ze)一張圖(tu)片作為地(di)圖(tu)的底圖(tu)(圖(tu)片下載自這(zhe)里):

點擊下一步后需(xu)要設置輸出(chu)的(de)目(mu)錄,這里我們(men)直接選擇桌面:

繼(ji)續下一步,這里要(yao)設置輸出類(lei)型,我們使用默(mo)認值(zhi),即圖塊(kuai)和相關(guan)代(dai)碼都由工具(ju)生(sheng)成:

坐標(biao)設置我們使用默認(ren)值,即(ji)圖片(pian)的(de)中心點所在(zai)的(de)位(wei)置。由于我們制(zhi)作的(de)是獨立的(de)地(di)圖類型,所以(yi)中心點設置為0, 0即(ji)可。

級(ji)別范圍(wei)設置(zhi):我們使用自定(ding)義(yi),將(jiang)范圍(wei)設置(zhi)為(wei)5到(dao)10級(ji),原圖(tu)(tu)放置(zhi)在第10級(ji),這樣(yang)5到(dao)9級(ji)工(gong)具(ju)就會自動縮小圖(tu)(tu)片。建議(yi)原圖(tu)(tu)所(suo)在級(ji)別與最大級(ji)別一致,否則高(gao)于原圖(tu)(tu)所(suo)在級(ji)別的時候圖(tu)(tu)片會發虛(因為(wei)工(gong)具(ju)會將(jiang)圖(tu)(tu)片進行(xing)放大處理)。

設置地圖類型的名(ming)稱:

一切就緒(xu),最后可以(yi)確認所有的(de)信息(xi)是否正確。然后就可以(yi)點擊“開始(shi)切圖”了。

完成了:

這時我們會發現桌面多了一個index.html和一個tiles文件夾。我們打開index.html會看到結果:


源代碼解析

現在再來看看這個頁面的代碼部分(fen):

復制代碼
<!DOCTYPE html> <html> <head> <title>自定義地圖類型</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="//api.map.baidu.com/api?v=1.2"></script> </head> <body> <div id="map" style="width:800px;height:540px"></div> <script type="text/javascript"> var tileLayer = new BMap.TileLayer();
tileLayer.getTilesUrl = function(tileCoord, zoom) {
    var x = tileCoord.x;
    var y = tileCoord.y;
    return 'tiles/' + zoom + '/tile' + x + '_' + y + '.png';
}var MyMap = new BMap.MapType('MyMap', tileLayer, {minZoom: 5, maxZoom: 10});var map = new BMap.Map('map', {mapType: MyMap});
map.addControl(new BMap.NavigationControl());
map.centerAndZoom(new BMap.Point(0, 0), 10);</script> </body> </html>
復制代碼

代碼先創建(jian)了一個TileLayer實(shi)例,它代表一個圖(tu)(tu)(tu)層,接著(zhu)實(shi)現getTilesUrl方(fang)法提供圖(tu)(tu)(tu)片的路徑。getTilesUrl方(fang)法由API在鋪圖(tu)(tu)(tu)的時候進(jin)行調(diao)用,調(diao)用時會(hui)提供圖(tu)(tu)(tu)塊(kuai)編(bian)號和(he)級別(bie)信息,開(kai)發者要做的就是根據圖(tu)(tu)(tu)塊(kuai)編(bian)號和(he)級別(bie)信息返回正確圖(tu)(tu)(tu)片地址(有關坐標和(he)圖(tu)(tu)(tu)塊(kuai)編(bian)號的內容可(ke)以(yi)閱讀此文)。

下(xia)面(mian)代碼創(chuang)建一(yi)個MapType實例,第一(yi)個參數(shu)為(wei)地(di)圖類型(xing)的(de)名(ming)字,第二個參數(shu)為(wei)地(di)圖類型(xing)所對(dui)應的(de)圖層,這里我們(men)直接傳遞之前創(chuang)建的(de)TileLayer實例,后(hou)面(mian)是(shi)一(yi)些(xie)可選的(de)配置參數(shu),這里指定(ding)了最小級(ji)別和(he)最大級(ji)別。

后(hou)面的代碼(ma)就很簡單了(le),創建map實例(li),并通(tong)過(guo)配置參數指(zhi)定地圖類(lei)型為(wei)MyMap。




上一條: 長沙新建網站推廣不可取的八種方式
下一條: 湖南網站建設與長沙網站運營的關系
案例鑒賞
多年(nian)的(de)網站建(jian)設經(jing)驗,斌網網絡(luo)不斷提升(sheng)技術(shu)設計服務(wu)水平,迎合搜(sou)索引擎優(you)化規則
做小程序開發
多年(nian)的網站建(jian)設經驗,網至普不斷提升技術設計服務(wu)水平,迎(ying)合(he)搜索引(yin)擎優化(hua)規(gui)則
長沙私人做網站            株洲做網站    東莞做網站                
版權所有 © 長沙市天心區斌網網絡技術服務部     統一社會信用代碼:92430103MA4LAMB24R