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

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

        切圖工具的使用

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

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

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

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

        點擊下一步后需要設置輸出的目錄,這里我們直接選擇桌面:

        繼續下一步,這里要設置輸出類型,我們使用默認值,即圖塊和相關代碼都由工具生成:

        坐標設置我們使用默認值,即圖片的中心點所在的位置。由于我們制作的是獨立的地圖類型,所以中心點設置為0, 0即可。

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

        設置地圖類型的名稱:

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

        完成了:

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


        源代碼解析

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

        復制代碼
        <!DOCTYPE html> <html> <head> <title>自定義地圖類型</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="http://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>
        復制代碼

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

        下面代碼創建一個MapType實例,第一個參數為地圖類型的名字,第二個參數為地圖類型所對應的圖層,這里我們直接傳遞之前創建的TileLayer實例,后面是一些可選的配置參數,這里指定了最小級別和最大級別。

        后面的代碼就很簡單了,創建map實例,并通過配置參數指定地圖類型為MyMap。




        上一條: 長沙新建網站推廣不可取的八種方式
        下一條: 湖南網站建設與長沙網站運營的關系
        案例鑒賞
        多年的網站建設經驗,斌網網絡不斷提升技術設計服務水平,迎合搜索引擎優化規則
        做小程序開發
        多年的網站建設經驗,網至普不斷提升技術設計服務水平,迎合搜索引擎優化規則
        長沙私人做網站    長沙做網站    深圳網站建設    株洲做網站    東莞做網站    南京防腐木    湖南大拇指養豬設備    株洲做網站    
        版權所有 © 長沙市天心區斌網網絡技術服務部    湘公網安備 43010302000270號  統一社會信用代碼:92430103MA4LAMB24R  網站ICP備案號:湘ICP備13006070號-2  
        午夜无码A级毛片免费视频| 久久亚洲AV无码精品色午夜麻豆 | 亚洲中文精品久久久久久不卡| 亚洲一日韩欧美中文字幕欧美日韩在线精品一区二 | 国产a v无码专区亚洲av| 熟妇人妻中文字幕无码老熟妇| 中文无码制服丝袜人妻av| 人妻少妇精品无码专区动漫| 亚洲av午夜国产精品无码中文字| 久久精品无码午夜福利理论片| 天堂新版8中文在线8| 国产白丝无码免费视频| 我的小后妈中文翻译| 蜜桃视频无码区在线观看| 永久免费av无码网站yy| 亚洲av中文无码乱人伦在线咪咕| 亚洲AV人无码综合在线观看| √天堂中文官网在线| 国模无码一区二区三区不卡| 中文字幕久久亚洲一区| 中文人妻无码一区二区三区 | 亚洲一区二区中文| 久久99久久无码毛片一区二区 | 在线播放无码后入内射少妇| 日韩成人无码中文字幕 | 一本加勒比hezyo无码专区| 久久精品中文字幕无码绿巨人| 国产精品一级毛片无码视频| 亚洲精品色午夜无码专区日韩 | 亚洲一区爱区精品无码| 最近更新2019中文字幕| 中文字幕无码av激情不卡久久| 国产办公室秘书无码精品99| 亚洲级αV无码毛片久久精品| 亚洲视频中文字幕| 亚洲国产精彩中文乱码AV| 国模吧无码一区二区三区| 国模GOGO无码人体啪啪| 亚洲Aⅴ无码专区在线观看q| 一本加勒比HEZYO无码资源网| 中文字幕亚洲综合久久菠萝蜜|