深入淺出百度地圖API開發系列(2):創建地圖


   上一篇文章里,先介紹了一下百度地圖API開發所涉及到的一些基礎概念,包括投影,坐標系等基礎概念,再有了這些基礎后,我們可以開始開發自己的web地圖了。先來個代碼示例(建議大家都是用百度地圖API大眾版2.0。大眾版2.0對移動端的適配也進行了優化)

 1 <!DOCTYPE html>
 2 <html>
 3 
 4 <head>
 5     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 6     <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
 7     <title>Map Coordinate</title>
 8     <style type="text/css">
 9     /*<![CDATA[*/
10 
11     html {
12         height: 100%;
13     }
14     body {
15         height: 100%;
16         margin: 0px;
17         padding: 0px;
18     }
19     #map_container {
20         height: 100%;
21     }
22     /*]]>*/
23     </style>
24 
25 </head>
26 
27 <body>
28     <div id="map_container"></div>
29 </body>
30 <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=wWy2A8K94nhntYTYUHS19RXW"></script>
31 <script type="text/javascript">
32 var mp = new BMap.Map('map_container', {
33     enableHighResolution: true
34 });
35 mp.centerAndZoom('北京', 15);
36 </script>
37 
38 </html>

     上面的代碼非常簡單,首先定義個一定大小的div,然后將div的id傳入BMap.Map類生成map示例。最后map示例調用centerAndZoom設置地圖中心點和縮放級別,設置完之后就可以顯示一幅地圖了,最簡單的地圖展示就完成。new一個Map實例的時候,第二個參數可以傳入一些配置屬性,上面的例子中就是開啟了高清圖配置。這樣在Mac的高清屏下會加載高清圖。當然默認值也是true,開啟高清圖的,所以不設置enableHighResolution也沒關系。最后centerAndZoom的時候第一個參數可以是一個BMap.Point對象,也可以是一個字符串,字符串必需是一個地址名,如果傳入的是字符串地址,API內部會首先拿這個地址名去調用后台服務獲取地址名相關的屬性,包括了地址所屬區域的中心點坐標和一些附屬信息。整個過程是異步獲取的。所以相對於直接傳入Point對象,字符串參數會多一次網絡請求,當然整個的出圖時間也就相對慢一些。

  還需要注意的是,如果開發者需要使用百度地圖api, ak這個東西是必須的,上面例子中的ak也是我在百度地圖上面申請的,如果沒有ak的話,使用地圖API百度鑒權的時候是不能通過的,也就無法使用地圖API的服務,申請ak的地址:申請ak. 申請ak的時候選擇應用類型是瀏覽器端,勾選上Javascript API。 下面白名單表示你想對這個ak的使用地方進行限制,比如你只想這個ak在*.mysite.com 這樣的域名下使用,那你就把*.mysite.com加入到refer白名單中,那么所有其他不屬於這個refer的網站使用你的ak也是鑒權不通過的,如果你什么都不填,就無任何限制。申請ak如下圖:

 

結語:所以說使用百度地圖API非常簡單,首先申請ak,按照ak去加載api腳本文件,http://api.map.baidu.com/api?v=2.0&ak=****。獲取文件之后通過BMap.Map類生成相應的map對象,因為百度地圖API中map對象是接管一切的,很多方法都是通過map對象去執行的。所以使用也非常簡單。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM