偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

詳解百度地圖API之自定義地圖類型

開發(fā) 前端
本文將給大家介紹如何利用地圖API實現(xiàn)自定義地圖。百度地圖API目前默認支持兩種地圖類型(map type):普通圖和三維圖。

今天的文章主要介紹如何利用地圖API實現(xiàn)自定義地圖。

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

  切圖工具的使用

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

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

  啟動這個exe后會出現(xiàn)這個界面:

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

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

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

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

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

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

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

完成了:

  這時我們會發(fā)現(xiàn)桌面多了一個index.html和一個tiles文件夾。我們打開index.html會看到結(jié)果:

源代碼解析

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

  1.   <!DOCTYPE html> 
  2.   <html> 
  3.   <head> 
  4.   <title>自定義地圖類型</title> 
  5.   <meta http-equiv="Content-Type"content="text/html; charset=utf-8"/> 
  6.   <script type="text/javascript"src="http://api.map.baidu.com/api?v=1.2"></script> 
  7. </head> 
  8.   <body> 
  9.   <div id="map"style="width:800px;height:540px"></div> 
  10.   <script type="text/javascript"> 
  11.   vartileLayer =newBMap.TileLayer();  
  12.   tileLayer.getTilesUrl =function(tileCoord, zoom) {varx =tileCoord.x;vary =tileCoord.y;return'tiles/'+zoom +'/tile'+x +'_'+y +'.png';  
  13.   }varMyMap =newBMap.MapType('MyMap', tileLayer, {minZoom: 5, maxZoom: 10});varmap =newBMap.Map('map', {mapType: MyMap});  
  14.   map.addControl(newBMap.NavigationControl());  
  15.   map.centerAndZoom(newBMap.Point(0, 0), 10);</script> 
  16.   </body> 
  17.   </html> 

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

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

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

  如果大家有月球或火星的圖片,那么創(chuàng)建一個月球地圖或者火星地圖也就不是一件難事了。

原文鏈接:http://www.cnblogs.com/jz1108/archive/2011/10/08/2202239.html

【編輯推薦】

  1. 詳解百度地圖API之地圖標注
  2. 百度地圖API之如何制作駕車導航
  3. 架構(gòu)師 如何從夢想變成現(xiàn)實?
  4. 談?wù)剬τ谄髽I(yè)級系統(tǒng)架構(gòu)的理解
  5. 怎么成為一個軟件架構(gòu)師
責任編輯:彭凡 來源: 博客園
相關(guān)推薦

2011-09-29 11:00:54

百度地圖API

2011-09-26 10:05:19

百度地圖API

2011-09-16 10:37:42

地圖API

2011-10-21 09:11:41

百度地圖API

2011-10-24 14:01:29

API

2011-09-16 14:39:02

百度地圖API

2011-10-21 10:16:25

百度地圖API

2011-10-21 09:28:25

百度地圖API

2013-04-08 14:59:54

Android學習筆記百度地圖Overlay

2021-06-15 14:33:00

高德百度騰訊

2012-02-01 09:33:36

百度地圖API

2022-03-27 10:04:23

Angular8項目vue

2013-04-08 14:46:42

Android學習筆記百度地圖

2011-05-25 14:36:17

2012-02-03 14:01:15

地圖

2011-12-29 16:18:14

API

2020-12-11 22:02:00

百度地圖Apollo

2020-11-26 15:09:49

數(shù)據(jù)安全百度地圖機器學習

2010-09-03 09:28:30

2012-03-08 14:20:05

HTML 5
點贊
收藏

51CTO技術(shù)棧公眾號